summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2022-12-15 10:01:19 -0800
committerMatthew Miller <matthew@millerti.me>2022-12-15 10:01:19 -0800
commit885245e0b966039e3ba42a536c0a60a74b12cf66 (patch)
tree4dfcd2109c481b4fe1acdde4ec5abafacd6d1315 /packages/server/src
parent6485e0a5d99eefcff5a4154317611963647156fa (diff)
Recognize use of secp384r1 in X.509
Diffstat (limited to 'packages/server/src')
-rw-r--r--packages/server/src/helpers/convertX509PublicKeyToCOSE.ts8
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)`,