将 pkijs 从 3.x 升级到 4.x
根据 TypeScript 类型自动比较 pkijs 3.4.3 与 4.0.0 的公开 API。签名变化表示可能存在不兼容变更,并非确定结论。
概要
| 已删除的导入路径 | 0 |
|---|---|
| 已删除的导出 | 0 |
| 已修改的签名 | 8 |
| 已删除的类或接口成员 | 0 |
| 已修改的类或接口成员 | 21 |
| 新增弃用 | 0 |
| 要求变化(engines、peer 依赖) | 2 |
| 新增导出 | 0 |
已删除的导出
未发现。
已修改的签名
| export | 之前 | 之后 |
|---|---|---|
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 |
已删除的类或接口成员
未发现。
已修改的类或接口成员
| member | 之前 | 之后 |
|---|---|---|
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 |
新增弃用
未发现。
要求变化(engines、peer 依赖)
| 之前 | 之后 | |
|---|---|---|
engines.node | >=16.0.0 | ^20.19.0 || >=22.12.0 |
peerDependencies.asn1js | — | ^4.0.0 |
把这些数据交给你的 AI 智能体
Vigia 是免费的 MCP 服务器:你的编程智能体在写代码之前就能检查版本、不兼容变更和安全漏洞。无需注册,无需 API 密钥。
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
添加到 Cursor添加到 VS Code★ 在 GitHub 上加星
任何其他 MCP 客户端
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }常见问题
将 pkijs 从 3 升级到 4 有哪些不兼容变更?
在 pkijs 3.4.3 与 4.0.0 之间,Vigia 发现 0 个已删除的导出、8 个已修改的签名,以及 21 个已删除或修改的类或接口成员。
pkijs 4 中弃用了哪些内容?
pkijs 4.0.0 中有 0 个导出或成员新被标记为弃用。
供智能体使用
GET https://vigia.coredls.cloud/v1/packages/npm/pkijs/upgrade?from=3.4.3&to=4.0.0