diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/n_pkey.c')
| -rw-r--r-- | src/lib/libcrypto/asn1/n_pkey.c | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/src/lib/libcrypto/asn1/n_pkey.c b/src/lib/libcrypto/asn1/n_pkey.c index a59640582e..0a378759f9 100644 --- a/src/lib/libcrypto/asn1/n_pkey.c +++ b/src/lib/libcrypto/asn1/n_pkey.c | |||
| @@ -159,8 +159,7 @@ int i2d_RSA_NET(const RSA *a, unsigned char **pp, | |||
| 159 | if ((enckey->enckey->algor->parameter=ASN1_TYPE_new()) == NULL) goto err; | 159 | if ((enckey->enckey->algor->parameter=ASN1_TYPE_new()) == NULL) goto err; |
| 160 | enckey->enckey->algor->parameter->type=V_ASN1_NULL; | 160 | enckey->enckey->algor->parameter->type=V_ASN1_NULL; |
| 161 | 161 | ||
| 162 | if (pp == NULL) | 162 | if (pp == NULL) { |
| 163 | { | ||
| 164 | olen = i2d_NETSCAPE_ENCRYPTED_PKEY(enckey, NULL); | 163 | olen = i2d_NETSCAPE_ENCRYPTED_PKEY(enckey, NULL); |
| 165 | NETSCAPE_PKEY_free(pkey); | 164 | NETSCAPE_PKEY_free(pkey); |
| 166 | NETSCAPE_ENCRYPTED_PKEY_free(enckey); | 165 | NETSCAPE_ENCRYPTED_PKEY_free(enckey); |
| @@ -169,8 +168,7 @@ int i2d_RSA_NET(const RSA *a, unsigned char **pp, | |||
| 169 | 168 | ||
| 170 | 169 | ||
| 171 | /* Since its RC4 encrypted length is actual length */ | 170 | /* Since its RC4 encrypted length is actual length */ |
| 172 | if ((zz=(unsigned char *)malloc(rsalen)) == NULL) | 171 | if ((zz=(unsigned char *)malloc(rsalen)) == NULL) { |
| 173 | { | ||
| 174 | ASN1err(ASN1_F_I2D_RSA_NET,ERR_R_MALLOC_FAILURE); | 172 | ASN1err(ASN1_F_I2D_RSA_NET,ERR_R_MALLOC_FAILURE); |
| 175 | goto err; | 173 | goto err; |
| 176 | } | 174 | } |
| @@ -179,14 +177,12 @@ int i2d_RSA_NET(const RSA *a, unsigned char **pp, | |||
| 179 | /* Write out private key encoding */ | 177 | /* Write out private key encoding */ |
| 180 | i2d_RSAPrivateKey(a,&zz); | 178 | i2d_RSAPrivateKey(a,&zz); |
| 181 | 179 | ||
| 182 | if ((zz=malloc(pkeylen)) == NULL) | 180 | if ((zz=malloc(pkeylen)) == NULL) { |
| 183 | { | ||
| 184 | ASN1err(ASN1_F_I2D_RSA_NET,ERR_R_MALLOC_FAILURE); | 181 | ASN1err(ASN1_F_I2D_RSA_NET,ERR_R_MALLOC_FAILURE); |
| 185 | goto err; | 182 | goto err; |
| 186 | } | 183 | } |
| 187 | 184 | ||
| 188 | if (!ASN1_STRING_set(enckey->os, "private-key", -1)) | 185 | if (!ASN1_STRING_set(enckey->os, "private-key", -1)) { |
| 189 | { | ||
| 190 | ASN1err(ASN1_F_I2D_RSA_NET,ERR_R_MALLOC_FAILURE); | 186 | ASN1err(ASN1_F_I2D_RSA_NET,ERR_R_MALLOC_FAILURE); |
| 191 | goto err; | 187 | goto err; |
| 192 | } | 188 | } |
| @@ -199,8 +195,7 @@ int i2d_RSA_NET(const RSA *a, unsigned char **pp, | |||
| 199 | if (cb == NULL) | 195 | if (cb == NULL) |
| 200 | cb=EVP_read_pw_string; | 196 | cb=EVP_read_pw_string; |
| 201 | i=cb((char *)buf,256,"Enter Private Key password:",1); | 197 | i=cb((char *)buf,256,"Enter Private Key password:",1); |
| 202 | if (i != 0) | 198 | if (i != 0) { |
| 203 | { | ||
| 204 | ASN1err(ASN1_F_I2D_RSA_NET,ASN1_R_BAD_PASSWORD_READ); | 199 | ASN1err(ASN1_F_I2D_RSA_NET,ASN1_R_BAD_PASSWORD_READ); |
| 205 | goto err; | 200 | goto err; |
| 206 | } | 201 | } |
| @@ -259,14 +254,12 @@ RSA *d2i_RSA_NET(RSA **a, const unsigned char **pp, long length, | |||
| 259 | } | 254 | } |
| 260 | 255 | ||
| 261 | if ((enckey->os->length != 11) || (strncmp("private-key", | 256 | if ((enckey->os->length != 11) || (strncmp("private-key", |
| 262 | (char *)enckey->os->data,11) != 0)) | 257 | (char *)enckey->os->data,11) != 0)) { |
| 263 | { | ||
| 264 | ASN1err(ASN1_F_D2I_RSA_NET,ASN1_R_PRIVATE_KEY_HEADER_MISSING); | 258 | ASN1err(ASN1_F_D2I_RSA_NET,ASN1_R_PRIVATE_KEY_HEADER_MISSING); |
| 265 | NETSCAPE_ENCRYPTED_PKEY_free(enckey); | 259 | NETSCAPE_ENCRYPTED_PKEY_free(enckey); |
| 266 | return NULL; | 260 | return NULL; |
| 267 | } | 261 | } |
| 268 | if (OBJ_obj2nid(enckey->enckey->algor->algorithm) != NID_rc4) | 262 | if (OBJ_obj2nid(enckey->enckey->algor->algorithm) != NID_rc4) { |
| 269 | { | ||
| 270 | ASN1err(ASN1_F_D2I_RSA_NET,ASN1_R_UNSUPPORTED_ENCRYPTION_ALGORITHM); | 263 | ASN1err(ASN1_F_D2I_RSA_NET,ASN1_R_UNSUPPORTED_ENCRYPTION_ALGORITHM); |
| 271 | goto err; | 264 | goto err; |
| 272 | } | 265 | } |
| @@ -296,8 +289,7 @@ static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os, | |||
| 296 | EVP_CIPHER_CTX_init(&ctx); | 289 | EVP_CIPHER_CTX_init(&ctx); |
| 297 | 290 | ||
| 298 | i=cb((char *)buf,256,"Enter Private Key password:",0); | 291 | i=cb((char *)buf,256,"Enter Private Key password:",0); |
| 299 | if (i != 0) | 292 | if (i != 0) { |
| 300 | { | ||
| 301 | ASN1err(ASN1_F_D2I_RSA_NET_2,ASN1_R_BAD_PASSWORD_READ); | 293 | ASN1err(ASN1_F_D2I_RSA_NET_2,ASN1_R_BAD_PASSWORD_READ); |
| 302 | goto err; | 294 | goto err; |
| 303 | } | 295 | } |
| @@ -324,15 +316,13 @@ static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os, | |||
| 324 | 316 | ||
| 325 | zz=os->data; | 317 | zz=os->data; |
| 326 | 318 | ||
| 327 | if ((pkey=d2i_NETSCAPE_PKEY(NULL,&zz,os->length)) == NULL) | 319 | if ((pkey=d2i_NETSCAPE_PKEY(NULL,&zz,os->length)) == NULL) { |
| 328 | { | ||
| 329 | ASN1err(ASN1_F_D2I_RSA_NET_2,ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY); | 320 | ASN1err(ASN1_F_D2I_RSA_NET_2,ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY); |
| 330 | goto err; | 321 | goto err; |
| 331 | } | 322 | } |
| 332 | 323 | ||
| 333 | zz=pkey->private_key->data; | 324 | zz=pkey->private_key->data; |
| 334 | if ((ret=d2i_RSAPrivateKey(a,&zz,pkey->private_key->length)) == NULL) | 325 | if ((ret=d2i_RSAPrivateKey(a,&zz,pkey->private_key->length)) == NULL) { |
| 335 | { | ||
| 336 | ASN1err(ASN1_F_D2I_RSA_NET_2,ASN1_R_UNABLE_TO_DECODE_RSA_KEY); | 326 | ASN1err(ASN1_F_D2I_RSA_NET_2,ASN1_R_UNABLE_TO_DECODE_RSA_KEY); |
| 337 | goto err; | 327 | goto err; |
| 338 | } | 328 | } |
