Skip to content

Algorithm Support ​

Certificate parsing, certificate issuance, key operations, and signature verification have separate support. Certificate issuance takes a caller supplied WebCrypto public key and a signing private key. The signing key must use a signature algorithm supported by micro509.

Certificate and key capabilities ​

Algorithm / key typeCertificate parsingCertificate issuance as subject keyGenerate / import through micro509Sign / verify signaturesKey agreementKey encapsulation
RSA signaturesyesyesyesyesnono
RSA-OAEPyesyesyesnonoyes
ECDSA P-256/P-384/P-521yesyesyesyesnono
Ed25519yesyesyesyesnono
X25519yesyes, with an exportable caller keynononono
Ed448yesruntime dependent[1]nononono
X448yesruntime dependent[1:1]nononono

RSA signature support covers PKCS#1 v1.5 and RSA-PSS. RSA-OAEP supports SHA-256/384/512 hashes and an optional label. Explicit OAEP key imports also accept hash: 'SHA-1' for legacy envelopes. SHA-256 is the default. SHA-1 is unavailable for key generation and RSA signature imports. The yes values for ECDSA and Ed25519 cover those signature algorithms. verifySignatureWithKey verifies with an existing WebCrypto public key, including a non-extractable key. Certificate verification uses the same supported signature algorithms. Ed25519, Ed448, X25519 and X448 certificate key-usage rules follow RFC 9295. A certificate using a key type without a supported signature operation can still be issued with that subject key when the runtime can export it and a supported CA signs it. An X25519 certificate can participate in verifyCertificateChain: path verification checks the issuer signature and certificate rules, without performing X25519.

Generic SPKI and PKCS#8 export functions delegate to WebCrypto and can export other key types when the supplied CryptoKey is extractable and its runtime supports the format. micro509 key import and generation are narrower.

DSA and Brainpool signing and verification are unsupported. micro509 also has no ECDH key generation/import or key-agreement API.

Key formats ​

FormatImport through micro509Export through micro509
PKCS#8yesyes
SPKIyesyes
JWKyesyes
PKCS#1 (RSA)yesyes
SEC1 (EC)yesyes

Packaged symmetric operations ​

micro509 has no general-purpose symmetric encryption, MAC, or KDF API. These primitives are available only inside higher-level format workflows:

WorkflowPackaged operations
Encrypted PKCS#8 / PFXPBES2, AES-CBC, PBKDF2 with HMAC-SHA1 or HMAC-SHA256
Legacy encrypted PEMAES-128-CBC, AES-192-CBC, AES-256-CBC
PKCS#12 MACPKCS#12 KDF and HMAC-SHA-256
PBMAC1 (RFC 9879)PBKDF2 HMAC-SHA-256/384/512 and HMAC-SHA-256/384/512

PBMAC1 creation uses SHA-256.


  1. Issuance depends on the WebCrypto runtime providing an exportable key. micro509 enforces the certificate key-usage rules. micro509 has no generation or import API for these algorithms. It does not perform X25519/X448 agreement. ↩︎ ↩︎

Released under the MIT License.