summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2024-10-11 18:34:20 +0000
committertb <>2024-10-11 18:34:20 +0000
commit0d3914979e2bded1fd7ab4d9d4a0d94da715eb69 (patch)
treef5265a6ebfde94dbd0a74f189587aa14afbec769 /src
parent9904c0f85e20078c1afa1a36fbd7326a67a30455 (diff)
downloadopenbsd-0d3914979e2bded1fd7ab4d9d4a0d94da715eb69.tar.gz
openbsd-0d3914979e2bded1fd7ab4d9d4a0d94da715eb69.tar.bz2
openbsd-0d3914979e2bded1fd7ab4d9d4a0d94da715eb69.zip
Use defines for the CHOICE variants of ECPKPARAMETERS
ok jsing
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/ec/ec_asn1.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/lib/libcrypto/ec/ec_asn1.c b/src/lib/libcrypto/ec/ec_asn1.c
index 18cf856e80..c27257bdbb 100644
--- a/src/lib/libcrypto/ec/ec_asn1.c
+++ b/src/lib/libcrypto/ec/ec_asn1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ec_asn1.c,v 1.64 2024/10/11 18:32:03 tb Exp $ */ 1/* $OpenBSD: ec_asn1.c,v 1.65 2024/10/11 18:34:20 tb Exp $ */
2/* 2/*
3 * Written by Nils Larsch for the OpenSSL project. 3 * Written by Nils Larsch for the OpenSSL project.
4 */ 4 */
@@ -124,6 +124,10 @@ typedef struct ec_parameters_st {
124 ASN1_INTEGER *cofactor; 124 ASN1_INTEGER *cofactor;
125} ECPARAMETERS; 125} ECPARAMETERS;
126 126
127#define ECPK_PARAM_NAMED_CURVE 0
128#define ECPK_PARAM_EXPLICIT 1
129#define ECPK_PARAM_IMPLICITLY_CA 2
130
127typedef struct ecpk_parameters_st { 131typedef struct ecpk_parameters_st {
128 int type; 132 int type;
129 union { 133 union {
@@ -804,12 +808,12 @@ ec_asn1_group2pkparameters(const EC_GROUP *group)
804 goto err; 808 goto err;
805 if ((aobj = OBJ_nid2obj(nid)) == NULL) 809 if ((aobj = OBJ_nid2obj(nid)) == NULL)
806 goto err; 810 goto err;
807 pkparameters->type = 0; 811 pkparameters->type = ECPK_PARAM_NAMED_CURVE;
808 pkparameters->value.named_curve = aobj; 812 pkparameters->value.named_curve = aobj;
809 } else { 813 } else {
810 if ((parameters = ec_asn1_group2parameters(group)) == NULL) 814 if ((parameters = ec_asn1_group2parameters(group)) == NULL)
811 goto err; 815 goto err;
812 pkparameters->type = 1; 816 pkparameters->type = ECPK_PARAM_EXPLICIT;
813 pkparameters->value.parameters = parameters; 817 pkparameters->value.parameters = parameters;
814 parameters = NULL; 818 parameters = NULL;
815 } 819 }
@@ -964,7 +968,7 @@ ec_asn1_pkparameters2group(const ECPKPARAMETERS *params)
964 EC_GROUP *group; 968 EC_GROUP *group;
965 int nid; 969 int nid;
966 970
967 if (params->type == 0) {/* the curve is given by an OID */ 971 if (params->type == ECPK_PARAM_NAMED_CURVE) {
968 if ((nid = OBJ_obj2nid(params->value.named_curve)) == NID_undef) { 972 if ((nid = OBJ_obj2nid(params->value.named_curve)) == NID_undef) {
969 ECerror(EC_R_UNKNOWN_GROUP); 973 ECerror(EC_R_UNKNOWN_GROUP);
970 return NULL; 974 return NULL;
@@ -974,15 +978,14 @@ ec_asn1_pkparameters2group(const ECPKPARAMETERS *params)
974 return NULL; 978 return NULL;
975 } 979 }
976 EC_GROUP_set_asn1_flag(group, OPENSSL_EC_NAMED_CURVE); 980 EC_GROUP_set_asn1_flag(group, OPENSSL_EC_NAMED_CURVE);
977 } else if (params->type == 1) { /* the parameters are given by a 981 } else if (params->type == ECPK_PARAM_EXPLICIT) {
978 * ECPARAMETERS structure */
979 group = ec_asn1_parameters2group(params->value.parameters); 982 group = ec_asn1_parameters2group(params->value.parameters);
980 if (group == NULL) { 983 if (group == NULL) {
981 ECerror(ERR_R_EC_LIB); 984 ECerror(ERR_R_EC_LIB);
982 return NULL; 985 return NULL;
983 } 986 }
984 EC_GROUP_set_asn1_flag(group, 0); 987 EC_GROUP_set_asn1_flag(group, 0);
985 } else if (params->type == 2) { /* implicitlyCA */ 988 } else if (params->type == ECPK_PARAM_IMPLICITLY_CA) {
986 return NULL; 989 return NULL;
987 } else { 990 } else {
988 ECerror(EC_R_ASN1_ERROR); 991 ECerror(EC_R_ASN1_ERROR);