67 lines
2.1 KiB
TypeScript
67 lines
2.1 KiB
TypeScript
import * as core from "webcrypto-core";
|
|
|
|
const namedOIDs: { [key: string]: string } = {
|
|
// P-256
|
|
"1.2.840.10045.3.1.7": "P-256",
|
|
"P-256": "1.2.840.10045.3.1.7",
|
|
// P-384
|
|
"1.3.132.0.34": "P-384",
|
|
"P-384": "1.3.132.0.34",
|
|
// P-521
|
|
"1.3.132.0.35": "P-521",
|
|
"P-521": "1.3.132.0.35",
|
|
// K-256
|
|
"1.3.132.0.10": "K-256",
|
|
"K-256": "1.3.132.0.10",
|
|
|
|
// brainpool
|
|
brainpoolP160r1: "1.3.36.3.3.2.8.1.1.1",
|
|
"1.3.36.3.3.2.8.1.1.1": "brainpoolP160r1",
|
|
brainpoolP160t1: "1.3.36.3.3.2.8.1.1.2",
|
|
"1.3.36.3.3.2.8.1.1.2": "brainpoolP160t1",
|
|
brainpoolP192r1: "1.3.36.3.3.2.8.1.1.3",
|
|
"1.3.36.3.3.2.8.1.1.3": "brainpoolP192r1",
|
|
brainpoolP192t1: "1.3.36.3.3.2.8.1.1.4",
|
|
"1.3.36.3.3.2.8.1.1.4": "brainpoolP192t1",
|
|
brainpoolP224r1: "1.3.36.3.3.2.8.1.1.5",
|
|
"1.3.36.3.3.2.8.1.1.5": "brainpoolP224r1",
|
|
brainpoolP224t1: "1.3.36.3.3.2.8.1.1.6",
|
|
"1.3.36.3.3.2.8.1.1.6": "brainpoolP224t1",
|
|
brainpoolP256r1: "1.3.36.3.3.2.8.1.1.7",
|
|
"1.3.36.3.3.2.8.1.1.7": "brainpoolP256r1",
|
|
brainpoolP256t1: "1.3.36.3.3.2.8.1.1.8",
|
|
"1.3.36.3.3.2.8.1.1.8": "brainpoolP256t1",
|
|
brainpoolP320r1: "1.3.36.3.3.2.8.1.1.9",
|
|
"1.3.36.3.3.2.8.1.1.9": "brainpoolP320r1",
|
|
brainpoolP320t1: "1.3.36.3.3.2.8.1.1.10",
|
|
"1.3.36.3.3.2.8.1.1.10": "brainpoolP320t1",
|
|
brainpoolP384r1: "1.3.36.3.3.2.8.1.1.11",
|
|
"1.3.36.3.3.2.8.1.1.11": "brainpoolP384r1",
|
|
brainpoolP384t1: "1.3.36.3.3.2.8.1.1.12",
|
|
"1.3.36.3.3.2.8.1.1.12": "brainpoolP384t1",
|
|
brainpoolP512r1: "1.3.36.3.3.2.8.1.1.13",
|
|
"1.3.36.3.3.2.8.1.1.13": "brainpoolP512r1",
|
|
brainpoolP512t1: "1.3.36.3.3.2.8.1.1.14",
|
|
"1.3.36.3.3.2.8.1.1.14": "brainpoolP512t1",
|
|
};
|
|
|
|
export function getNamedCurveByOid(oid: string) {
|
|
const namedCurve = namedOIDs[oid];
|
|
if (!namedCurve) {
|
|
throw new core.OperationError(
|
|
`Cannot convert OID(${oid}) to WebCrypto named curve`
|
|
);
|
|
}
|
|
return namedCurve;
|
|
}
|
|
|
|
export function getOidByNamedCurve(namedCurve: string) {
|
|
const oid = namedOIDs[namedCurve];
|
|
if (!oid) {
|
|
throw new core.OperationError(
|
|
`Cannot convert WebCrypto named curve '${namedCurve}' to OID`
|
|
);
|
|
}
|
|
return oid;
|
|
}
|