Vigia

Upgrading pkijs from 3.x to 4.x

Comparison of the public API of pkijs 3.4.3 and 4.0.0, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.

Summary

Removed import paths0
Removed exports0
Changed signatures8
Removed class or interface members0
Changed class or interface members21
Newly deprecated0
Requirement changes (engines, peer dependencies)2
New exports0

Removed exports

None detected.

Changed signatures

exportBeforeAfter
pkijs · setEngine(name: string, crypto: Crypto | ICryptoEngine, subtle: SubtleCrypto | ICryptoEngine): void | (name: string, crypto?: ICryptoEngine | undefined): void(name: string, crypto: ICryptoEngine | Crypto, subtle: ICryptoEngine | SubtleCrypto): void | (name: string, crypto?: ICryptoEngine | undefined): void
pkijs · SafeContentobject | ContentInfo | EncryptedData | EnvelopedDataobject | ContentInfo | EnvelopedData | EncryptedData
pkijs · ArgumentType"string" | "number" | "boolean" | "undefined" | "object" | "ArrayBuffer" | "null" | "Array" | "ArrayBufferView" | AnyConstructor"string" | "number" | "boolean" | "undefined" | "object" | "ArrayBuffer" | AnyConstructor | "null" | "Array" | "ArrayBufferView"
pkijs · CertificateSetItemAttributeCertificateV1 | AttributeCertificateV2 | Certificate | OtherCertificateFormatCertificate | AttributeCertificateV1 | AttributeCertificateV2 | OtherCertificateFormat
pkijs · RecipientInfoValueKEKRecipientInfo | KeyAgreeRecipientInfo | KeyTransRecipientInfo | OtherRecipientInfo | PasswordRecipientinfoKeyTransRecipientInfo | KeyAgreeRecipientInfo | KEKRecipientInfo | PasswordRecipientinfo | OtherRecipientInfo
pkijs · RecipientInfoValueJsonKEKRecipientInfoJson | KeyAgreeRecipientInfoJson | KeyTransRecipientInfoJson | OtherRecipientInfoJson | PasswordRecipientInfoJsonKeyTransRecipientInfoJson | KeyAgreeRecipientInfoJson | KEKRecipientInfoJson | PasswordRecipientInfoJson | OtherRecipientInfoJson
pkijs · DistributionPointNameJsonRelativeDistinguishedNamesJson | GeneralNameJson[]GeneralNameJson[] | RelativeDistinguishedNamesJson
pkijs · EnvelopedDataDecryptParamsEnvelopedDataDecryptBufferParams | EnvelopedDataDecryptKeyParamsEnvelopedDataDecryptKeyParams | EnvelopedDataDecryptBufferParams

Removed class or interface members

None detected.

Changed class or interface members

