summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/dh/dh_ameth.c
diff options
context:
space:
mode:
authortb <>2023-08-11 13:57:24 +0000
committertb <>2023-08-11 13:57:24 +0000
commit7bf985b2585d3c60a607e8ff8e3c261213a8dde3 (patch)
treedbf083621edfede4ae04f7171422bb7a3e2d64dd /src/lib/libcrypto/dh/dh_ameth.c
parentb0d988db635837f3218e3afae6b83c6a6091e0de (diff)
downloadopenbsd-7bf985b2585d3c60a607e8ff8e3c261213a8dde3.tar.gz
openbsd-7bf985b2585d3c60a607e8ff8e3c261213a8dde3.tar.bz2
openbsd-7bf985b2585d3c60a607e8ff8e3c261213a8dde3.zip
Improve variable names in {dh,dsa}_{pub,priv}_{de,en}code()
Use aint for the ASN1_INTEGER holding the key and astr for the ASN1_STRING holding the parameters. This frees up key and params for their DER encoded versions, matching the naming we use elsewhere much more closely. ok jsing
Diffstat (limited to 'src/lib/libcrypto/dh/dh_ameth.c')
-rw-r--r--src/lib/libcrypto/dh/dh_ameth.c114
1 files changed, 57 insertions, 57 deletions
diff --git a/src/lib/libcrypto/dh/dh_ameth.c b/src/lib/libcrypto/dh/dh_ameth.c
index c43ada8ed8..f0c20f9a43 100644
--- a/src/lib/libcrypto/dh/dh_ameth.c
+++ b/src/lib/libcrypto/dh/dh_ameth.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dh_ameth.c,v 1.35 2023/08/11 13:53:45 tb Exp $ */ 1/* $OpenBSD: dh_ameth.c,v 1.36 2023/08/11 13:57:24 tb 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 2006. 3 * project 2006.
4 */ 4 */
@@ -81,14 +81,14 @@ dh_pub_decode(EVP_PKEY *pkey, X509_PUBKEY *pubkey)
81 X509_ALGOR *algor; 81 X509_ALGOR *algor;
82 int ptype; 82 int ptype;
83 const void *pval; 83 const void *pval;
84 const ASN1_STRING *params; 84 const ASN1_STRING *astr;
85 const unsigned char *key_der, *params_der, *p; 85 const unsigned char *key, *params, *p;
86 int key_len, params_len; 86 int key_len, params_len;
87 ASN1_INTEGER *key = NULL; 87 ASN1_INTEGER *aint = NULL;
88 DH *dh = NULL; 88 DH *dh = NULL;
89 int ret = 0; 89 int ret = 0;
90 90
91 if (!X509_PUBKEY_get0_param(NULL, &key_der, &key_len, &algor, pubkey)) 91 if (!X509_PUBKEY_get0_param(NULL, &key, &key_len, &algor, pubkey))
92 goto err; 92 goto err;
93 X509_ALGOR_get0(NULL, &ptype, &pval, algor); 93 X509_ALGOR_get0(NULL, &ptype, &pval, algor);
94 94
@@ -97,21 +97,21 @@ dh_pub_decode(EVP_PKEY *pkey, X509_PUBKEY *pubkey)
97 goto err; 97 goto err;
98 } 98 }
99 99
100 params = pval; 100 astr = pval;
101 params_der = params->data; 101 params = astr->data;
102 params_len = params->length; 102 params_len = astr->length;
103 103
104 p = params_der; 104 p = params;
105 if ((dh = d2i_DHparams(NULL, &p, params_len)) == NULL) { 105 if ((dh = d2i_DHparams(NULL, &p, params_len)) == NULL) {
106 DHerror(DH_R_DECODE_ERROR); 106 DHerror(DH_R_DECODE_ERROR);
107 goto err; 107 goto err;
108 } 108 }
109 p = key_der; 109 p = key;
110 if ((key = d2i_ASN1_INTEGER(NULL, &p, key_len)) == NULL) { 110 if ((aint = d2i_ASN1_INTEGER(NULL, &p, key_len)) == NULL) {
111 DHerror(DH_R_DECODE_ERROR); 111 DHerror(DH_R_DECODE_ERROR);
112 goto err; 112 goto err;
113 } 113 }
114 if ((dh->pub_key = ASN1_INTEGER_to_BN(key, NULL)) == NULL) { 114 if ((dh->pub_key = ASN1_INTEGER_to_BN(aint, NULL)) == NULL) {
115 DHerror(DH_R_BN_DECODE_ERROR); 115 DHerror(DH_R_BN_DECODE_ERROR);
116 goto err; 116 goto err;
117 } 117 }
@@ -123,7 +123,7 @@ dh_pub_decode(EVP_PKEY *pkey, X509_PUBKEY *pubkey)
123 ret = 1; 123 ret = 1;
124 124
125 err: 125 err:
126 ASN1_INTEGER_free(key); 126 ASN1_INTEGER_free(aint);
127 DH_free(dh); 127 DH_free(dh);
128 128
129 return ret; 129 return ret;
@@ -133,30 +133,30 @@ static int
133dh_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey) 133dh_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey)
134{ 134{
135 const DH *dh = pkey->pkey.dh; 135 const DH *dh = pkey->pkey.dh;
136 ASN1_STRING *params = NULL; 136 ASN1_STRING *astr = NULL;
137 int ptype = V_ASN1_SEQUENCE; 137 int ptype = V_ASN1_SEQUENCE;
138 ASN1_INTEGER *key = NULL; 138 ASN1_INTEGER *aint = NULL;
139 ASN1_OBJECT *aobj; 139 ASN1_OBJECT *aobj;
140 unsigned char *params_der = NULL, *key_der = NULL; 140 unsigned char *params = NULL, *key = NULL;
141 int params_len = 0, key_len = 0; 141 int params_len = 0, key_len = 0;
142 int ret = 0; 142 int ret = 0;
143 143
144 if ((params_len = i2d_DHparams(dh, &params_der)) <= 0) { 144 if ((params_len = i2d_DHparams(dh, &params)) <= 0) {
145 DHerror(ERR_R_MALLOC_FAILURE); 145 DHerror(ERR_R_MALLOC_FAILURE);
146 params_len = 0; 146 params_len = 0;
147 goto err; 147 goto err;
148 } 148 }
149 if ((params = ASN1_STRING_new()) == NULL) { 149 if ((astr = ASN1_STRING_new()) == NULL) {
150 DHerror(ERR_R_MALLOC_FAILURE); 150 DHerror(ERR_R_MALLOC_FAILURE);
151 goto err; 151 goto err;
152 } 152 }
153 ASN1_STRING_set0(params, params_der, params_len); 153 ASN1_STRING_set0(astr, params, params_len);
154 params_der = NULL; 154 params = NULL;
155 params_len = 0; 155 params_len = 0;
156 156
157 if ((key = BN_to_ASN1_INTEGER(dh->pub_key, NULL)) == NULL) 157 if ((aint = BN_to_ASN1_INTEGER(dh->pub_key, NULL)) == NULL)
158 goto err; 158 goto err;
159 if ((key_len = i2d_ASN1_INTEGER(key, &key_der)) <= 0) { 159 if ((key_len = i2d_ASN1_INTEGER(aint, &key)) <= 0) {
160 DHerror(ERR_R_MALLOC_FAILURE); 160 DHerror(ERR_R_MALLOC_FAILURE);
161 key_len = 0; 161 key_len = 0;
162 goto err; 162 goto err;
@@ -164,19 +164,19 @@ dh_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey)
164 164
165 if ((aobj = OBJ_nid2obj(EVP_PKEY_DH)) == NULL) 165 if ((aobj = OBJ_nid2obj(EVP_PKEY_DH)) == NULL)
166 goto err; 166 goto err;
167 if (!X509_PUBKEY_set0_param(pk, aobj, ptype, params, key_der, key_len)) 167 if (!X509_PUBKEY_set0_param(pk, aobj, ptype, astr, key, key_len))
168 goto err; 168 goto err;
169 params = NULL; 169 astr = NULL;
170 key_der = NULL; 170 key = NULL;
171 key_len = 0; 171 key_len = 0;
172 172
173 ret = 1; 173 ret = 1;
174 174
175 err: 175 err:
176 ASN1_STRING_free(params); 176 ASN1_STRING_free(astr);
177 ASN1_INTEGER_free(key); 177 ASN1_INTEGER_free(aint);
178 freezero(params_der, params_len); 178 freezero(params, params_len);
179 freezero(key_der, key_len); 179 freezero(key, key_len);
180 180
181 return ret; 181 return ret;
182} 182}
@@ -193,14 +193,14 @@ dh_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8)
193 const X509_ALGOR *algor; 193 const X509_ALGOR *algor;
194 int ptype; 194 int ptype;
195 const void *pval; 195 const void *pval;
196 const ASN1_STRING *params; 196 const ASN1_STRING *astr;
197 const unsigned char *key_der, *params_der, *p; 197 const unsigned char *key, *params, *p;
198 int key_len, params_len; 198 int key_len, params_len;
199 ASN1_INTEGER *key = NULL; 199 ASN1_INTEGER *aint = NULL;
200 DH *dh = NULL; 200 DH *dh = NULL;
201 int ret = 0; 201 int ret = 0;
202 202
203 if (!PKCS8_pkey_get0(NULL, &key_der, &key_len, &algor, p8)) 203 if (!PKCS8_pkey_get0(NULL, &key, &key_len, &algor, p8))
204 goto err; 204 goto err;
205 X509_ALGOR_get0(NULL, &ptype, &pval, algor); 205 X509_ALGOR_get0(NULL, &ptype, &pval, algor);
206 206
@@ -209,21 +209,21 @@ dh_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8)
209 goto err; 209 goto err;
210 } 210 }
211 211
212 params = pval; 212 astr = pval;
213 params_der = params->data; 213 params = astr->data;
214 params_len = params->length; 214 params_len = astr->length;
215 215
216 p = params_der; 216 p = params;
217 if ((dh = d2i_DHparams(NULL, &p, params_len)) == NULL) { 217 if ((dh = d2i_DHparams(NULL, &p, params_len)) == NULL) {
218 DHerror(DH_R_DECODE_ERROR); 218 DHerror(DH_R_DECODE_ERROR);
219 goto err; 219 goto err;
220 } 220 }
221 p = key_der; 221 p = key;
222 if ((key = d2i_ASN1_INTEGER(NULL, &p, key_len)) == NULL) { 222 if ((aint = d2i_ASN1_INTEGER(NULL, &p, key_len)) == NULL) {
223 DHerror(DH_R_DECODE_ERROR); 223 DHerror(DH_R_DECODE_ERROR);
224 goto err; 224 goto err;
225 } 225 }
226 if ((dh->priv_key = ASN1_INTEGER_to_BN(key, NULL)) == NULL) { 226 if ((dh->priv_key = ASN1_INTEGER_to_BN(aint, NULL)) == NULL) {
227 DHerror(DH_R_BN_DECODE_ERROR); 227 DHerror(DH_R_BN_DECODE_ERROR);
228 goto err; 228 goto err;
229 } 229 }
@@ -237,7 +237,7 @@ dh_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8)
237 ret = 1; 237 ret = 1;
238 238
239 err: 239 err:
240 ASN1_INTEGER_free(key); 240 ASN1_INTEGER_free(aint);
241 DH_free(dh); 241 DH_free(dh);
242 242
243 return ret; 243 return ret;
@@ -247,32 +247,32 @@ static int
247dh_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey) 247dh_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
248{ 248{
249 const DH *dh = pkey->pkey.dh; 249 const DH *dh = pkey->pkey.dh;
250 ASN1_STRING *params = NULL; 250 ASN1_STRING *astr = NULL;
251 int ptype = V_ASN1_SEQUENCE; 251 int ptype = V_ASN1_SEQUENCE;
252 ASN1_INTEGER *key = NULL; 252 ASN1_INTEGER *aint = NULL;
253 ASN1_OBJECT *aobj; 253 ASN1_OBJECT *aobj;
254 unsigned char *params_der = NULL, *key_der = NULL; 254 unsigned char *params = NULL, *key = NULL;
255 int params_len = 0, key_len = 0; 255 int params_len = 0, key_len = 0;
256 int ret = 0; 256 int ret = 0;
257 257
258 if ((params_len = i2d_DHparams(dh, &params_der)) <= 0) { 258 if ((params_len = i2d_DHparams(dh, &params)) <= 0) {
259 DHerror(ERR_R_MALLOC_FAILURE); 259 DHerror(ERR_R_MALLOC_FAILURE);
260 params_len = 0; 260 params_len = 0;
261 goto err; 261 goto err;
262 } 262 }
263 if ((params = ASN1_STRING_type_new(V_ASN1_SEQUENCE)) == NULL) { 263 if ((astr = ASN1_STRING_type_new(V_ASN1_SEQUENCE)) == NULL) {
264 DHerror(ERR_R_MALLOC_FAILURE); 264 DHerror(ERR_R_MALLOC_FAILURE);
265 goto err; 265 goto err;
266 } 266 }
267 ASN1_STRING_set0(params, params_der, params_len); 267 ASN1_STRING_set0(astr, params, params_len);
268 params_der = NULL; 268 params = NULL;
269 params_len = 0; 269 params_len = 0;
270 270
271 if ((key = BN_to_ASN1_INTEGER(dh->priv_key, NULL)) == NULL) { 271 if ((aint = BN_to_ASN1_INTEGER(dh->priv_key, NULL)) == NULL) {
272 DHerror(DH_R_BN_ERROR); 272 DHerror(DH_R_BN_ERROR);
273 goto err; 273 goto err;
274 } 274 }
275 if ((key_len = i2d_ASN1_INTEGER(key, &key_der)) <= 0) { 275 if ((key_len = i2d_ASN1_INTEGER(aint, &key)) <= 0) {
276 DHerror(ERR_R_MALLOC_FAILURE); 276 DHerror(ERR_R_MALLOC_FAILURE);
277 key_len = 0; 277 key_len = 0;
278 goto err; 278 goto err;
@@ -280,19 +280,19 @@ dh_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
280 280
281 if ((aobj = OBJ_nid2obj(NID_dhKeyAgreement)) == NULL) 281 if ((aobj = OBJ_nid2obj(NID_dhKeyAgreement)) == NULL)
282 goto err; 282 goto err;
283 if (!PKCS8_pkey_set0(p8, aobj, 0, ptype, params, key_der, key_len)) 283 if (!PKCS8_pkey_set0(p8, aobj, 0, ptype, astr, key, key_len))
284 goto err; 284 goto err;
285 params = NULL; 285 astr = NULL;
286 key_der = NULL; 286 key = NULL;
287 key_len = 0; 287 key_len = 0;
288 288
289 ret = 1; 289 ret = 1;
290 290
291 err: 291 err:
292 ASN1_STRING_free(params); 292 ASN1_STRING_free(astr);
293 ASN1_INTEGER_free(key); 293 ASN1_INTEGER_free(aint);
294 freezero(params_der, params_len); 294 freezero(params, params_len);
295 freezero(key_der, key_len); 295 freezero(key, key_len);
296 296
297 return ret; 297 return ret;
298} 298}