summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/evp/evp_pkey.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/evp/evp_pkey.c')
-rw-r--r--src/lib/libcrypto/evp/evp_pkey.c25
1 files changed, 10 insertions, 15 deletions
diff --git a/src/lib/libcrypto/evp/evp_pkey.c b/src/lib/libcrypto/evp/evp_pkey.c
index 689ff596ce..4dcd2a15a9 100644
--- a/src/lib/libcrypto/evp/evp_pkey.c
+++ b/src/lib/libcrypto/evp/evp_pkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: evp_pkey.c,v 1.18 2014/10/18 17:20:40 jsing Exp $ */ 1/* $OpenBSD: evp_pkey.c,v 1.19 2017/01/29 17:49:23 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -77,13 +77,12 @@ EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8)
77 return NULL; 77 return NULL;
78 78
79 if (!(pkey = EVP_PKEY_new())) { 79 if (!(pkey = EVP_PKEY_new())) {
80 EVPerr(EVP_F_EVP_PKCS82PKEY, ERR_R_MALLOC_FAILURE); 80 EVPerror(ERR_R_MALLOC_FAILURE);
81 return NULL; 81 return NULL;
82 } 82 }
83 83
84 if (!EVP_PKEY_set_type(pkey, OBJ_obj2nid(algoid))) { 84 if (!EVP_PKEY_set_type(pkey, OBJ_obj2nid(algoid))) {
85 EVPerr(EVP_F_EVP_PKCS82PKEY, 85 EVPerror(EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM);
86 EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM);
87 i2t_ASN1_OBJECT(obj_tmp, 80, algoid); 86 i2t_ASN1_OBJECT(obj_tmp, 80, algoid);
88 ERR_asprintf_error_data("TYPE=%s", obj_tmp); 87 ERR_asprintf_error_data("TYPE=%s", obj_tmp);
89 goto error; 88 goto error;
@@ -91,12 +90,11 @@ EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8)
91 90
92 if (pkey->ameth->priv_decode) { 91 if (pkey->ameth->priv_decode) {
93 if (!pkey->ameth->priv_decode(pkey, p8)) { 92 if (!pkey->ameth->priv_decode(pkey, p8)) {
94 EVPerr(EVP_F_EVP_PKCS82PKEY, 93 EVPerror(EVP_R_PRIVATE_KEY_DECODE_ERROR);
95 EVP_R_PRIVATE_KEY_DECODE_ERROR);
96 goto error; 94 goto error;
97 } 95 }
98 } else { 96 } else {
99 EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_METHOD_NOT_SUPPORTED); 97 EVPerror(EVP_R_METHOD_NOT_SUPPORTED);
100 goto error; 98 goto error;
101 } 99 }
102 100
@@ -121,7 +119,7 @@ EVP_PKEY2PKCS8_broken(EVP_PKEY *pkey, int broken)
121 PKCS8_PRIV_KEY_INFO *p8; 119 PKCS8_PRIV_KEY_INFO *p8;
122 120
123 if (!(p8 = PKCS8_PRIV_KEY_INFO_new())) { 121 if (!(p8 = PKCS8_PRIV_KEY_INFO_new())) {
124 EVPerr(EVP_F_EVP_PKEY2PKCS8_BROKEN, ERR_R_MALLOC_FAILURE); 122 EVPerror(ERR_R_MALLOC_FAILURE);
125 return NULL; 123 return NULL;
126 } 124 }
127 p8->broken = broken; 125 p8->broken = broken;
@@ -129,18 +127,15 @@ EVP_PKEY2PKCS8_broken(EVP_PKEY *pkey, int broken)
129 if (pkey->ameth) { 127 if (pkey->ameth) {
130 if (pkey->ameth->priv_encode) { 128 if (pkey->ameth->priv_encode) {
131 if (!pkey->ameth->priv_encode(p8, pkey)) { 129 if (!pkey->ameth->priv_encode(p8, pkey)) {
132 EVPerr(EVP_F_EVP_PKEY2PKCS8_BROKEN, 130 EVPerror(EVP_R_PRIVATE_KEY_ENCODE_ERROR);
133 EVP_R_PRIVATE_KEY_ENCODE_ERROR);
134 goto error; 131 goto error;
135 } 132 }
136 } else { 133 } else {
137 EVPerr(EVP_F_EVP_PKEY2PKCS8_BROKEN, 134 EVPerror(EVP_R_METHOD_NOT_SUPPORTED);
138 EVP_R_METHOD_NOT_SUPPORTED);
139 goto error; 135 goto error;
140 } 136 }
141 } else { 137 } else {
142 EVPerr(EVP_F_EVP_PKEY2PKCS8_BROKEN, 138 EVPerror(EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM);
143 EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM);
144 goto error; 139 goto error;
145 } 140 }
146 return p8; 141 return p8;
@@ -166,7 +161,7 @@ PKCS8_set_broken(PKCS8_PRIV_KEY_INFO *p8, int broken)
166 break; 161 break;
167 162
168 default: 163 default:
169 EVPerr(EVP_F_PKCS8_SET_BROKEN, EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE); 164 EVPerror(EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE);
170 return NULL; 165 return NULL;
171 } 166 }
172} 167}