Move DSA test in ca.c inside #ifdef and make pubkey BIT STRING always have
[oweals/openssl.git] / crypto / evp / p_open.c
index 46434051ae930ba21fb0086f9c96bfea8b8bc132..28a8e022524b4b4dec54fc0b68c3e95cfb66f3d3 100644 (file)
@@ -1,5 +1,5 @@
 /* crypto/evp/p_open.c */
-/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
  * This package is an SSL implementation written
@@ -75,7 +75,7 @@ EVP_PKEY *priv;
        
        if (priv->type != EVP_PKEY_RSA)
                {
-                EVPerr(EVP_F_EVP_OPENINIT,EVP_R_PUBLIC_KEY_NOT_RSA);
+               EVPerr(EVP_F_EVP_OPENINIT,EVP_R_PUBLIC_KEY_NOT_RSA);
                ret= -1;
                goto err;
                 }
@@ -90,13 +90,14 @@ EVP_PKEY *priv;
                goto err;
                }
 
-       i=RSA_private_decrypt(ekl,ek,key,priv->pkey.rsa,RSA_PKCS1_PADDING);
+       i=EVP_PKEY_decrypt(key,ek,ekl,priv);
        if (i != type->key_len)
                {
                /* ERROR */
                goto err;
                }
 
+       EVP_CIPHER_CTX_init(ctx);
        EVP_DecryptInit(ctx,type,key,iv);
        ret=1;
 err: