@@ -154,19 +154,19 @@ static struct ec_curve_info {
154
154
/* Some of the following may not yet be supported by the OpenSC module, but may be by other modules */
155
155
/* OpenPGP extensions by Yubikey and GNUK are not defined in RFCs, so pass by printable string */
156
156
/* See PKCS#11 3.0 2.3.7 */
157
- {"edwards25519" , "1.3.6.1.4.1.11591.15.1" , (unsigned char * )"\x13\x0c\x65\x64\x77\x61\x72\x64\x73\x32\x35\x35\x31\x39" , 14 , 255 , CKM_EC_EDWARDS_KEY_PAIR_GEN }, /* send by curve name */
158
- {"curve25519" , "1.3.6.1.4.1.3029.1.5.1" , (unsigned char * )"\x13\x0a\x63\x75\x72\x76\x65\x32\x35\x35\x31\x39" , 12 , 255 , CKM_EC_MONTGOMERY_KEY_PAIR_GEN }, /* send by curve name */
157
+ {"edwards25519" , "1.3.6.1.4.1.11591.15.1" , (unsigned char * )"\x13\x0c\x65\x64\x77\x61\x72\x64\x73\x32\x35\x35\x31\x39" , 14 , 256 , CKM_EC_EDWARDS_KEY_PAIR_GEN }, /* send by curve name */
158
+ {"curve25519" , "1.3.6.1.4.1.3029.1.5.1" , (unsigned char * )"\x13\x0a\x63\x75\x72\x76\x65\x32\x35\x35\x31\x39" , 12 , 256 , CKM_EC_MONTGOMERY_KEY_PAIR_GEN }, /* send by curve name */
159
159
160
160
/* RFC8410, EDWARDS and MONTGOMERY curves are used by GnuPG and also by OpenSSL */
161
161
162
- {"X25519" , "1.3.101.110" , (unsigned char * )"\x06\x03\x2b\x65\x6e" , 5 , 255 , CKM_EC_MONTGOMERY_KEY_PAIR_GEN }, /* RFC 4810 send by OID */
163
- {"X448" , "1.3.101.111" , (unsigned char * )"\x06\x03\x2b\x65\x6f" , 5 , 448 , CKM_EC_MONTGOMERY_KEY_PAIR_GEN }, /* RFC 4810 send by OID */
162
+ {"X25519" , "1.3.101.110" , (unsigned char * )"\x06\x03\x2b\x65\x6e" , 5 , 256 , CKM_EC_MONTGOMERY_KEY_PAIR_GEN }, /* RFC 4810 send by OID */
163
+ {"X448" , "1.3.101.111" , (unsigned char * )"\x06\x03\x2b\x65\x6f" , 5 , 456 , CKM_EC_MONTGOMERY_KEY_PAIR_GEN }, /* RFC 4810 send by OID */
164
164
{"Ed25519" , "1.3.101.112" , (unsigned char * )"\x06\x03\x2b\x65\x70" , 5 , 255 , CKM_EC_EDWARDS_KEY_PAIR_GEN }, /* RFC 4810 send by OID */
165
- {"Ed448" , "1.3.101.113" , (unsigned char * )"\x06\x03\x2b\x65\x71" , 5 , 448 , CKM_EC_EDWARDS_KEY_PAIR_GEN }, /* RFC 4810 send by OID */
165
+ {"Ed448" , "1.3.101.113" , (unsigned char * )"\x06\x03\x2b\x65\x71" , 5 , 456 , CKM_EC_EDWARDS_KEY_PAIR_GEN }, /* RFC 4810 send by OID */
166
166
167
167
/* GnuPG openpgp curves as used in gnupg-card are equivalent to RFC8410 OIDs */
168
- {"cv25519" , "1.3.101.110" , (unsigned char * )"\x06\x03\x2b\x65\x6e" , 5 , 255 , CKM_EC_MONTGOMERY_KEY_PAIR_GEN },
169
- {"ed25519" , "1.3.101.112" , (unsigned char * )"\x06\x03\x2b\x65\x70" , 5 , 255 , CKM_EC_EDWARDS_KEY_PAIR_GEN },
168
+ {"cv25519" , "1.3.101.110" , (unsigned char * )"\x06\x03\x2b\x65\x6e" , 5 , 256 , CKM_EC_MONTGOMERY_KEY_PAIR_GEN },
169
+ {"ed25519" , "1.3.101.112" , (unsigned char * )"\x06\x03\x2b\x65\x70" , 5 , 256 , CKM_EC_EDWARDS_KEY_PAIR_GEN },
170
170
/* OpenSC card-openpgp.c will map these to what is need on the card */
171
171
172
172
{NULL , NULL , NULL , 0 , 0 , 0 },
@@ -2452,7 +2452,7 @@ static void sign_data(CK_SLOT_ID slot, CK_SESSION_HANDLE session,
2452
2452
}
2453
2453
2454
2454
/* Ed448: need the params defined but default to false */
2455
- if (curve -> size == 448 ) {
2455
+ if (curve -> size == 456 ) {
2456
2456
mech .pParameter = & eddsa_params ;
2457
2457
mech .ulParameterLen = (CK_ULONG )sizeof (eddsa_params );
2458
2458
}
@@ -2607,7 +2607,7 @@ static void verify_signature(CK_SLOT_ID slot, CK_SESSION_HANDLE session,
2607
2607
}
2608
2608
2609
2609
/* Ed448: need the params defined but default to false */
2610
- if (curve -> size == 448 ) {
2610
+ if (curve -> size == 456 ) {
2611
2611
mech .pParameter = & eddsa_params ;
2612
2612
mech .ulParameterLen = (CK_ULONG )sizeof (eddsa_params );
2613
2613
}
@@ -6589,18 +6589,18 @@ static int read_object(CK_SESSION_HANDLE session)
6589
6589
}
6590
6590
}
6591
6591
6592
- if (type == CKK_EC_EDWARDS && os -> length == BYTES4BITS (255 ))
6592
+ if (type == CKK_EC_EDWARDS && os -> length == BYTES4BITS (256 ))
6593
6593
raw_pk = EVP_PKEY_ED25519 ;
6594
6594
#if defined(EVP_PKEY_ED448 )
6595
- else if (type == CKK_EC_EDWARDS && os - > length == BYTES4BITS (448 ))
6595
+ else if (type == CKK_EC_EDWARDS && os - > length == BYTES4BITS (456 ))
6596
6596
raw_pk = EVP_PKEY_ED448 ;
6597
6597
#endif /* EVP_PKEY_ED448 */
6598
6598
#if defined(EVP_PKEY_X25519 )
6599
- else if (type == CKK_EC_MONTGOMERY && os - > length == BYTES4BITS (255 ))
6599
+ else if (type == CKK_EC_MONTGOMERY && os - > length == BYTES4BITS (256 ))
6600
6600
raw_pk = EVP_PKEY_X25519 ;
6601
6601
#endif /*EVP_PKEY_X25519 */
6602
6602
#if defined(EVP_PKEY_X448 )
6603
- else if (type == CKK_EC_MONTGOMERY && os - > length == BYTES4BITS (448 ))
6603
+ else if (type == CKK_EC_MONTGOMERY && os - > length == BYTES4BITS (456 ))
6604
6604
raw_pk = EVP_PKEY_X448 ;
6605
6605
#endif /* EVP_PKEY_X448 */
6606
6606
else
0 commit comments