memberBeforeAfter
CryptoEngine.decrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>(algorithm: AesCbcParams | AesGcmParams | AlgorithmIdentifier | RsaOaepParams | AesCtrParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>
CryptoEngine.encrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>(algorithm: AesCbcParams | AesGcmParams | AlgorithmIdentifier | RsaOaepParams | AesCtrParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>
CryptoEngine.wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams): Promise<ArrayBuffer>(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AesCbcParams | AesGcmParams | AlgorithmIdentifier | RsaOaepParams | AesCtrParams): Promise<ArrayBuffer>
CryptoEngine.deriveKey(algorithm: AlgorithmIdentifier | Pbkdf2Params | EcdhKeyDeriveParams | HkdfParams, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | Pbkdf2Params | HkdfParams | AesDerivedKeyParams | HmacImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey> | (algorithm: AlgorithmIde…(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AesDerivedKeyParams | AlgorithmIdentifier | HkdfParams | Pbkdf2Params | HmacImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey> | (algorithm: AlgorithmIde…
CryptoEngine.unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | HmacImportParams | RsaHashedImportParams | EcKeyImportParams | AesKeyAlgorithm, extr…(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AesCbcParams | AesGcmParams | AlgorithmIdentifier | RsaOaepParams | AesCtrParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | HmacImportParams | RsaHashedImportParams | EcKeyImportParams | AesKeyAlgorithm, extr…
CryptoEngine.deriveBits(algorithm: AlgorithmIdentifier | Pbkdf2Params | EcdhKeyDeriveParams | HkdfParams, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>
ICryptoEngine.decrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>(algorithm: AesCbcParams | AesGcmParams | AlgorithmIdentifier | RsaOaepParams | AesCtrParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>
ICryptoEngine.encrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>(algorithm: AesCbcParams | AesGcmParams | AlgorithmIdentifier | RsaOaepParams | AesCtrParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>
ICryptoEngine.wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams): Promise<ArrayBuffer>(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AesCbcParams | AesGcmParams | AlgorithmIdentifier | RsaOaepParams | AesCtrParams): Promise<ArrayBuffer>
ICryptoEngine.deriveKey(algorithm: AlgorithmIdentifier | Pbkdf2Params | EcdhKeyDeriveParams | HkdfParams, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | Pbkdf2Params | HkdfParams | AesDerivedKeyParams | HmacImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey> | (algorithm: AlgorithmIde…(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AesDerivedKeyParams | AlgorithmIdentifier | HkdfParams | Pbkdf2Params | HmacImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey> | (algorithm: AlgorithmIde…
ICryptoEngine.unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | HmacImportParams | RsaHashedImportParams | EcKeyImportParams | AesKeyAlgorithm, extr…(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AesCbcParams | AesGcmParams | AlgorithmIdentifier | RsaOaepParams | AesCtrParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | HmacImportParams | RsaHashedImportParams | EcKeyImportParams | AesKeyAlgorithm, extr…
ICryptoEngine.deriveBits(algorithm: AlgorithmIdentifier | Pbkdf2Params | EcdhKeyDeriveParams | HkdfParams, baseKey: CryptoKey, length?: number | null | undefined): Promise<ArrayBuffer>(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, length?: number | null | undefined): Promise<ArrayBuffer>
ICryptoEngine.generateKey(algorithm: "Ed25519" | { name: "Ed25519"; }, extractable: boolean, keyUsages: readonly ("sign" | "verify")[]): Promise<CryptoKeyPair> | (algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: readonly KeyUsage[]): Promise<CryptoKeyPair> | (algorithm: AesKeyGenParams | H…(algorithm: "Ed25519" | { name: "Ed25519"; }, extractable: boolean, keyUsages: readonly ("sign" | "verify")[]): Promise<CryptoKeyPair> | (algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: readonly KeyUsage[]): Promise<CryptoKeyPair> | (algorithm: Pbkdf2Params | AesK…
AbstractCryptoEngine.decrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>(algorithm: AesCbcParams | AesGcmParams | AlgorithmIdentifier | RsaOaepParams | AesCtrParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>
AbstractCryptoEngine.encrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>(algorithm: AesCbcParams | AesGcmParams | AlgorithmIdentifier | RsaOaepParams | AesCtrParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>
AbstractCryptoEngine.wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams): Promise<ArrayBuffer>(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AesCbcParams | AesGcmParams | AlgorithmIdentifier | RsaOaepParams | AesCtrParams): Promise<ArrayBuffer>
AbstractCryptoEngine.deriveKey(algorithm: AlgorithmIdentifier | Pbkdf2Params | EcdhKeyDeriveParams | HkdfParams, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | Pbkdf2Params | HkdfParams | AesDerivedKeyParams | HmacImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey> | (algorithm: AlgorithmIde…(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AesDerivedKeyParams | AlgorithmIdentifier | HkdfParams | Pbkdf2Params | HmacImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey> | (algorithm: AlgorithmIde…
AbstractCryptoEngine.unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | HmacImportParams | RsaHashedImportParams | EcKeyImportParams | AesKeyAlgorithm, extr…(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AesCbcParams | AesGcmParams | AlgorithmIdentifier | RsaOaepParams | AesCtrParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | HmacImportParams | RsaHashedImportParams | EcKeyImportParams | AesKeyAlgorithm, extr…
AbstractCryptoEngine.deriveBits(algorithm: AlgorithmIdentifier | Pbkdf2Params | EcdhKeyDeriveParams | HkdfParams, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>
SignedDataVerifyError.constructor({ message, code, date, signatureVerified, signerCertificate, signerCertificateVerified, timestampSerial, certificatePath, }: SignedDataVerifyErrorParams): SignedDataVerifyError({ message, code, date, signatureVerified, signerCertificate, signerCertificateVerified, timestampSerial, certificatePath }: SignedDataVerifyErrorParams): SignedDataVerifyError
CertificateChainValidationEngineVerifyResult.errorError | ChainValidationError | undefinedChainValidationError | Error | undefined

Newly deprecated

None detected.

Requirement changes (engines, peer dependencies)

BeforeAfter
engines.node>=16.0.0^20.19.0 || >=22.12.0
peerDependencies.asn1js—^4.0.0

Give your AI agent these facts

Vigia is a free MCP server: your coding agent checks versions, breaking changes and vulnerabilities before it writes code. No signup, no API key.

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

Add to CursorAdd to VS Code★ Star on GitHub

Any other MCP client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

Agent skill (SKILL.md): tells the agent when to use Vigia · GitHub Action for pull requests

Frequently asked questions

What are the breaking changes when upgrading pkijs from 3 to 4?

Between pkijs 3.4.3 and 4.0.0, Vigia found 0 removed exports, 8 changed signatures and 21 removed or changed class or interface members.

What became deprecated in pkijs 4?

0 exports or members are newly marked as deprecated in pkijs 4.0.0.

For agents

GET https://vigia.coredls.cloud/v1/packages/npm/pkijs/upgrade?from=3.4.3&to=4.0.0