diff options
| author | tb <> | 2024-10-11 18:34:20 +0000 |
|---|---|---|
| committer | tb <> | 2024-10-11 18:34:20 +0000 |
| commit | fdaad4574061161f9de22637f526f4e61c82ce03 (patch) | |
| tree | f5265a6ebfde94dbd0a74f189587aa14afbec769 /src | |
| parent | ca8246e98f0c54d50b2cfd3d4c5a6f355e4baf54 (diff) | |
| download | openbsd-fdaad4574061161f9de22637f526f4e61c82ce03.tar.gz openbsd-fdaad4574061161f9de22637f526f4e61c82ce03.tar.bz2 openbsd-fdaad4574061161f9de22637f526f4e61c82ce03.zip | |
Use defines for the CHOICE variants of ECPKPARAMETERS
ok jsing
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/ec/ec_asn1.c | 17 |
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 | |||
| 127 | typedef struct ecpk_parameters_st { | 131 | typedef 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); |
