diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/a_verify.c')
-rw-r--r-- | src/lib/libcrypto/asn1/a_verify.c | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/src/lib/libcrypto/asn1/a_verify.c b/src/lib/libcrypto/asn1/a_verify.c index fc84cd3d19..5eb47d768c 100644 --- a/src/lib/libcrypto/asn1/a_verify.c +++ b/src/lib/libcrypto/asn1/a_verify.c | |||
@@ -72,65 +72,6 @@ | |||
72 | #include <openssl/buffer.h> | 72 | #include <openssl/buffer.h> |
73 | #include <openssl/evp.h> | 73 | #include <openssl/evp.h> |
74 | 74 | ||
75 | #ifndef NO_ASN1_OLD | ||
76 | |||
77 | int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *a, ASN1_BIT_STRING *signature, | ||
78 | char *data, EVP_PKEY *pkey) | ||
79 | { | ||
80 | EVP_MD_CTX ctx; | ||
81 | const EVP_MD *type; | ||
82 | unsigned char *p,*buf_in=NULL; | ||
83 | int ret= -1,i,inl; | ||
84 | |||
85 | EVP_MD_CTX_init(&ctx); | ||
86 | i=OBJ_obj2nid(a->algorithm); | ||
87 | type=EVP_get_digestbyname(OBJ_nid2sn(i)); | ||
88 | if (type == NULL) | ||
89 | { | ||
90 | ASN1err(ASN1_F_ASN1_VERIFY,ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM); | ||
91 | goto err; | ||
92 | } | ||
93 | |||
94 | inl=i2d(data,NULL); | ||
95 | buf_in=OPENSSL_malloc((unsigned int)inl); | ||
96 | if (buf_in == NULL) | ||
97 | { | ||
98 | ASN1err(ASN1_F_ASN1_VERIFY,ERR_R_MALLOC_FAILURE); | ||
99 | goto err; | ||
100 | } | ||
101 | p=buf_in; | ||
102 | |||
103 | i2d(data,&p); | ||
104 | if (!EVP_VerifyInit_ex(&ctx,type, NULL) | ||
105 | || !EVP_VerifyUpdate(&ctx,(unsigned char *)buf_in,inl)) | ||
106 | { | ||
107 | ASN1err(ASN1_F_ASN1_VERIFY,ERR_R_EVP_LIB); | ||
108 | ret=0; | ||
109 | goto err; | ||
110 | } | ||
111 | |||
112 | OPENSSL_cleanse(buf_in,(unsigned int)inl); | ||
113 | OPENSSL_free(buf_in); | ||
114 | |||
115 | if (EVP_VerifyFinal(&ctx,(unsigned char *)signature->data, | ||
116 | (unsigned int)signature->length,pkey) <= 0) | ||
117 | { | ||
118 | ASN1err(ASN1_F_ASN1_VERIFY,ERR_R_EVP_LIB); | ||
119 | ret=0; | ||
120 | goto err; | ||
121 | } | ||
122 | /* we don't need to zero the 'ctx' because we just checked | ||
123 | * public information */ | ||
124 | /* memset(&ctx,0,sizeof(ctx)); */ | ||
125 | ret=1; | ||
126 | err: | ||
127 | EVP_MD_CTX_cleanup(&ctx); | ||
128 | return(ret); | ||
129 | } | ||
130 | |||
131 | #endif | ||
132 | |||
133 | |||
134 | int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a, | 75 | int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a, |
135 | ASN1_BIT_STRING *signature, void *asn, EVP_PKEY *pkey) | 76 | ASN1_BIT_STRING *signature, void *asn, EVP_PKEY *pkey) |
136 | { | 77 | { |