Initial Commit

This commit is contained in:
2026-05-27 23:47:53 +01:00
parent fbc70f96e6
commit 9b28db724f
18103 changed files with 1600554 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
import {
encodeBitString,
encodeNull,
encodeObjectIdentifier,
encodeSequence,
} from "../asn1/writer.js";
import type { RsaPublicKey } from "./keys.types.js";
import { OID_RSA_ENCRYPTION } from "./oid.js";
import { serializeRsaPublicKeyPkcs1 } from "./serialize-pkcs1-public.js";
/**
* Serialise an `RsaPublicKey` to a DER-encoded `SubjectPublicKeyInfo`
* (RFC 5280 §4.1) wrapping a PKCS#1 `RSAPublicKey`.
*/
export function serializeRsaPublicKeySpki(key: RsaPublicKey): Uint8Array {
const algorithm = encodeSequence(
encodeObjectIdentifier(OID_RSA_ENCRYPTION),
encodeNull()
);
const subjectPublicKey = encodeBitString(serializeRsaPublicKeyPkcs1(key));
return encodeSequence(algorithm, subjectPublicKey);
}