Skip to content

Commit 7ab5b2d

Browse files
mkmksdjc
authored andcommitted
added secp256k1 alg id
1 parent 8915ede commit 7ab5b2d

File tree

5 files changed

+22
-1
lines changed

5 files changed

+22
-1
lines changed

src/alg_id.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,19 @@ pub const ML_DSA_65: AlgorithmIdentifier =
4444
pub const ML_DSA_87: AlgorithmIdentifier =
4545
AlgorithmIdentifier::from_slice(include_bytes!("data/alg-ml-dsa-87.der"));
4646

47+
/// AlgorithmIdentifier for `id-ecPublicKey` with named curve `secp256k1`.
48+
///
49+
/// This is:
50+
///
51+
/// ```text
52+
/// # ecPublicKey
53+
/// OBJECT_IDENTIFIER { 1.2.840.10045.2.1 }
54+
/// # secp256k1
55+
/// OBJECT_IDENTIFIER { 1.3.132.0.10 }
56+
/// ```
57+
pub const ECDSA_P256K1: AlgorithmIdentifier =
58+
AlgorithmIdentifier::from_slice(include_bytes!("data/alg-ecdsa-p256k1.der"));
59+
4760
/// AlgorithmIdentifier for `id-ecPublicKey` with named curve `secp256r1`.
4861
///
4962
/// This is:

src/data/alg-ecdsa-p256k1.der

16 Bytes
Binary file not shown.

tests/key_type.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,15 @@ use rustls_pki_types::PrivateKeyDer;
33
#[test]
44
fn test_private_key_from_der() {
55
const NIST_P256_KEY_SEC1: &[u8] = include_bytes!("../tests/keys/nistp256key.der");
6+
const ECDSA_P256K1_KEY_SEC1: &[u8] = include_bytes!("../tests/keys/ecdsap256k1key.der");
67
const NIST_P384_KEY_SEC1: &[u8] = include_bytes!("../tests/keys/nistp384key.der");
78
const NIST_P521_KEY_SEC1: &[u8] = include_bytes!("../tests/keys/nistp521key.der");
8-
for bytes in [NIST_P256_KEY_SEC1, NIST_P384_KEY_SEC1, NIST_P521_KEY_SEC1] {
9+
for bytes in [
10+
NIST_P256_KEY_SEC1,
11+
ECDSA_P256K1_KEY_SEC1,
12+
NIST_P384_KEY_SEC1,
13+
NIST_P521_KEY_SEC1,
14+
] {
915
assert!(matches!(
1016
PrivateKeyDer::try_from(bytes).unwrap(),
1117
PrivateKeyDer::Sec1(_)
@@ -19,6 +25,7 @@ fn test_private_key_from_der() {
1925
));
2026

2127
const NIST_P256_KEY_PKCS8: &[u8] = include_bytes!("../tests/keys/nistp256key.pkcs8.der");
28+
const ECDSA_P256K1_KEY_PKCS8: &[u8] = include_bytes!("../tests/keys/ecdsap256k1key.pkcs8.der");
2229
const NIST_P384_KEY_PKCS8: &[u8] = include_bytes!("../tests/keys/nistp384key.pkcs8.der");
2330
const NIST_P521_KEY_PKCS8: &[u8] = include_bytes!("../tests/keys/nistp521key.pkcs8.der");
2431
const RSA_2048_KEY_PKCS8: &[u8] = include_bytes!("../tests/keys/rsa2048key.pkcs8.der");
@@ -27,6 +34,7 @@ fn test_private_key_from_der() {
2734
const ED448_KEY: &[u8] = include_bytes!("../tests/keys/ed448.pkcs8.der");
2835
const PKCS8_KEYS: &[&[u8]] = &[
2936
NIST_P256_KEY_PKCS8,
37+
ECDSA_P256K1_KEY_PKCS8,
3038
NIST_P384_KEY_PKCS8,
3139
NIST_P521_KEY_PKCS8,
3240
RSA_2048_KEY_PKCS8,

tests/keys/ecdsap256k1key.der

118 Bytes
Binary file not shown.
135 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)