from ctypescrypto.exception import LibCryptoError,clear_err_stack
from ctypescrypto.bio import Membio
import sys
+
+__all__ = ['PKeyError','password_callback','PKey']
class PKeyError(LibCryptoError):
pass
_cb=CALLBACK_FUNC(password_callback)
-class PKey:
+class PKey(object):
def __init__(self,ptr=None,privkey=None,pubkey=None,format="PEM",cansign=False,password=None):
if not ptr is None:
self.key=ptr
continue
rv=libcrypto.EVP_PKEY_CTX_ctrl_str(ctx,oper,str(opts[oper]))
if rv==-2:
- raise PKeyError("Parameter %s is not supported by key"%(oper))
+ raise PKeyError("Parameter %s is not supported by key"%(oper,))
if rv<1:
- raise PKeyError("Error setting parameter %s"(oper))
+ raise PKeyError("Error setting parameter %s"%(oper,))
# Declare function prototypes
libcrypto.EVP_PKEY_cmp.argtypes=(c_void_p,c_void_p)
libcrypto.PEM_read_bio_PrivateKey.restype=c_void_p