Fix for d2i_ASN1_bytes and stop PKCS#7 routines crashing is signed message
[oweals/openssl.git] / crypto / rsa / rsa_lib.c
index 1ac1331fa4def3b74168991bfb68eab278edb1b4..7997da280bc79b2f66dbf91a848019d091aec8f6 100644 (file)
@@ -79,16 +79,40 @@ 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;
 
        if (default_RSA_meth == NULL)
                {
+#ifdef RSA_NULL
+               default_RSA_meth=RSA_null_method();
+#else
 #ifdef RSAref
                default_RSA_meth=RSA_PKCS1_RSAref();
 #else
                default_RSA_meth=RSA_PKCS1_SSLeay();
+#endif
 #endif
                }
        ret=(RSA *)Malloc(sizeof(RSA));