提交 ce8b2574 编写于 作者: D Dr. Stephen Henson

New functions to allow RSA_METHODs to be changed without poking round in

RSA structure internals.
上级 e3718280
......@@ -4,6 +4,11 @@
Changes between 0.9.3a and 0.9.4
*) New functions RSA_get_default_method(), RSA_set_method() and
RSA_get_method(). These allows replacement of RSA_METHODs without having
to mess around with the internals of an RSA structure.
[Steve Henson]
*) Fix memory leaks in DSA_do_sign and DSA_is_prime.
Also really enable memory leak checks in openssl.c and in some
test programs.
......
......@@ -161,6 +161,9 @@ void RSA_free (RSA *r);
int RSA_flags(RSA *r);
void RSA_set_default_method(RSA_METHOD *meth);
RSA_METHOD *RSA_get_default_method(void);
RSA_METHOD *RSA_get_method(RSA *rsa);
RSA_METHOD *RSA_set_method(RSA *rsa, RSA_METHOD *meth);
/* This function needs the memory locking malloc callbacks to be installed */
int RSA_memory_lock(RSA *r);
......
......@@ -79,6 +79,26 @@ void RSA_set_default_method(RSA_METHOD *meth)
default_RSA_meth=meth;
}
RSA_METHOD *RSA_get_default_method(void)
{
return default_RSA_meth;
}
RSA_METHOD *RSA_get_method(RSA *rsa)
{
return rsa->meth;
}
RSA_METHOD *RSA_set_method(RSA *rsa, RSA_METHOD *meth)
{
RSA_METHOD *mtmp;
mtmp = rsa->meth;
if (mtmp->finish) mtmp->finish(rsa);
rsa->meth = meth;
if (meth->init) meth->init(rsa);
return mtmp;
}
RSA *RSA_new_method(RSA_METHOD *meth)
{
RSA *ret;
......
......@@ -1818,3 +1818,6 @@ sk_ASN1_OBJECT_insert 1842
sk_ASN1_OBJECT_push 1843
d2i_ASN1_SET_OF_ASN1_OBJECT 1844
PKCS7_signatureVerify 1845
RSA_set_method 1846
RSA_get_method 1847
RSA_get_default_method 1848
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册