self.key=ptr
self.cansign=cansign
if not privkey is None or not pubkey is None:
- raise TypeError("Just one of pubkey or privkey can be specified")
+ raise TypeError("Just one of ptr, pubkey or privkey can be specified")
elif not privkey is None:
if not pubkey is None:
- raise TypeError("Just one of pubkey or privkey can be specified")
+ raise TypeError("Just one of ptr, pubkey or privkey can be specified")
b=Membio(privkey)
self.cansign=True
if format == "PEM":
rsa_keygen_bits=number - size of key to be generated
rsa_keygen_pubexp - RSA public expontent(default 65537)
- Algorithn specific parameters for DSA,DH and EC
+ Algorithm specific parameters for DSA,DH and EC
paramsfrom=PKey object
clear_err_stack()
pkey_id=c_int(0)
libcrypto.EVP_PKEY_asn1_get0_info(byref(pkey_id),None,None,None,None,ameth)
- libcrypto.ENGINE_finish(tmpeng)
+ #libcrypto.ENGINE_finish(tmpeng)
if "paramsfrom" in kwargs:
ctx=libcrypto.EVP_PKEY_CTX_new(kwargs["paramsfrom"].key,None)
else:
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
libcrypto.PEM_write_bio_PUBKEY.argtypes=(c_void_p,c_void_p)
libcrypto.i2d_PUBKEY_bio.argtypes=(c_void_p,c_void_p)
libcrypto.i2d_PrivateKey_bio.argtypes=(c_void_p,c_void_p)
+libcrypto.ENGINE_finish.argtypes=(c_void_p,)