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 paths | 0 |
|---|---|
| Removed exports | 0 |
| Changed signatures | 8 |
| Removed class or interface members | 0 |
| Changed class or interface members | 21 |
| Newly deprecated | 0 |
| Requirement changes (engines, peer dependencies) | 2 |
| New exports | 0 |
Removed exports
None detected.
Changed signatures
| export | Before | After |
|---|---|---|
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 · SafeContent | object | ContentInfo | EncryptedData | EnvelopedData | object | 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 · CertificateSetItem | AttributeCertificateV1 | AttributeCertificateV2 | Certificate | OtherCertificateFormat | Certificate | AttributeCertificateV1 | AttributeCertificateV2 | OtherCertificateFormat |
pkijs · RecipientInfoValue | KEKRecipientInfo | KeyAgreeRecipientInfo | KeyTransRecipientInfo | OtherRecipientInfo | PasswordRecipientinfo | KeyTransRecipientInfo | KeyAgreeRecipientInfo | KEKRecipientInfo | PasswordRecipientinfo | OtherRecipientInfo |
pkijs · RecipientInfoValueJson | KEKRecipientInfoJson | KeyAgreeRecipientInfoJson | KeyTransRecipientInfoJson | OtherRecipientInfoJson | PasswordRecipientInfoJson | KeyTransRecipientInfoJson | KeyAgreeRecipientInfoJson | KEKRecipientInfoJson | PasswordRecipientInfoJson | OtherRecipientInfoJson |
pkijs · DistributionPointNameJson | RelativeDistinguishedNamesJson | GeneralNameJson[] | GeneralNameJson[] | RelativeDistinguishedNamesJson |
pkijs · EnvelopedDataDecryptParams | EnvelopedDataDecryptBufferParams | EnvelopedDataDecryptKeyParams | EnvelopedDataDecryptKeyParams | EnvelopedDataDecryptBufferParams |
Removed class or interface members
None detected.
Changed class or interface members
| member | Before | After |
|---|---|---|
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.error | Error | ChainValidationError | undefined | ChainValidationError | Error | undefined |
Newly deprecated
None detected.
Requirement changes (engines, peer dependencies)
| Before | After | |
|---|---|---|
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