diff options
Diffstat (limited to 'src/lib/libcrypto/evp/p_enc.c')
| -rw-r--r-- | src/lib/libcrypto/evp/p_enc.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/lib/libcrypto/evp/p_enc.c b/src/lib/libcrypto/evp/p_enc.c index a26bfad02a..656883b996 100644 --- a/src/lib/libcrypto/evp/p_enc.c +++ b/src/lib/libcrypto/evp/p_enc.c | |||
| @@ -58,26 +58,29 @@ | |||
| 58 | 58 | ||
| 59 | #include <stdio.h> | 59 | #include <stdio.h> |
| 60 | #include "cryptlib.h" | 60 | #include "cryptlib.h" |
| 61 | #include "rand.h" | 61 | #include <openssl/rand.h> |
| 62 | #include "rsa.h" | 62 | #ifndef OPENSSL_NO_RSA |
| 63 | #include "evp.h" | 63 | #include <openssl/rsa.h> |
| 64 | #include "objects.h" | 64 | #endif |
| 65 | #include "x509.h" | 65 | #include <openssl/evp.h> |
| 66 | #include <openssl/objects.h> | ||
| 67 | #include <openssl/x509.h> | ||
| 66 | 68 | ||
| 67 | int EVP_PKEY_encrypt(ek,key,key_len,pubk) | 69 | int EVP_PKEY_encrypt(unsigned char *ek, unsigned char *key, int key_len, |
| 68 | unsigned char *ek; | 70 | EVP_PKEY *pubk) |
| 69 | unsigned char *key; | ||
| 70 | int key_len; | ||
| 71 | EVP_PKEY *pubk; | ||
| 72 | { | 71 | { |
| 73 | int ret=0; | 72 | int ret=0; |
| 74 | 73 | ||
| 74 | #ifndef OPENSSL_NO_RSA | ||
| 75 | if (pubk->type != EVP_PKEY_RSA) | 75 | if (pubk->type != EVP_PKEY_RSA) |
| 76 | { | 76 | { |
| 77 | #endif | ||
| 77 | EVPerr(EVP_F_EVP_PKEY_ENCRYPT,EVP_R_PUBLIC_KEY_NOT_RSA); | 78 | EVPerr(EVP_F_EVP_PKEY_ENCRYPT,EVP_R_PUBLIC_KEY_NOT_RSA); |
| 79 | #ifndef OPENSSL_NO_RSA | ||
| 78 | goto err; | 80 | goto err; |
| 79 | } | 81 | } |
| 80 | ret=RSA_public_encrypt(key_len,key,ek,pubk->pkey.rsa,RSA_PKCS1_PADDING); | 82 | ret=RSA_public_encrypt(key_len,key,ek,pubk->pkey.rsa,RSA_PKCS1_PADDING); |
| 81 | err: | 83 | err: |
| 84 | #endif | ||
| 82 | return(ret); | 85 | return(ret); |
| 83 | } | 86 | } |
