@peculiar/x509
Advanced tools
Comparing version 1.2.2 to 1.3.0
import { AlgorithmIdentifier } from "@peculiar/asn1-x509"; | ||
export interface UnknownAlgorithm extends Algorithm { | ||
name: string; | ||
parameters?: ArrayBuffer | null; | ||
} | ||
export interface IAlgorithm { | ||
@@ -3,0 +7,0 @@ toAsnAlgorithm(alg: Algorithm): AlgorithmIdentifier | null; |
@@ -27,11 +27,15 @@ /*! | ||
import { AsnConvert, OctetString, AsnUtf8StringConverter } from '@peculiar/asn1-schema'; | ||
import { Extension as Extension$1, Name as Name$1, AttributeTypeAndValue, RelativeDistinguishedName, SubjectPublicKeyInfo, Certificate, AuthorityKeyIdentifier, id_ce_authorityKeyIdentifier, BasicConstraints, id_ce_basicConstraints, ExtendedKeyUsage, id_ce_extKeyUsage, KeyUsage, id_ce_keyUsage, SubjectKeyIdentifier, id_ce_subjectKeyIdentifier, OtherName as OtherName$1, SubjectAlternativeName, GeneralName, id_ce_subjectAltName, DirectoryString, Attribute as Attribute$1, Extensions, AlgorithmIdentifier, TBSCertificate, Version, Validity } from '@peculiar/asn1-x509'; | ||
import * as asn1X509 from '@peculiar/asn1-x509'; | ||
import { Extension as Extension$1, Name as Name$1, AttributeTypeAndValue, RelativeDistinguishedName, AlgorithmIdentifier, SubjectPublicKeyInfo, Certificate, BasicConstraints, id_ce_basicConstraints, ExtendedKeyUsage, id_ce_extKeyUsage, KeyUsage, id_ce_keyUsage, SubjectKeyIdentifier, id_ce_subjectKeyIdentifier, Attribute as Attribute$1, Extensions } from '@peculiar/asn1-x509'; | ||
import { BufferSourceConverter, isEqual, Convert, combine } from 'pvtsutils'; | ||
import { container, injectable } from 'tsyringe'; | ||
import { id_rsaEncryption, RSAPublicKey, id_sha512WithRSAEncryption, id_sha384WithRSAEncryption, id_sha256WithRSAEncryption, id_sha1WithRSAEncryption } from '@peculiar/asn1-rsa'; | ||
import { ChallengePassword, id_pkcs9_at_challengePassword, id_pkcs9_at_extensionRequest } from '@peculiar/asn1-pkcs9'; | ||
import * as asn1Rsa from '@peculiar/asn1-rsa'; | ||
import { id_rsaEncryption, RSAPublicKey } from '@peculiar/asn1-rsa'; | ||
import * as asnPkcs9 from '@peculiar/asn1-pkcs9'; | ||
import { id_pkcs9_at_extensionRequest } from '@peculiar/asn1-pkcs9'; | ||
import { __decorate } from 'tslib'; | ||
import { id_ecdsaWithSHA512, id_ecdsaWithSHA384, id_ecdsaWithSHA256, id_ecdsaWithSHA1, id_ecPublicKey, ECParameters, id_secp521r1, id_secp384r1, id_secp256r1, ECDSASigValue } from '@peculiar/asn1-ecc'; | ||
import * as asn1Ecc from '@peculiar/asn1-ecc'; | ||
import { ECDSASigValue } from '@peculiar/asn1-ecc'; | ||
import { CertificationRequest, CertificationRequestInfo } from '@peculiar/asn1-csr'; | ||
import { SignedData, CertificateSet, CertificateChoices, ContentInfo, id_signedData } from '@peculiar/asn1-cms'; | ||
import * as asn1Cms from '@peculiar/asn1-cms'; | ||
@@ -318,2 +322,12 @@ class AsnData { | ||
} | ||
if (/[0-9.]+/.test(alg.name)) { | ||
const res = new AlgorithmIdentifier({ | ||
algorithm: alg.name, | ||
}); | ||
if ("parameters" in alg) { | ||
const unknown = alg; | ||
res.parameters = unknown.parameters; | ||
} | ||
return res; | ||
} | ||
throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm"); | ||
@@ -328,3 +342,7 @@ } | ||
} | ||
throw new Error("Cannot convert ASN.1 algorithm to WebCrypto algorithm"); | ||
const unknown = { | ||
name: alg.algorithm, | ||
parameters: alg.parameters, | ||
}; | ||
return unknown; | ||
} | ||
@@ -643,12 +661,12 @@ } | ||
else if (typeof args[0] === "string") { | ||
const value = new AuthorityKeyIdentifier({ keyIdentifier: new OctetString(Convert.FromHex(args[0])) }); | ||
super(id_ce_authorityKeyIdentifier, args[1], AsnConvert.serialize(value)); | ||
const value = new asn1X509.AuthorityKeyIdentifier({ keyIdentifier: new OctetString(Convert.FromHex(args[0])) }); | ||
super(asn1X509.id_ce_authorityKeyIdentifier, args[1], AsnConvert.serialize(value)); | ||
} | ||
else { | ||
const certId = args[0]; | ||
const value = new AuthorityKeyIdentifier({ | ||
const value = new asn1X509.AuthorityKeyIdentifier({ | ||
authorityCertIssuer: certId.name, | ||
authorityCertSerialNumber: Convert.FromHex(certId.serialNumber), | ||
}); | ||
super(id_ce_authorityKeyIdentifier, args[1], AsnConvert.serialize(value)); | ||
super(asn1X509.id_ce_authorityKeyIdentifier, args[1], AsnConvert.serialize(value)); | ||
} | ||
@@ -669,3 +687,3 @@ } | ||
super.onInit(asn); | ||
const aki = AsnConvert.parse(asn.extnValue, AuthorityKeyIdentifier); | ||
const aki = AsnConvert.parse(asn.extnValue, asn1X509.AuthorityKeyIdentifier); | ||
if (aki.keyIdentifier) { | ||
@@ -777,5 +795,5 @@ this.keyId = Convert.ToHex(aki.keyIdentifier); | ||
const value = BufferSourceConverter.toArrayBuffer(args[1]); | ||
raw = AsnConvert.serialize(new OtherName$1({ typeId: type, value })); | ||
raw = AsnConvert.serialize(new asn1X509.OtherName({ typeId: type, value })); | ||
} | ||
super(raw, OtherName$1); | ||
super(raw, asn1X509.OtherName); | ||
} | ||
@@ -800,5 +818,5 @@ onInit(asn) { | ||
const data = args[0] || {}; | ||
const value = new SubjectAlternativeName(); | ||
const value = new asn1X509.SubjectAlternativeName(); | ||
for (const item of data.dns || []) { | ||
value.push(new GeneralName({ | ||
value.push(new asn1X509.GeneralName({ | ||
dNSName: item, | ||
@@ -808,3 +826,3 @@ })); | ||
for (const item of data.email || []) { | ||
value.push(new GeneralName({ | ||
value.push(new asn1X509.GeneralName({ | ||
rfc822Name: item, | ||
@@ -827,4 +845,4 @@ })); | ||
.join(""); | ||
value.push(new GeneralName({ | ||
otherName: new OtherName$1({ | ||
value.push(new asn1X509.GeneralName({ | ||
otherName: new asn1X509.OtherName({ | ||
typeId: SubjectAlternativeNameExtension.GUID, | ||
@@ -836,3 +854,3 @@ value: AsnConvert.serialize(new OctetString(Convert.FromHex(hex))), | ||
for (const item of data.ip || []) { | ||
value.push(new GeneralName({ | ||
value.push(new asn1X509.GeneralName({ | ||
iPAddress: item, | ||
@@ -842,3 +860,3 @@ })); | ||
for (const item of data.url || []) { | ||
value.push(new GeneralName({ | ||
value.push(new asn1X509.GeneralName({ | ||
uniformResourceIdentifier: item, | ||
@@ -848,4 +866,4 @@ })); | ||
for (const item of data.upn || []) { | ||
value.push(new GeneralName({ | ||
otherName: new OtherName$1({ | ||
value.push(new asn1X509.GeneralName({ | ||
otherName: new asn1X509.OtherName({ | ||
typeId: SubjectAlternativeNameExtension.UPN, | ||
@@ -857,3 +875,3 @@ value: AsnConvert.serialize(AsnUtf8StringConverter.toASN(item)) | ||
for (const item of data.registeredId || []) { | ||
value.push(new GeneralName({ | ||
value.push(new asn1X509.GeneralName({ | ||
registeredID: item, | ||
@@ -863,4 +881,4 @@ })); | ||
for (const item of data.otherName || []) { | ||
value.push(new GeneralName({ | ||
otherName: new OtherName$1({ | ||
value.push(new asn1X509.GeneralName({ | ||
otherName: new asn1X509.OtherName({ | ||
typeId: item.type, | ||
@@ -871,3 +889,3 @@ value: Convert.FromHex(item.value), | ||
} | ||
super(id_ce_subjectAltName, args[1], AsnConvert.serialize(value)); | ||
super(asn1X509.id_ce_subjectAltName, args[1], AsnConvert.serialize(value)); | ||
} | ||
@@ -877,3 +895,3 @@ } | ||
super.onInit(asn); | ||
const value = AsnConvert.parse(asn.extnValue, SubjectAlternativeName); | ||
const value = AsnConvert.parse(asn.extnValue, asn1X509.SubjectAlternativeName); | ||
this.dns = value.filter(o => o.dNSName).map(o => o.dNSName || ""); | ||
@@ -885,3 +903,3 @@ this.email = value.filter(o => o.rfc822Name).map(o => o.rfc822Name || ""); | ||
.filter(o => { var _a; return ((_a = o.otherName) === null || _a === void 0 ? void 0 : _a.typeId) === SubjectAlternativeNameExtension.UPN; }) | ||
.map(o => o.otherName ? AsnConvert.parse(o.otherName.value, DirectoryString).toString() : ""); | ||
.map(o => o.otherName ? AsnConvert.parse(o.otherName.value, asn1X509.DirectoryString).toString() : ""); | ||
this.guid = value | ||
@@ -969,6 +987,6 @@ .filter(o => { var _a; return ((_a = o.otherName) === null || _a === void 0 ? void 0 : _a.typeId) === SubjectAlternativeNameExtension.GUID; }) | ||
else { | ||
const value = new ChallengePassword({ | ||
const value = new asnPkcs9.ChallengePassword({ | ||
printableString: args[0], | ||
}); | ||
super(id_pkcs9_at_challengePassword, [AsnConvert.serialize(value)]); | ||
super(asnPkcs9.id_pkcs9_at_challengePassword, [AsnConvert.serialize(value)]); | ||
} | ||
@@ -980,3 +998,3 @@ (_a = this.password) !== null && _a !== void 0 ? _a : (this.password = ""); | ||
if (this.values[0]) { | ||
const value = AsnConvert.parse(this.values[0], ChallengePassword); | ||
const value = AsnConvert.parse(this.values[0], asnPkcs9.ChallengePassword); | ||
this.password = value.toString(); | ||
@@ -994,4 +1012,4 @@ } | ||
else { | ||
const value = new Extensions(args[0]); | ||
super(id_pkcs9_at_extensionRequest, [AsnConvert.serialize(value)]); | ||
const value = new asn1X509.Extensions(args[0]); | ||
super(asnPkcs9.id_pkcs9_at_extensionRequest, [AsnConvert.serialize(value)]); | ||
} | ||
@@ -1003,3 +1021,3 @@ (_a = this.items) !== null && _a !== void 0 ? _a : (this.items = []); | ||
if (this.values[0]) { | ||
const value = AsnConvert.parse(this.values[0], Extensions); | ||
const value = AsnConvert.parse(this.values[0], asn1X509.Extensions); | ||
this.items = value.map(o => ExtensionFactory.create(AsnConvert.serialize(o))); | ||
@@ -1032,13 +1050,13 @@ } | ||
case "sha-1": | ||
return new AlgorithmIdentifier({ algorithm: id_sha1WithRSAEncryption, parameters: null }); | ||
return new AlgorithmIdentifier({ algorithm: asn1Rsa.id_sha1WithRSAEncryption, parameters: null }); | ||
case "sha-256": | ||
return new AlgorithmIdentifier({ algorithm: id_sha256WithRSAEncryption, parameters: null }); | ||
return new AlgorithmIdentifier({ algorithm: asn1Rsa.id_sha256WithRSAEncryption, parameters: null }); | ||
case "sha-384": | ||
return new AlgorithmIdentifier({ algorithm: id_sha384WithRSAEncryption, parameters: null }); | ||
return new AlgorithmIdentifier({ algorithm: asn1Rsa.id_sha384WithRSAEncryption, parameters: null }); | ||
case "sha-512": | ||
return new AlgorithmIdentifier({ algorithm: id_sha512WithRSAEncryption, parameters: null }); | ||
return new AlgorithmIdentifier({ algorithm: asn1Rsa.id_sha512WithRSAEncryption, parameters: null }); | ||
} | ||
} | ||
else { | ||
return new AlgorithmIdentifier({ algorithm: id_rsaEncryption, parameters: null }); | ||
return new AlgorithmIdentifier({ algorithm: asn1Rsa.id_rsaEncryption, parameters: null }); | ||
} | ||
@@ -1050,11 +1068,11 @@ } | ||
switch (alg.algorithm) { | ||
case id_rsaEncryption: | ||
case asn1Rsa.id_rsaEncryption: | ||
return { name: "RSASSA-PKCS1-v1_5" }; | ||
case id_sha1WithRSAEncryption: | ||
case asn1Rsa.id_sha1WithRSAEncryption: | ||
return { name: "RSASSA-PKCS1-v1_5", hash: { name: "SHA-1" } }; | ||
case id_sha256WithRSAEncryption: | ||
case asn1Rsa.id_sha256WithRSAEncryption: | ||
return { name: "RSASSA-PKCS1-v1_5", hash: { name: "SHA-256" } }; | ||
case id_sha384WithRSAEncryption: | ||
case asn1Rsa.id_sha384WithRSAEncryption: | ||
return { name: "RSASSA-PKCS1-v1_5", hash: { name: "SHA-384" } }; | ||
case id_sha512WithRSAEncryption: | ||
case asn1Rsa.id_sha512WithRSAEncryption: | ||
return { name: "RSASSA-PKCS1-v1_5", hash: { name: "SHA-512" } }; | ||
@@ -1079,9 +1097,9 @@ } | ||
case "sha-1": | ||
return new AlgorithmIdentifier({ algorithm: id_ecdsaWithSHA1, parameters: null }); | ||
return new AlgorithmIdentifier({ algorithm: asn1Ecc.id_ecdsaWithSHA1, parameters: null }); | ||
case "sha-256": | ||
return new AlgorithmIdentifier({ algorithm: id_ecdsaWithSHA256, parameters: null }); | ||
return new AlgorithmIdentifier({ algorithm: asn1Ecc.id_ecdsaWithSHA256, parameters: null }); | ||
case "sha-384": | ||
return new AlgorithmIdentifier({ algorithm: id_ecdsaWithSHA384, parameters: null }); | ||
return new AlgorithmIdentifier({ algorithm: asn1Ecc.id_ecdsaWithSHA384, parameters: null }); | ||
case "sha-512": | ||
return new AlgorithmIdentifier({ algorithm: id_ecdsaWithSHA512, parameters: null }); | ||
return new AlgorithmIdentifier({ algorithm: asn1Ecc.id_ecdsaWithSHA512, parameters: null }); | ||
} | ||
@@ -1093,3 +1111,3 @@ } | ||
case "P-256": | ||
parameters = id_secp256r1; | ||
parameters = asn1Ecc.id_secp256r1; | ||
break; | ||
@@ -1100,6 +1118,6 @@ case "K-256": | ||
case "P-384": | ||
parameters = id_secp384r1; | ||
parameters = asn1Ecc.id_secp384r1; | ||
break; | ||
case "P-521": | ||
parameters = id_secp521r1; | ||
parameters = asn1Ecc.id_secp521r1; | ||
break; | ||
@@ -1109,4 +1127,4 @@ } | ||
return new AlgorithmIdentifier({ | ||
algorithm: id_ecPublicKey, | ||
parameters: AsnConvert.serialize(new ECParameters({ namedCurve: parameters })), | ||
algorithm: asn1Ecc.id_ecPublicKey, | ||
parameters: AsnConvert.serialize(new asn1Ecc.ECParameters({ namedCurve: parameters })), | ||
}); | ||
@@ -1120,23 +1138,23 @@ } | ||
switch (alg.algorithm) { | ||
case id_ecdsaWithSHA1: | ||
case asn1Ecc.id_ecdsaWithSHA1: | ||
return { name: "ECDSA", hash: { name: "SHA-1" } }; | ||
case id_ecdsaWithSHA256: | ||
case asn1Ecc.id_ecdsaWithSHA256: | ||
return { name: "ECDSA", hash: { name: "SHA-256" } }; | ||
case id_ecdsaWithSHA384: | ||
case asn1Ecc.id_ecdsaWithSHA384: | ||
return { name: "ECDSA", hash: { name: "SHA-384" } }; | ||
case id_ecdsaWithSHA512: | ||
case asn1Ecc.id_ecdsaWithSHA512: | ||
return { name: "ECDSA", hash: { name: "SHA-512" } }; | ||
case id_ecPublicKey: { | ||
case asn1Ecc.id_ecPublicKey: { | ||
if (!alg.parameters) { | ||
throw new TypeError("Cannot get required parameters from EC algorithm"); | ||
} | ||
const parameters = AsnConvert.parse(alg.parameters, ECParameters); | ||
const parameters = AsnConvert.parse(alg.parameters, asn1Ecc.ECParameters); | ||
switch (parameters.namedCurve) { | ||
case id_secp256r1: | ||
case asn1Ecc.id_secp256r1: | ||
return { name: "ECDSA", namedCurve: "P-256" }; | ||
case EcAlgorithm_1.SECP256K1: | ||
return { name: "ECDSA", namedCurve: "K-256" }; | ||
case id_secp384r1: | ||
case asn1Ecc.id_secp384r1: | ||
return { name: "ECDSA", namedCurve: "P-384" }; | ||
case id_secp521r1: | ||
case asn1Ecc.id_secp521r1: | ||
return { name: "ECDSA", namedCurve: "P-521" }; | ||
@@ -1381,8 +1399,8 @@ } | ||
export(format) { | ||
const signedData = new SignedData(); | ||
signedData.certificates = new CertificateSet(this.map(o => new CertificateChoices({ | ||
const signedData = new asn1Cms.SignedData(); | ||
signedData.certificates = new asn1Cms.CertificateSet(this.map(o => new asn1Cms.CertificateChoices({ | ||
certificate: AsnConvert.parse(o.rawData, Certificate) | ||
}))); | ||
const cms = new ContentInfo({ | ||
contentType: id_signedData, | ||
const cms = new asn1Cms.ContentInfo({ | ||
contentType: asn1Cms.id_signedData, | ||
content: AsnConvert.serialize(signedData), | ||
@@ -1398,7 +1416,7 @@ }); | ||
const raw = PemData.toArrayBuffer(data); | ||
const cms = AsnConvert.parse(raw, ContentInfo); | ||
if (cms.contentType !== id_signedData) { | ||
const cms = AsnConvert.parse(raw, asn1Cms.ContentInfo); | ||
if (cms.contentType !== asn1Cms.id_signedData) { | ||
throw new TypeError("Cannot parse CMS package. Incoming data is not a SignedData object."); | ||
} | ||
const signedData = AsnConvert.parse(cms.content, SignedData); | ||
const signedData = AsnConvert.parse(cms.content, asn1Cms.SignedData); | ||
this.clear(); | ||
@@ -1456,3 +1474,3 @@ for (const item of signedData.certificates || []) { | ||
if (!await cert.isSelfSigned()) { | ||
const akiExt = cert.getExtension(id_ce_authorityKeyIdentifier); | ||
const akiExt = cert.getExtension(asn1X509.id_ce_authorityKeyIdentifier); | ||
for (const item of this.certificates) { | ||
@@ -1464,3 +1482,3 @@ if (item.subject !== cert.issuer) { | ||
if (akiExt.keyId) { | ||
const skiExt = item.getExtension(id_ce_subjectKeyIdentifier); | ||
const skiExt = item.getExtension(asn1X509.id_ce_subjectKeyIdentifier); | ||
if (skiExt && skiExt.keyId !== akiExt.keyId) { | ||
@@ -1471,3 +1489,3 @@ continue; | ||
else if (akiExt.certId) { | ||
const sanExt = item.getExtension(id_ce_subjectAltName); | ||
const sanExt = item.getExtension(asn1X509.id_ce_subjectAltName); | ||
if (sanExt && | ||
@@ -1509,19 +1527,19 @@ !(akiExt.certId.serialNumber === item.serialNumber && isEqual(AsnConvert.serialize(akiExt.certId.name), AsnConvert.serialize(sanExt)))) { | ||
const spki = await crypto.subtle.exportKey("spki", params.publicKey); | ||
const asnX509 = new Certificate({ | ||
tbsCertificate: new TBSCertificate({ | ||
version: Version.v3, | ||
const asnX509 = new asn1X509.Certificate({ | ||
tbsCertificate: new asn1X509.TBSCertificate({ | ||
version: asn1X509.Version.v3, | ||
serialNumber: Convert.FromHex(params.serialNumber), | ||
validity: new Validity({ | ||
validity: new asn1X509.Validity({ | ||
notBefore: params.notBefore, | ||
notAfter: params.notAfter, | ||
}), | ||
extensions: new Extensions(((_a = params.extensions) === null || _a === void 0 ? void 0 : _a.map(o => AsnConvert.parse(o.rawData, Extension$1))) || []), | ||
subjectPublicKeyInfo: AsnConvert.parse(spki, SubjectPublicKeyInfo), | ||
extensions: new asn1X509.Extensions(((_a = params.extensions) === null || _a === void 0 ? void 0 : _a.map(o => AsnConvert.parse(o.rawData, asn1X509.Extension))) || []), | ||
subjectPublicKeyInfo: AsnConvert.parse(spki, asn1X509.SubjectPublicKeyInfo), | ||
}), | ||
}); | ||
if (params.subject) { | ||
asnX509.tbsCertificate.subject = AsnConvert.parse(new Name(params.subject).toArrayBuffer(), Name$1); | ||
asnX509.tbsCertificate.subject = AsnConvert.parse(new Name(params.subject).toArrayBuffer(), asn1X509.Name); | ||
} | ||
if (params.issuer) { | ||
asnX509.tbsCertificate.issuer = AsnConvert.parse(new Name(params.issuer).toArrayBuffer(), Name$1); | ||
asnX509.tbsCertificate.issuer = AsnConvert.parse(new Name(params.issuer).toArrayBuffer(), asn1X509.Name); | ||
} | ||
@@ -1549,10 +1567,10 @@ const signingAlgorithm = { ...params.signingAlgorithm, ...params.signingKey.algorithm }; | ||
ExtensionFactory.register(id_ce_basicConstraints, BasicConstraintsExtension); | ||
ExtensionFactory.register(id_ce_extKeyUsage, ExtendedKeyUsageExtension); | ||
ExtensionFactory.register(id_ce_keyUsage, KeyUsagesExtension); | ||
ExtensionFactory.register(id_ce_subjectKeyIdentifier, SubjectKeyIdentifierExtension); | ||
ExtensionFactory.register(id_ce_authorityKeyIdentifier, AuthorityKeyIdentifierExtension); | ||
ExtensionFactory.register(id_ce_subjectAltName, SubjectAlternativeNameExtension); | ||
AttributeFactory.register(id_pkcs9_at_challengePassword, ChallengePasswordAttribute); | ||
AttributeFactory.register(id_pkcs9_at_extensionRequest, ExtensionsAttribute); | ||
ExtensionFactory.register(asn1X509.id_ce_basicConstraints, BasicConstraintsExtension); | ||
ExtensionFactory.register(asn1X509.id_ce_extKeyUsage, ExtendedKeyUsageExtension); | ||
ExtensionFactory.register(asn1X509.id_ce_keyUsage, KeyUsagesExtension); | ||
ExtensionFactory.register(asn1X509.id_ce_subjectKeyIdentifier, SubjectKeyIdentifierExtension); | ||
ExtensionFactory.register(asn1X509.id_ce_authorityKeyIdentifier, AuthorityKeyIdentifierExtension); | ||
ExtensionFactory.register(asn1X509.id_ce_subjectAltName, SubjectAlternativeNameExtension); | ||
AttributeFactory.register(asnPkcs9.id_pkcs9_at_challengePassword, ChallengePasswordAttribute); | ||
AttributeFactory.register(asnPkcs9.id_pkcs9_at_extensionRequest, ExtensionsAttribute); | ||
container.registerSingleton(diAsnSignatureFormatter, AsnDefaultSignatureFormatter); | ||
@@ -1559,0 +1577,0 @@ container.registerSingleton(diAsnSignatureFormatter, AsnEcSignatureFormatter); |
{ | ||
"name": "@peculiar/x509", | ||
"version": "1.2.2", | ||
"version": "1.3.0", | ||
"description": "@peculiar/x509 is an easy to use TypeScript/Javascript library based on @peculiar/asn1-schema that makes generating X.509 Certificates and Certificate Requests as well as validating certificate chains easy", | ||
@@ -86,36 +86,36 @@ "main": "build/x509.cjs.js", | ||
"devDependencies": { | ||
"@babel/core": "^7.13.10", | ||
"@babel/preset-env": "^7.13.10", | ||
"@babel/core": "^7.13.16", | ||
"@babel/preset-env": "^7.13.15", | ||
"@peculiar/webcrypto": "^1.1.6", | ||
"@rollup/plugin-babel": "^5.3.0", | ||
"@rollup/plugin-commonjs": "^17.1.0", | ||
"@rollup/plugin-node-resolve": "^11.2.0", | ||
"@types/mocha": "^8.2.1", | ||
"@rollup/plugin-commonjs": "^18.0.0", | ||
"@rollup/plugin-node-resolve": "^11.2.1", | ||
"@types/mocha": "^8.2.2", | ||
"@types/node": "^14.14.20", | ||
"@typescript-eslint/eslint-plugin": "^4.18.0", | ||
"@typescript-eslint/parser": "^4.18.0", | ||
"@typescript-eslint/eslint-plugin": "^4.22.0", | ||
"@typescript-eslint/parser": "^4.22.0", | ||
"coveralls": "^3.1.0", | ||
"eslint": "^7.22.0", | ||
"eslint": "^7.25.0", | ||
"mocha": "^8.3.2", | ||
"nyc": "^15.1.0", | ||
"rimraf": "^3.0.2", | ||
"rollup": "^2.41.2", | ||
"rollup": "^2.46.0", | ||
"rollup-plugin-terser": "^7.0.2", | ||
"rollup-plugin-typescript2": "^0.30.0", | ||
"ts-node": "^9.1.1", | ||
"typedoc": "^0.20.32", | ||
"typescript": "^4.2.3" | ||
"typedoc": "^0.20.36", | ||
"typescript": "^4.2.4" | ||
}, | ||
"dependencies": { | ||
"@peculiar/asn1-cms": "^2.0.27", | ||
"@peculiar/asn1-csr": "^2.0.27", | ||
"@peculiar/asn1-ecc": "^2.0.27", | ||
"@peculiar/asn1-pkcs9": "^2.0.27", | ||
"@peculiar/asn1-rsa": "^2.0.27", | ||
"@peculiar/asn1-schema": "^2.0.27", | ||
"@peculiar/asn1-x509": "^2.0.27", | ||
"pvtsutils": "^1.1.2", | ||
"@peculiar/asn1-cms": "^2.0.32", | ||
"@peculiar/asn1-csr": "^2.0.32", | ||
"@peculiar/asn1-ecc": "^2.0.32", | ||
"@peculiar/asn1-pkcs9": "^2.0.32", | ||
"@peculiar/asn1-rsa": "^2.0.32", | ||
"@peculiar/asn1-schema": "^2.0.32", | ||
"@peculiar/asn1-x509": "^2.0.32", | ||
"pvtsutils": "^1.1.5", | ||
"reflect-metadata": "^0.1.13", | ||
"tslib": "^2.1.0", | ||
"tsyringe": "^4.4.0" | ||
"tslib": "^2.2.0", | ||
"tsyringe": "^4.5.0" | ||
}, | ||
@@ -122,0 +122,0 @@ "eslintConfig": { |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
4215
325980
Updated@peculiar/asn1-cms@^2.0.32
Updated@peculiar/asn1-csr@^2.0.32
Updated@peculiar/asn1-ecc@^2.0.32
Updated@peculiar/asn1-pkcs9@^2.0.32
Updated@peculiar/asn1-rsa@^2.0.32
Updated@peculiar/asn1-x509@^2.0.32
Updatedpvtsutils@^1.1.5
Updatedtslib@^2.2.0
Updatedtsyringe@^4.5.0