@peculiar/certificates-viewer 4.2.2 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/attribute-certificate-viewer.js +1 -1
- package/components/attribute-certificate-viewer.js.map +1 -1
- package/components/certificate-viewer.js +2 -2
- package/components/certificate-viewer.js.map +1 -1
- package/components/crl-viewer.js +2 -2
- package/components/crl-viewer.js.map +1 -1
- package/components/download.js +84 -18
- package/components/download.js.map +1 -1
- package/components/peculiar-certificate-decoder.js +12 -69
- package/components/peculiar-certificate-decoder.js.map +1 -1
- package/components/pkcs10_certificate_request.js +1 -1
- package/components/pkcs10_certificate_request.js.map +1 -1
- package/dist/cjs/{certification_request-815ec558.js → certification_request-ad267278.js} +84 -23
- package/dist/cjs/certification_request-ad267278.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/{miscellaneous-9a573276.js → miscellaneous-67439e59.js} +2 -2
- package/dist/cjs/{miscellaneous-9a573276.js.map → miscellaneous-67439e59.js.map} +1 -1
- package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js +4 -4
- package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +15 -72
- package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +3 -3
- package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +2 -2
- package/dist/cjs/{pkcs10_certificate_request-0ebc0023.js → pkcs10_certificate_request-64898c88.js} +3 -3
- package/dist/cjs/pkcs10_certificate_request-64898c88.js.map +1 -0
- package/dist/cjs/{x509_certificate-9914b149.js → x509_certificate-4b0894c2.js} +3 -3
- package/dist/cjs/x509_certificate-4b0894c2.js.map +1 -0
- package/dist/cjs/{x509_crl-86b6e71d.js → x509_crl-fc8d41a1.js} +5 -5
- package/dist/cjs/x509_crl-fc8d41a1.js.map +1 -0
- package/dist/collection/components/certificate-decoder/certificate-decoder.js +12 -69
- package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
- package/dist/collection/constants/oids.js +3 -0
- package/dist/collection/constants/oids.js.map +1 -1
- package/dist/collection/crypto/pkcs10_certificate_request.js +1 -1
- package/dist/collection/crypto/pkcs10_certificate_request.js.map +1 -1
- package/dist/collection/crypto/x509_attribute_certificate.js +1 -1
- package/dist/collection/crypto/x509_attribute_certificate.js.map +1 -1
- package/dist/collection/crypto/x509_certificate.js +1 -1
- package/dist/collection/crypto/x509_certificate.js.map +1 -1
- package/dist/collection/crypto/x509_crl.js +1 -1
- package/dist/collection/crypto/x509_crl.js.map +1 -1
- package/dist/collection/utils/download.js +8 -8
- package/dist/collection/utils/download.js.map +1 -1
- package/dist/collection/utils/validator.js +0 -8
- package/dist/collection/utils/validator.js.map +1 -1
- package/dist/esm/{certification_request-08b4deb8.js → certification_request-a4699dcf.js} +85 -19
- package/dist/esm/certification_request-a4699dcf.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/{miscellaneous-d4bbc6f2.js → miscellaneous-ba1fd2bd.js} +2 -2
- package/dist/esm/{miscellaneous-d4bbc6f2.js.map → miscellaneous-ba1fd2bd.js.map} +1 -1
- package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js +4 -4
- package/dist/esm/peculiar-certificate-decoder.entry.js +15 -72
- package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
- package/dist/esm/peculiar-certificate-viewer.entry.js +3 -3
- package/dist/esm/peculiar-certificates-viewer.entry.js +2 -2
- package/dist/esm/{pkcs10_certificate_request-3763c2af.js → pkcs10_certificate_request-785a4794.js} +3 -3
- package/dist/esm/pkcs10_certificate_request-785a4794.js.map +1 -0
- package/dist/esm/{x509_certificate-47b4c5ee.js → x509_certificate-05a23c0e.js} +3 -3
- package/dist/esm/x509_certificate-05a23c0e.js.map +1 -0
- package/dist/esm/{x509_crl-ba76d3ed.js → x509_crl-26081461.js} +5 -5
- package/dist/esm/x509_crl-26081461.js.map +1 -0
- package/dist/esm-es5/{certification_request-08b4deb8.js → certification_request-a4699dcf.js} +6 -6
- package/dist/esm-es5/certification_request-a4699dcf.js.map +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{miscellaneous-d4bbc6f2.js → miscellaneous-ba1fd2bd.js} +2 -2
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js +1 -1
- package/dist/esm-es5/peculiar-certificate-decoder.entry.js +2 -2
- package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
- package/dist/esm-es5/peculiar-certificate-viewer.entry.js +1 -1
- package/dist/esm-es5/peculiar-certificates-viewer.entry.js +1 -1
- package/dist/esm-es5/{pkcs10_certificate_request-3763c2af.js → pkcs10_certificate_request-785a4794.js} +3 -3
- package/dist/esm-es5/{pkcs10_certificate_request-3763c2af.js.map → pkcs10_certificate_request-785a4794.js.map} +1 -1
- package/dist/esm-es5/{x509_certificate-47b4c5ee.js → x509_certificate-05a23c0e.js} +3 -3
- package/dist/{peculiar/p-1818204e.system.js.map → esm-es5/x509_certificate-05a23c0e.js.map} +1 -1
- package/dist/esm-es5/{x509_crl-ba76d3ed.js → x509_crl-26081461.js} +4 -4
- package/dist/esm-es5/x509_crl-26081461.js.map +1 -0
- package/dist/peculiar/index.esm.js +1 -1
- package/dist/peculiar/{p-8db3e1fd.system.entry.js → p-1566ad92.system.entry.js} +2 -2
- package/dist/peculiar/{p-c10bfa6a.system.js → p-2bc2abea.system.js} +2 -2
- package/dist/peculiar/{p-6acca6ea.js → p-32807e5e.js} +12 -12
- package/dist/peculiar/p-32807e5e.js.map +1 -0
- package/dist/peculiar/{p-84e3e94a.entry.js → p-5d1d4a96.entry.js} +7 -7
- package/dist/peculiar/{p-f8efbe93.entry.js → p-67e82386.entry.js} +2 -2
- package/dist/peculiar/{p-b0c963b1.js → p-6e2ad7eb.js} +13 -13
- package/dist/peculiar/{p-4ee5140c.system.js → p-7ddd9a82.system.js} +3 -3
- package/dist/peculiar/{p-4ee5140c.system.js.map → p-7ddd9a82.system.js.map} +1 -1
- package/dist/peculiar/p-8393399a.system.js +1 -1
- package/dist/peculiar/{p-0f3787cf.system.entry.js → p-9263e7ee.system.entry.js} +2 -2
- package/dist/peculiar/{p-1818204e.system.js → p-98e3a016.system.js} +3 -3
- package/dist/{esm-es5/x509_certificate-47b4c5ee.js.map → peculiar/p-98e3a016.system.js.map} +1 -1
- package/dist/peculiar/p-9ad547d2.system.entry.js +5 -0
- package/dist/peculiar/p-9ad547d2.system.entry.js.map +1 -0
- package/dist/peculiar/{p-28b4d316.system.js → p-a1a48332.system.js} +2 -2
- package/dist/peculiar/{p-31d5da39.js → p-ab5a4988.js} +3 -3
- package/dist/peculiar/{p-31d5da39.js.map → p-ab5a4988.js.map} +1 -1
- package/dist/peculiar/{p-30e18f2d.system.js → p-ae44c2b0.system.js} +4 -4
- package/dist/peculiar/p-ae44c2b0.system.js.map +1 -0
- package/dist/peculiar/{p-9c8dc738.entry.js → p-bafd67f3.entry.js} +2 -2
- package/dist/peculiar/p-cd1b1876.entry.js +5 -0
- package/dist/peculiar/p-cd1b1876.entry.js.map +1 -0
- package/dist/peculiar/{p-82e4faf0.js → p-d5ba4fc2.js} +4 -4
- package/dist/peculiar/p-d5ba4fc2.js.map +1 -0
- package/dist/peculiar/p-e37e4df2.system.js +135 -0
- package/dist/peculiar/p-e37e4df2.system.js.map +1 -0
- package/dist/peculiar/{p-78a6b479.js → p-f8c91ee4.js} +4 -4
- package/dist/peculiar/{p-78a6b479.js.map → p-f8c91ee4.js.map} +1 -1
- package/dist/peculiar/{p-364df80d.system.entry.js → p-f9c07207.system.entry.js} +3 -3
- package/dist/peculiar/peculiar.esm.js +1 -1
- package/dist/types/components/certificate-decoder/certificate-decoder.d.ts +1 -1
- package/dist/types/constants/oids.d.ts +3 -0
- package/dist/types/utils/download.d.ts +4 -4
- package/dist/types/utils/validator.d.ts +0 -4
- package/hydrate/index.js +98 -89
- package/package.json +22 -22
- package/dist/cjs/certification_request-815ec558.js.map +0 -1
- package/dist/cjs/pkcs10_certificate_request-0ebc0023.js.map +0 -1
- package/dist/cjs/x509_certificate-9914b149.js.map +0 -1
- package/dist/cjs/x509_crl-86b6e71d.js.map +0 -1
- package/dist/esm/certification_request-08b4deb8.js.map +0 -1
- package/dist/esm/pkcs10_certificate_request-3763c2af.js.map +0 -1
- package/dist/esm/x509_certificate-47b4c5ee.js.map +0 -1
- package/dist/esm/x509_crl-ba76d3ed.js.map +0 -1
- package/dist/esm-es5/certification_request-08b4deb8.js.map +0 -1
- package/dist/esm-es5/x509_crl-ba76d3ed.js.map +0 -1
- package/dist/peculiar/p-30e18f2d.system.js.map +0 -1
- package/dist/peculiar/p-6acca6ea.js.map +0 -1
- package/dist/peculiar/p-82005297.system.entry.js +0 -5
- package/dist/peculiar/p-82005297.system.entry.js.map +0 -1
- package/dist/peculiar/p-82e4faf0.js.map +0 -1
- package/dist/peculiar/p-c3fce3f5.entry.js +0 -5
- package/dist/peculiar/p-c3fce3f5.entry.js.map +0 -1
- package/dist/peculiar/p-df2c8826.system.js +0 -135
- package/dist/peculiar/p-df2c8826.system.js.map +0 -1
- /package/dist/esm-es5/{miscellaneous-d4bbc6f2.js.map → miscellaneous-ba1fd2bd.js.map} +0 -0
- /package/dist/peculiar/{p-8db3e1fd.system.entry.js.map → p-1566ad92.system.entry.js.map} +0 -0
- /package/dist/peculiar/{p-c10bfa6a.system.js.map → p-2bc2abea.system.js.map} +0 -0
- /package/dist/peculiar/{p-84e3e94a.entry.js.map → p-5d1d4a96.entry.js.map} +0 -0
- /package/dist/peculiar/{p-f8efbe93.entry.js.map → p-67e82386.entry.js.map} +0 -0
- /package/dist/peculiar/{p-b0c963b1.js.map → p-6e2ad7eb.js.map} +0 -0
- /package/dist/peculiar/{p-0f3787cf.system.entry.js.map → p-9263e7ee.system.entry.js.map} +0 -0
- /package/dist/peculiar/{p-28b4d316.system.js.map → p-a1a48332.system.js.map} +0 -0
- /package/dist/peculiar/{p-9c8dc738.entry.js.map → p-bafd67f3.entry.js.map} +0 -0
- /package/dist/peculiar/{p-364df80d.system.entry.js.map → p-f9c07207.system.entry.js.map} +0 -0
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* © Peculiar Ventures https://peculiarventures.com/ - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { aM as isPem, aN as isX509Pem, aO as isPkcs10Pem, aP as isX509AttributePem, aQ as isX509CRLPem } from './download.js';
|
|
6
5
|
import { a as readAsBinaryString } from './read_file.js';
|
|
6
|
+
import './download.js';
|
|
7
7
|
import { X as X509Certificate, d as defineCustomElement$4 } from './certificate-viewer.js';
|
|
8
8
|
import { X as X509AttributeCertificate, d as defineCustomElement$5 } from './attribute-certificate-viewer.js';
|
|
9
9
|
import { P as Pkcs10CertificateRequest } from './pkcs10_certificate_request.js';
|
|
@@ -82,79 +82,22 @@ const CertificateDecoder = /*@__PURE__*/ proxyCustomElement(class CertificateDec
|
|
|
82
82
|
this.successParse.emit(value.toString('base64'));
|
|
83
83
|
}
|
|
84
84
|
decode(certificate) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
85
|
+
new Promise((resolve) => {
|
|
86
|
+
resolve(new X509Certificate(certificate));
|
|
87
|
+
})
|
|
88
|
+
.catch(() => new X509AttributeCertificate(certificate))
|
|
89
|
+
.catch(() => new Pkcs10CertificateRequest(certificate))
|
|
90
|
+
.catch(() => new X509Crl(certificate))
|
|
91
|
+
.then((res) => this.setValue(res))
|
|
92
|
+
.catch((err) => {
|
|
93
93
|
this.clearValue();
|
|
94
|
-
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
try {
|
|
98
|
-
if (isX509Pem$1) {
|
|
99
|
-
decoded = new X509Certificate(certificate);
|
|
100
|
-
}
|
|
101
|
-
if (isX509AttributePem$1) {
|
|
102
|
-
decoded = new X509AttributeCertificate(certificate);
|
|
103
|
-
}
|
|
104
|
-
if (isPkcs10Pem$1) {
|
|
105
|
-
decoded = new Pkcs10CertificateRequest(certificate);
|
|
106
|
-
}
|
|
107
|
-
if (isX509CRLPem$1) {
|
|
108
|
-
decoded = new X509Crl(certificate);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
catch (error) {
|
|
112
|
-
decodeError = error;
|
|
113
|
-
}
|
|
114
|
-
if (!decoded) {
|
|
115
|
-
try {
|
|
116
|
-
decoded = new X509Certificate(certificate);
|
|
117
|
-
}
|
|
118
|
-
catch (error) {
|
|
119
|
-
decodeError = error;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
if (!decoded) {
|
|
123
|
-
try {
|
|
124
|
-
decoded = new X509AttributeCertificate(certificate);
|
|
125
|
-
}
|
|
126
|
-
catch (error) {
|
|
127
|
-
decodeError = error;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
if (!decoded) {
|
|
131
|
-
try {
|
|
132
|
-
decoded = new Pkcs10CertificateRequest(certificate);
|
|
133
|
-
}
|
|
134
|
-
catch (error) {
|
|
135
|
-
decodeError = error;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
if (!decoded) {
|
|
139
|
-
try {
|
|
140
|
-
decoded = new X509Crl(certificate);
|
|
141
|
-
}
|
|
142
|
-
catch (error) {
|
|
143
|
-
decodeError = error;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
if (!decoded) {
|
|
147
|
-
this.clearValue();
|
|
148
|
-
console.log(decodeError);
|
|
94
|
+
console.log(err);
|
|
149
95
|
alert('Error decoding file. Please try to use Certificate/AttributeCertificate/CertificateRequest/CRL.');
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
this.setValue(decoded);
|
|
153
|
-
}
|
|
96
|
+
});
|
|
154
97
|
}
|
|
155
98
|
render() {
|
|
156
99
|
var _a;
|
|
157
|
-
return (h(Host, { key: '
|
|
100
|
+
return (h(Host, { key: '7c3bfca68882e39705e9640f76754cce2e5d6c6a' }, h("textarea", { key: '4d24f4b914f7f118efde2144e7597e0767d59ce8', placeholder: "Certificate DER or PEM", class: "textarea t-b2 c-black", ref: (el) => { this.inputPaste = el; }, onDrop: this.handleDropFile }), h("div", { key: '06ba6e2b5658225a585ec9711e6f3f945ef3a840', class: "controls" }, h("div", { key: 'df2e115ea04d4eae7985f6ee57bfe47354f50240', class: "control_row" }, h(Typography, { key: '05c30b2956055455cdb1f52b40995752dd0d7da4', variant: "b3", color: "secondary-tint-2" }, "Drag or load file:"), h("input", { key: 'cca59d7c59d9917e728f9795bcfbd546d4cf75b8', type: "file", accept: "application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl", onChange: this.handleChangeInputFile, value: "" })), ((_a = this.certificateExamples) === null || _a === void 0 ? void 0 : _a.length) && (h("div", { class: "control_row" }, h(Typography, { variant: "b3", color: "secondary-tint-2" }, "Load examples:"), h("select", { onChange: this.handleChangeExample }, h("option", { value: "" }, "None"), this.certificateExamples.map((example) => (h("option", { value: example.value }, example.title)))))), h("div", { key: '6d1f010e03d7836459214e5c0abe1af7fbbe2a10', class: "control_row" }, h(Button, { key: '4038db36b62ff11f592f380f5c98bebb0014585e', onClick: this.handleClickDecode }, "Decode"), h(Button, { key: 'fb7c30e61b10194b5f02a2cefa06191904f5ce46', onClick: this.handleClickClear }, "Clear"))), this.certificateDecoded instanceof X509Certificate && (h("peculiar-certificate-viewer", { certificate: this.certificateDecoded, class: "viewer", download: true })), this.certificateDecoded instanceof X509AttributeCertificate && (h("peculiar-attribute-certificate-viewer", { certificate: this.certificateDecoded, class: "viewer", download: true })), this.certificateDecoded instanceof Pkcs10CertificateRequest && (h("peculiar-csr-viewer", { certificate: this.certificateDecoded, class: "viewer", download: true })), this.certificateDecoded instanceof X509Crl && (h("peculiar-crl-viewer", { certificate: this.certificateDecoded, class: "viewer", download: true }))));
|
|
158
101
|
}
|
|
159
102
|
static get style() { return PeculiarCertificateDecoderStyle0; }
|
|
160
103
|
}, [1, "peculiar-certificate-decoder", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"peculiar-certificate-decoder.js","mappings":"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","names":["isPem","validator.isPem","isX509Pem","validator.isX509Pem","isPkcs10Pem","validator.isPkcs10Pem","isX509AttributePem","validator.isX509AttributePem","isX509CRLPem","validator.isX509CRLPem"],"sources":["src/components/certificate-decoder/certificate-decoder.scss?tag=peculiar-certificate-decoder&encapsulation=shadow","src/components/certificate-decoder/certificate-decoder.tsx"],"sourcesContent":["@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.textarea {\n min-height: 300px;\n width: 100%;\n border-radius: 4px;\n border: 1px solid var(--pv-color-gray-5);;\n padding: 14px;\n font-family: monospace;\n resize: vertical;\n}\n\n.viewer {\n margin-top: var(--pv-size-base-12);\n}\n\n.controls {\n margin-top: var(--pv-size-base-2);\n display: flex;\n flex-direction: column;\n gap: var(--pv-size-base-2);\n}\n\n.control_row {\n display: flex;\n align-items: center;\n gap: var(--pv-size-base);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n State,\n Prop,\n Event,\n EventEmitter,\n} from '@stencil/core';\n\nimport { validator, readAsBinaryString } from '../../utils';\nimport {\n X509Certificate,\n X509AttributeCertificate,\n Pkcs10CertificateRequest,\n X509Crl,\n} from '../../crypto';\nimport { Button } from '../button';\nimport { Typography } from '../typography';\n\n@Component({\n tag: 'peculiar-certificate-decoder',\n styleUrl: 'certificate-decoder.scss',\n shadow: true,\n})\nexport class CertificateDecoder {\n private inputPaste?: HTMLTextAreaElement;\n\n /**\n * The example certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateExamples?: {\n title: string;\n value: string;\n }[];\n\n /**\n * The default certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() defaultCertificate?: string;\n\n @State() certificateDecoded: X509Certificate\n | X509AttributeCertificate\n | Pkcs10CertificateRequest\n | X509Crl;\n\n /**\n * Emitted when the certificate has been successfully parsed.\n */\n @Event() successParse!: EventEmitter<string>;\n\n /**\n * Emitted when the certificate has been removed.\n */\n @Event() clearCertificate!: EventEmitter<void>;\n\n componentDidLoad() {\n if (this.defaultCertificate) {\n /**\n * Prevent Stencil warning about re-render\n */\n setTimeout(() => this.decode(this.defaultCertificate), 100);\n }\n }\n\n private handleClickDecode = () => {\n const { value } = this.inputPaste;\n\n if (value) {\n this.decode(value);\n }\n };\n\n private handleClickClear = () => {\n this.clearValue();\n };\n\n private handleChangeInputFile = async (event: any) => {\n const element = event.target;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n\n element.value = '';\n }\n };\n\n private handleChangeExample = (event: any) => {\n if (event.target.value) {\n this.decode(event.target.value);\n } else {\n this.clearValue();\n }\n };\n\n private handleDropFile = async (event: any) => {\n event.stopPropagation();\n event.preventDefault();\n\n const element = event.dataTransfer;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n }\n };\n\n clearValue() {\n this.inputPaste.value = '';\n this.certificateDecoded = null;\n this.clearCertificate.emit();\n }\n\n setValue(value: X509Certificate | X509AttributeCertificate | Pkcs10CertificateRequest | X509Crl) {\n this.certificateDecoded = value;\n this.inputPaste.value = value.toString('pem');\n this.successParse.emit(value.toString('base64'));\n }\n\n decode(certificate: string) {\n const isPem = validator.isPem(certificate);\n const isX509Pem = validator.isX509Pem(certificate);\n const isPkcs10Pem = validator.isPkcs10Pem(certificate);\n const isX509AttributePem = validator.isX509AttributePem(certificate);\n const isX509CRLPem = validator.isX509CRLPem(certificate);\n let decoded: X509Certificate | X509AttributeCertificate | Pkcs10CertificateRequest | X509Crl;\n let decodeError: Error;\n\n if (isPem && !(isX509Pem || isX509AttributePem || isPkcs10Pem || isX509CRLPem)) {\n this.clearValue();\n\n alert('Unsupported file type. Please try to use Certificate/AttributeCertificate/CertificateRequest/CRL.');\n\n return;\n }\n\n try {\n if (isX509Pem) {\n decoded = new X509Certificate(certificate);\n }\n\n if (isX509AttributePem) {\n decoded = new X509AttributeCertificate(certificate);\n }\n\n if (isPkcs10Pem) {\n decoded = new Pkcs10CertificateRequest(certificate);\n }\n\n if (isX509CRLPem) {\n decoded = new X509Crl(certificate);\n }\n } catch (error) {\n decodeError = error;\n }\n\n if (!decoded) {\n try {\n decoded = new X509Certificate(certificate);\n } catch (error) {\n decodeError = error;\n }\n }\n\n if (!decoded) {\n try {\n decoded = new X509AttributeCertificate(certificate);\n } catch (error) {\n decodeError = error;\n }\n }\n\n if (!decoded) {\n try {\n decoded = new Pkcs10CertificateRequest(certificate);\n } catch (error) {\n decodeError = error;\n }\n }\n\n if (!decoded) {\n try {\n decoded = new X509Crl(certificate);\n } catch (error) {\n decodeError = error;\n }\n }\n\n if (!decoded) {\n this.clearValue();\n\n console.log(decodeError);\n alert('Error decoding file. Please try to use Certificate/AttributeCertificate/CertificateRequest/CRL.');\n } else {\n this.setValue(decoded);\n }\n }\n\n render() {\n return (\n <Host>\n <textarea\n placeholder=\"Certificate DER or PEM\"\n class=\"textarea t-b2 c-black\"\n ref={(el) => { this.inputPaste = el; }}\n onDrop={this.handleDropFile}\n />\n <div class=\"controls\">\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Drag or load file:\n </Typography>\n <input\n type=\"file\"\n accept=\"application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl\"\n onChange={this.handleChangeInputFile}\n value=\"\"\n />\n </div>\n {this.certificateExamples?.length && (\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Load examples:\n </Typography>\n <select onChange={this.handleChangeExample}>\n <option value=\"\">None</option>\n {this.certificateExamples.map((example) => (\n <option value={example.value}>\n {example.title}\n </option>\n ))}\n </select>\n </div>\n )}\n <div class=\"control_row\">\n <Button\n onClick={this.handleClickDecode}\n >\n Decode\n </Button>\n <Button\n onClick={this.handleClickClear}\n >\n Clear\n </Button>\n </div>\n </div>\n {this.certificateDecoded instanceof X509Certificate && (\n <peculiar-certificate-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n {this.certificateDecoded instanceof X509AttributeCertificate && (\n <peculiar-attribute-certificate-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n {this.certificateDecoded instanceof Pkcs10CertificateRequest && (\n <peculiar-csr-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n {this.certificateDecoded instanceof X509Crl && (\n <peculiar-crl-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"peculiar-certificate-decoder.js","mappings":"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","names":[],"sources":["src/components/certificate-decoder/certificate-decoder.scss?tag=peculiar-certificate-decoder&encapsulation=shadow","src/components/certificate-decoder/certificate-decoder.tsx"],"sourcesContent":["@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.textarea {\n min-height: 300px;\n width: 100%;\n border-radius: 4px;\n border: 1px solid var(--pv-color-gray-5);;\n padding: 14px;\n font-family: monospace;\n resize: vertical;\n}\n\n.viewer {\n margin-top: var(--pv-size-base-12);\n}\n\n.controls {\n margin-top: var(--pv-size-base-2);\n display: flex;\n flex-direction: column;\n gap: var(--pv-size-base-2);\n}\n\n.control_row {\n display: flex;\n align-items: center;\n gap: var(--pv-size-base);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n State,\n Prop,\n Event,\n EventEmitter,\n} from '@stencil/core';\n\nimport { readAsBinaryString } from '../../utils';\nimport {\n X509Certificate,\n X509AttributeCertificate,\n Pkcs10CertificateRequest,\n X509Crl,\n} from '../../crypto';\nimport { Button } from '../button';\nimport { Typography } from '../typography';\n\n@Component({\n tag: 'peculiar-certificate-decoder',\n styleUrl: 'certificate-decoder.scss',\n shadow: true,\n})\nexport class CertificateDecoder {\n private inputPaste?: HTMLTextAreaElement;\n\n /**\n * The example certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateExamples?: {\n title: string;\n value: string;\n }[];\n\n /**\n * The default certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() defaultCertificate?: string;\n\n @State() certificateDecoded: X509Certificate\n | X509AttributeCertificate\n | Pkcs10CertificateRequest\n | X509Crl;\n\n /**\n * Emitted when the certificate has been successfully parsed.\n */\n @Event() successParse!: EventEmitter<string>;\n\n /**\n * Emitted when the certificate has been removed.\n */\n @Event() clearCertificate!: EventEmitter<void>;\n\n componentDidLoad() {\n if (this.defaultCertificate) {\n /**\n * Prevent Stencil warning about re-render\n */\n setTimeout(() => this.decode(this.defaultCertificate), 100);\n }\n }\n\n private handleClickDecode = () => {\n const { value } = this.inputPaste;\n\n if (value) {\n this.decode(value);\n }\n };\n\n private handleClickClear = () => {\n this.clearValue();\n };\n\n private handleChangeInputFile = async (event: any) => {\n const element = event.target;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n\n element.value = '';\n }\n };\n\n private handleChangeExample = (event: any) => {\n if (event.target.value) {\n this.decode(event.target.value);\n } else {\n this.clearValue();\n }\n };\n\n private handleDropFile = async (event: any) => {\n event.stopPropagation();\n event.preventDefault();\n\n const element = event.dataTransfer;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n }\n };\n\n clearValue() {\n this.inputPaste.value = '';\n this.certificateDecoded = null;\n this.clearCertificate.emit();\n }\n\n setValue(value: typeof this.certificateDecoded) {\n this.certificateDecoded = value;\n this.inputPaste.value = value.toString('pem');\n this.successParse.emit(value.toString('base64'));\n }\n\n decode(certificate: string) {\n new Promise((resolve) => {\n resolve(new X509Certificate(certificate));\n })\n .catch(() => new X509AttributeCertificate(certificate))\n .catch(() => new Pkcs10CertificateRequest(certificate))\n .catch(() => new X509Crl(certificate))\n .then((res: typeof this.certificateDecoded) => this.setValue(res))\n .catch((err) => {\n this.clearValue();\n\n console.log(err);\n alert('Error decoding file. Please try to use Certificate/AttributeCertificate/CertificateRequest/CRL.');\n });\n }\n\n render() {\n return (\n <Host>\n <textarea\n placeholder=\"Certificate DER or PEM\"\n class=\"textarea t-b2 c-black\"\n ref={(el) => { this.inputPaste = el; }}\n onDrop={this.handleDropFile}\n />\n <div class=\"controls\">\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Drag or load file:\n </Typography>\n <input\n type=\"file\"\n accept=\"application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl\"\n onChange={this.handleChangeInputFile}\n value=\"\"\n />\n </div>\n {this.certificateExamples?.length && (\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Load examples:\n </Typography>\n <select onChange={this.handleChangeExample}>\n <option value=\"\">None</option>\n {this.certificateExamples.map((example) => (\n <option value={example.value}>\n {example.title}\n </option>\n ))}\n </select>\n </div>\n )}\n <div class=\"control_row\">\n <Button\n onClick={this.handleClickDecode}\n >\n Decode\n </Button>\n <Button\n onClick={this.handleClickClear}\n >\n Clear\n </Button>\n </div>\n </div>\n {this.certificateDecoded instanceof X509Certificate && (\n <peculiar-certificate-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n {this.certificateDecoded instanceof X509AttributeCertificate && (\n <peculiar-attribute-certificate-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n {this.certificateDecoded instanceof Pkcs10CertificateRequest && (\n <peculiar-csr-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n {this.certificateDecoded instanceof X509Crl && (\n <peculiar-crl-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -93,7 +93,7 @@ class Pkcs10CertificateRequest extends AsnData {
|
|
|
93
93
|
Download.csr.asPEM(this.toString('pem'), name || this.commonName);
|
|
94
94
|
}
|
|
95
95
|
downloadAsDER(name) {
|
|
96
|
-
Download.csr.asDER(this.
|
|
96
|
+
Download.csr.asDER(this.raw, name || this.commonName);
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pkcs10_certificate_request.js","mappings":"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
|
|
1
|
+
{"file":"pkcs10_certificate_request.js","mappings":";;;;;;AAAA;;;;;;;MA0Ca,wBAAyB,SAAQ,OAA6B;IAezE,YAAY,GAAW;QACrB,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAPpD,gBAAW,GAA2B,EAAE,CAAC;QAEhC,SAAI,GAAG,6BAA6B,CAAC;QAErC,QAAG,GAAG,qBAAqB,CAAC;QAK1C,MAAM,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAE9C,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QACnE,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC;KACjD;IAED,IAAW,SAAS;QAClB,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,aAAa,CAAC;QACxF,IAAI,MAAM,CAAC;QAEX,IAAI,SAAS,CAAC,SAAS,KAAK,cAAc,IAAI,SAAS,CAAC,UAAU,EAAE;YAClE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;SAC/D;QAED,IAAI,SAAS,CAAC,SAAS,KAAK,gBAAgB,EAAE;YAC5C,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;SAC3D;QAED,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;QAEnF,OAAO;YACL,MAAM;YACN,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,SAAS,CAAC,SAAS;SAC/B,CAAC;KACH;IAED,IAAW,SAAS;QAClB,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnD,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,kBAAkB,CAAC,SAAS;SACxC,CAAC;KACH;IAED,IAAW,UAAU;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO,EAAE,CAAC;SACX;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAE7B,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,EAAE;gBAC/E,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;SACF;QAED,OAAO,EAAE,CAAC;KACX;IAEM,MAAM,aAAa,CACxB,YAAoB,OAAO;QAE3B,IAAI;YACF,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAEvE,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAGA,SAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aACzD;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;SAC/C;KACF;IAEM,eAAe;QACpB,MAAM,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAE9C,IAAI,wBAAwB,CAAC,UAAU,EAAE;YACvC,IAAI,CAAC,UAAU,GAAG,wBAAwB,CAAC,UAAU;iBAClD,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtD,MAAM,yBAAyB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACpD,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,4BAA4B,CACpC,CAAC;YAEjC,IAAI,yBAAyB,EAAE;gBAC7B,IAAI,CAAC,UAAU,GAAG,yBAAyB,CAAC,KAAK;qBAC9C,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACvD;SACF;KACF;IAEM,QAAQ,CAAC,SAAmC,KAAK;QACtD,QAAQ,MAAM;YACZ,KAAK,KAAK;gBACR,OAAO,SAAS,CAACA,SAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,KAAK,KAAK;gBACR,OAAO,cAAc,IAAI,CAAC,GAAG,UAAU,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,cAAc,IAAI,CAAC,GAAG,OAAO,CAAC;YAC5G;gBACE,OAAOA,SAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACrC;KACF;IAEM,aAAa,CAAC,IAAa;QAChC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACpB,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB,CAAC;KACH;IAEM,aAAa,CAAC,IAAa;QAChC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAChB,IAAI,CAAC,GAAG,EACR,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB,CAAC;KACH;;;;;","names":["Convert"],"sources":["src/crypto/pkcs10_certificate_request.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { AsnConvert } from '@peculiar/asn1-schema';\nimport { ECParameters, id_ecPublicKey } from '@peculiar/asn1-ecc';\nimport { id_rsaEncryption, RSAPublicKey } from '@peculiar/asn1-rsa';\nimport { CertificationRequest } from '@peculiar/asn1-csr';\nimport {\n id_pkcs9_at_extensionRequest,\n ExtensionRequest,\n} from '@peculiar/asn1-pkcs9';\nimport { Convert } from 'pvtsutils';\n\nimport { Download } from '../utils';\n\nimport { AsnData } from './asn_data';\nimport { Name, INameJSON } from './name';\nimport { Attribute, TAttributeValue } from './attribute';\nimport { Extension, TExtensionValue } from './extension';\nimport {\n certificateRawToBuffer,\n hexFormat,\n base64Format,\n getCertificateThumbprint,\n} from './utils';\n\ninterface ISignature {\n algorithm: string;\n value: BufferSource;\n}\n\ninterface IPublicKey {\n algorithm: string;\n value: BufferSource;\n params?: ECParameters | RSAPublicKey;\n}\n\nexport class Pkcs10CertificateRequest extends AsnData<CertificationRequest> {\n public readonly subject: INameJSON[];\n\n public readonly version: number;\n\n public attributes: Attribute<TAttributeValue>[];\n\n public extensions: Extension<TExtensionValue>[];\n\n public thumbprints: Record<string, string> = {};\n\n public readonly type = 'PKCS#10 Certificate Request';\n\n public readonly tag = 'CERTIFICATE REQUEST';\n\n constructor(raw: string) {\n super(certificateRawToBuffer(raw), CertificationRequest);\n\n const { certificationRequestInfo } = this.asn;\n\n this.subject = new Name(certificationRequestInfo.subject).toJSON();\n this.version = certificationRequestInfo.version;\n }\n\n public get publicKey(): IPublicKey {\n const { subjectPublicKey, algorithm } = this.asn.certificationRequestInfo.subjectPKInfo;\n let params;\n\n if (algorithm.algorithm === id_ecPublicKey && algorithm.parameters) {\n params = AsnConvert.parse(algorithm.parameters, ECParameters);\n }\n\n if (algorithm.algorithm === id_rsaEncryption) {\n params = AsnConvert.parse(subjectPublicKey, RSAPublicKey);\n }\n\n const spki = AsnConvert.serialize(this.asn.certificationRequestInfo.subjectPKInfo);\n\n return {\n params,\n value: spki,\n algorithm: algorithm.algorithm,\n };\n }\n\n public get signature(): ISignature {\n const { signature, signatureAlgorithm } = this.asn;\n\n return {\n value: signature,\n algorithm: signatureAlgorithm.algorithm,\n };\n }\n\n public get commonName(): string {\n if (!this.subject) {\n return '';\n }\n\n for (let i = 0; i < this.subject.length; i += 1) {\n const name = this.subject[i];\n\n if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {\n return name.value;\n }\n }\n\n return '';\n }\n\n public async getThumbprint(\n algorithm: string = 'SHA-1',\n ): Promise<void> {\n try {\n const thumbprint = await getCertificateThumbprint(algorithm, this.raw);\n\n if (thumbprint) {\n this.thumbprints[algorithm] = Convert.ToHex(thumbprint);\n }\n } catch (error) {\n console.error('Error thumbprint get:', error);\n }\n }\n\n public parseAttributes() {\n const { certificationRequestInfo } = this.asn;\n\n if (certificationRequestInfo.attributes) {\n this.attributes = certificationRequestInfo.attributes\n .map((e) => new Attribute(AsnConvert.serialize(e)));\n\n const extensionRequestAttribute = this.attributes.find(\n (attribute) => attribute.asn.type === id_pkcs9_at_extensionRequest,\n ) as Attribute<ExtensionRequest>;\n\n if (extensionRequestAttribute) {\n this.extensions = extensionRequestAttribute.value\n .map((e) => new Extension(AsnConvert.serialize(e)));\n }\n }\n }\n\n public toString(format: 'hex' | 'pem' | 'base64' = 'pem'): string {\n switch (format) {\n case 'hex':\n return hexFormat(Convert.ToHex(this.raw));\n case 'pem':\n return `-----BEGIN ${this.tag}-----\\n${base64Format(this.toString('base64'))}\\n-----END ${this.tag}-----`;\n default:\n return Convert.ToBase64(this.raw);\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.csr.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.csr.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n"],"version":3}
|
|
@@ -440,32 +440,32 @@ Download.cert = {
|
|
|
440
440
|
asPEM: (pem, name) => {
|
|
441
441
|
downloadFromBuffer(Convert_1.FromString(pem), name, 'cer', 'application/pkix-cert');
|
|
442
442
|
},
|
|
443
|
-
asDER: (
|
|
444
|
-
downloadFromBuffer(
|
|
443
|
+
asDER: (raw, name) => {
|
|
444
|
+
downloadFromBuffer(raw, name, 'cer', 'application/pkix-cert');
|
|
445
445
|
},
|
|
446
446
|
};
|
|
447
447
|
Download.attrCert = {
|
|
448
448
|
asPEM: (pem, name) => {
|
|
449
449
|
downloadFromBuffer(Convert_1.FromString(pem), name, 'cer', 'application/pkix-attr-cert');
|
|
450
450
|
},
|
|
451
|
-
asDER: (
|
|
452
|
-
downloadFromBuffer(
|
|
451
|
+
asDER: (raw, name) => {
|
|
452
|
+
downloadFromBuffer(raw, name, 'cer', 'application/pkix-attr-cert');
|
|
453
453
|
},
|
|
454
454
|
};
|
|
455
455
|
Download.csr = {
|
|
456
456
|
asPEM: (pem, name) => {
|
|
457
457
|
downloadFromBuffer(Convert_1.FromString(pem), name, 'csr', 'application/pkcs10');
|
|
458
458
|
},
|
|
459
|
-
asDER: (
|
|
460
|
-
downloadFromBuffer(
|
|
459
|
+
asDER: (raw, name) => {
|
|
460
|
+
downloadFromBuffer(raw, name, 'csr', 'application/pkcs10');
|
|
461
461
|
},
|
|
462
462
|
};
|
|
463
463
|
Download.crl = {
|
|
464
464
|
asPEM: (pem, name) => {
|
|
465
465
|
downloadFromBuffer(Convert_1.FromString(pem), name, 'crl', 'application/pkix-crl');
|
|
466
466
|
},
|
|
467
|
-
asDER: (
|
|
468
|
-
downloadFromBuffer(
|
|
467
|
+
asDER: (raw, name) => {
|
|
468
|
+
downloadFromBuffer(raw, name, 'crl', 'application/pkix-crl');
|
|
469
469
|
},
|
|
470
470
|
};
|
|
471
471
|
|
|
@@ -6765,6 +6765,71 @@ create$1(id_ecdsaWithSHA256);
|
|
|
6765
6765
|
create$1(id_ecdsaWithSHA384);
|
|
6766
6766
|
create$1(id_ecdsaWithSHA512);
|
|
6767
6767
|
|
|
6768
|
+
let FieldID = class FieldID {
|
|
6769
|
+
constructor(params = {}) {
|
|
6770
|
+
Object.assign(this, params);
|
|
6771
|
+
}
|
|
6772
|
+
};
|
|
6773
|
+
__decorate$1([
|
|
6774
|
+
AsnProp({ type: exports.AsnPropTypes.ObjectIdentifier })
|
|
6775
|
+
], FieldID.prototype, "fieldType", void 0);
|
|
6776
|
+
__decorate$1([
|
|
6777
|
+
AsnProp({ type: exports.AsnPropTypes.Any })
|
|
6778
|
+
], FieldID.prototype, "parameters", void 0);
|
|
6779
|
+
FieldID = __decorate$1([
|
|
6780
|
+
AsnType({ type: exports.AsnTypeTypes.Sequence })
|
|
6781
|
+
], FieldID);
|
|
6782
|
+
class ECPoint extends OctetString {
|
|
6783
|
+
}
|
|
6784
|
+
let Curve = class Curve {
|
|
6785
|
+
constructor(params = {}) {
|
|
6786
|
+
Object.assign(this, params);
|
|
6787
|
+
}
|
|
6788
|
+
};
|
|
6789
|
+
__decorate$1([
|
|
6790
|
+
AsnProp({ type: exports.AsnPropTypes.OctetString })
|
|
6791
|
+
], Curve.prototype, "a", void 0);
|
|
6792
|
+
__decorate$1([
|
|
6793
|
+
AsnProp({ type: exports.AsnPropTypes.OctetString })
|
|
6794
|
+
], Curve.prototype, "b", void 0);
|
|
6795
|
+
__decorate$1([
|
|
6796
|
+
AsnProp({ type: exports.AsnPropTypes.BitString, optional: true })
|
|
6797
|
+
], Curve.prototype, "seed", void 0);
|
|
6798
|
+
Curve = __decorate$1([
|
|
6799
|
+
AsnType({ type: exports.AsnTypeTypes.Sequence })
|
|
6800
|
+
], Curve);
|
|
6801
|
+
var ECPVer;
|
|
6802
|
+
(function (ECPVer) {
|
|
6803
|
+
ECPVer[ECPVer["ecpVer1"] = 1] = "ecpVer1";
|
|
6804
|
+
})(ECPVer || (ECPVer = {}));
|
|
6805
|
+
let SpecifiedECDomain = class SpecifiedECDomain {
|
|
6806
|
+
constructor(params = {}) {
|
|
6807
|
+
this.version = ECPVer.ecpVer1;
|
|
6808
|
+
Object.assign(this, params);
|
|
6809
|
+
}
|
|
6810
|
+
};
|
|
6811
|
+
__decorate$1([
|
|
6812
|
+
AsnProp({ type: exports.AsnPropTypes.Integer })
|
|
6813
|
+
], SpecifiedECDomain.prototype, "version", void 0);
|
|
6814
|
+
__decorate$1([
|
|
6815
|
+
AsnProp({ type: FieldID })
|
|
6816
|
+
], SpecifiedECDomain.prototype, "fieldID", void 0);
|
|
6817
|
+
__decorate$1([
|
|
6818
|
+
AsnProp({ type: Curve })
|
|
6819
|
+
], SpecifiedECDomain.prototype, "curve", void 0);
|
|
6820
|
+
__decorate$1([
|
|
6821
|
+
AsnProp({ type: ECPoint })
|
|
6822
|
+
], SpecifiedECDomain.prototype, "base", void 0);
|
|
6823
|
+
__decorate$1([
|
|
6824
|
+
AsnProp({ type: exports.AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter })
|
|
6825
|
+
], SpecifiedECDomain.prototype, "order", void 0);
|
|
6826
|
+
__decorate$1([
|
|
6827
|
+
AsnProp({ type: exports.AsnPropTypes.Integer, optional: true })
|
|
6828
|
+
], SpecifiedECDomain.prototype, "cofactor", void 0);
|
|
6829
|
+
SpecifiedECDomain = __decorate$1([
|
|
6830
|
+
AsnType({ type: exports.AsnTypeTypes.Sequence })
|
|
6831
|
+
], SpecifiedECDomain);
|
|
6832
|
+
|
|
6768
6833
|
exports.ECParameters = class ECParameters {
|
|
6769
6834
|
constructor(params = {}) {
|
|
6770
6835
|
Object.assign(this, params);
|
|
@@ -6773,6 +6838,12 @@ exports.ECParameters = class ECParameters {
|
|
|
6773
6838
|
__decorate$1([
|
|
6774
6839
|
AsnProp({ type: exports.AsnPropTypes.ObjectIdentifier })
|
|
6775
6840
|
], exports.ECParameters.prototype, "namedCurve", void 0);
|
|
6841
|
+
__decorate$1([
|
|
6842
|
+
AsnProp({ type: exports.AsnPropTypes.Null })
|
|
6843
|
+
], exports.ECParameters.prototype, "implicitCurve", void 0);
|
|
6844
|
+
__decorate$1([
|
|
6845
|
+
AsnProp({ type: SpecifiedECDomain })
|
|
6846
|
+
], exports.ECParameters.prototype, "specifiedCurve", void 0);
|
|
6776
6847
|
exports.ECParameters = __decorate$1([
|
|
6777
6848
|
AsnType({ type: exports.AsnTypeTypes.Choice })
|
|
6778
6849
|
], exports.ECParameters);
|
|
@@ -7183,14 +7254,6 @@ const isHex = (value) => (/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/
|
|
|
7183
7254
|
.test(value));
|
|
7184
7255
|
const isPem = (value) => (/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/
|
|
7185
7256
|
.test(value));
|
|
7186
|
-
const isX509Pem = (value) => (/-----BEGIN CERTIFICATE-----([A-Za-z0-9+\/=\s]+)-----END CERTIFICATE-----/
|
|
7187
|
-
.test(value));
|
|
7188
|
-
const isX509CRLPem = (value) => (/-----BEGIN X509 CRL-----([A-Za-z0-9+\/=\s]+)-----END X509 CRL-----/
|
|
7189
|
-
.test(value));
|
|
7190
|
-
const isPkcs10Pem = (value) => (/-----BEGIN CERTIFICATE REQUEST-----([A-Za-z0-9+\/=\s]+)-----END CERTIFICATE REQUEST-----/
|
|
7191
|
-
.test(value));
|
|
7192
|
-
const isX509AttributePem = (value) => (/-----BEGIN ATTRIBUTE CERTIFICATE-----([A-Za-z0-9+\/=\s]+)-----END ATTRIBUTE CERTIFICATE-----/
|
|
7193
|
-
.test(value));
|
|
7194
7257
|
const isBase64 = (value) => {
|
|
7195
7258
|
try {
|
|
7196
7259
|
window.atob(value);
|
|
@@ -8354,6 +8417,7 @@ const OIDs = {
|
|
|
8354
8417
|
'1.2.840.113635.100.4.6.3': 'Apple Crypto Tier2 QoS',
|
|
8355
8418
|
'1.2.840.113635.100.4.6.4': 'Apple Crypto Tier3 QoS',
|
|
8356
8419
|
'1.2.840.113635.100.4.7': 'Apple ID Sharing Certificate',
|
|
8420
|
+
'1.2.840.113635.100.4.13': 'Apple Extended Key Usage Developer ID Installer',
|
|
8357
8421
|
'1.2.840.113635.100.5': 'Apple Certificate Policies',
|
|
8358
8422
|
'1.2.840.113635.100.5.1': 'Apple Certificate Policy ID',
|
|
8359
8423
|
'1.2.840.113635.100.5.2': 'Apple Dot Mac Certificate Policy ID',
|
|
@@ -8365,6 +8429,8 @@ const OIDs = {
|
|
|
8365
8429
|
'1.2.840.113635.100.6.1.2': 'Apple Certificate Extension ADC Developer Signing',
|
|
8366
8430
|
'1.2.840.113635.100.6.1.3': 'Apple Certificate Extension ADC Apple Signing',
|
|
8367
8431
|
'1.2.840.113635.100.6.2.3': 'Apple Application Integration',
|
|
8432
|
+
'1.2.840.113635.100.6.1.33': 'Apple Certificate Extension Developer ID Date',
|
|
8433
|
+
'1.2.840.113635.100.6.1.14': 'Apple Certificate Extension Developer ID Installer',
|
|
8368
8434
|
'1.2.840.114021.1.6.1': 'Identrus unknown policy Identifier',
|
|
8369
8435
|
'1.2.840.114021.4.1': 'Identrus OCSP',
|
|
8370
8436
|
'1.3.6.1.4.1.188.7.1.1': 'Ascom',
|
|
@@ -12570,7 +12636,7 @@ __decorate$1([
|
|
|
12570
12636
|
AsnProp({ type: CertificateSet, context: 0, implicit: true, optional: true })
|
|
12571
12637
|
], SignedData.prototype, "certificates", void 0);
|
|
12572
12638
|
__decorate$1([
|
|
12573
|
-
AsnProp({ type:
|
|
12639
|
+
AsnProp({ type: RevocationInfoChoices, context: 1, implicit: true, optional: true })
|
|
12574
12640
|
], SignedData.prototype, "crls", void 0);
|
|
12575
12641
|
__decorate$1([
|
|
12576
12642
|
AsnProp({ type: SignerInfos })
|
|
@@ -13048,11 +13114,6 @@ exports.id_pkcs9_at_extensionRequest = id_pkcs9_at_extensionRequest;
|
|
|
13048
13114
|
exports.id_pkcs9_at_unstructuredName = id_pkcs9_at_unstructuredName;
|
|
13049
13115
|
exports.id_qcs_pkixQCSyntax_v2 = id_qcs_pkixQCSyntax_v2;
|
|
13050
13116
|
exports.id_rsaEncryption = id_rsaEncryption;
|
|
13051
|
-
exports.isPem = isPem;
|
|
13052
|
-
exports.isPkcs10Pem = isPkcs10Pem;
|
|
13053
|
-
exports.isX509AttributePem = isX509AttributePem;
|
|
13054
|
-
exports.isX509CRLPem = isX509CRLPem;
|
|
13055
|
-
exports.isX509Pem = isX509Pem;
|
|
13056
13117
|
exports.l10n = l10n;
|
|
13057
13118
|
|
|
13058
|
-
//# sourceMappingURL=certification_request-
|
|
13119
|
+
//# sourceMappingURL=certification_request-ad267278.js.map
|