diff options
author | Matthew Miller <matthew@millerti.me> | 2022-12-15 10:01:19 -0800 |
---|---|---|
committer | Matthew Miller <matthew@millerti.me> | 2022-12-15 10:01:19 -0800 |
commit | 885245e0b966039e3ba42a536c0a60a74b12cf66 (patch) | |
tree | 4dfcd2109c481b4fe1acdde4ec5abafacd6d1315 /packages/server/src | |
parent | 6485e0a5d99eefcff5a4154317611963647156fa (diff) |
Recognize use of secp384r1 in X.509
Diffstat (limited to 'packages/server/src')
-rw-r--r-- | packages/server/src/helpers/convertX509PublicKeyToCOSE.ts | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/packages/server/src/helpers/convertX509PublicKeyToCOSE.ts b/packages/server/src/helpers/convertX509PublicKeyToCOSE.ts index 26d23ca..16c8965 100644 --- a/packages/server/src/helpers/convertX509PublicKeyToCOSE.ts +++ b/packages/server/src/helpers/convertX509PublicKeyToCOSE.ts @@ -1,6 +1,6 @@ import { AsnParser } from '@peculiar/asn1-schema'; import { Certificate } from '@peculiar/asn1-x509'; -import { ECParameters, id_ecPublicKey, id_secp256r1 } from '@peculiar/asn1-ecc'; +import { ECParameters, id_ecPublicKey, id_secp256r1, id_secp384r1 } from '@peculiar/asn1-ecc'; import { RSAPublicKey } from '@peculiar/asn1-rsa'; import { @@ -41,8 +41,12 @@ export function convertX509PublicKeyToCOSE(leafCertificate: Uint8Array): COSEPub ); let crv = -999; - if (ecParameters.namedCurve === id_secp256r1) { + const { namedCurve } = ecParameters; + + if (namedCurve === id_secp256r1) { crv = COSECRV.P256; + } else if (namedCurve === id_secp384r1) { + crv = COSECRV.P384; } else { throw new Error( `Leaf cert public key contained unexpected namedCurve ${ecParameters.namedCurve} (EC2)`, |