@fedify/vocab-runtime 2.1.0-dev.592 → 2.1.0-dev.599

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.
Files changed (58) hide show
  1. package/deno.json +1 -1
  2. package/dist/mod.cjs +4428 -4289
  3. package/dist/mod.d.cts +95 -4
  4. package/dist/mod.d.ts +95 -4
  5. package/dist/mod.js +4426 -4290
  6. package/dist/tests/decimal.test.cjs +154 -0
  7. package/dist/tests/decimal.test.d.cts +1 -0
  8. package/dist/tests/decimal.test.d.ts +1 -0
  9. package/dist/tests/decimal.test.js +153 -0
  10. package/dist/tests/docloader-B7jXFZpf.cjs +4562 -0
  11. package/dist/tests/docloader-DMCOWvVB.js +4550 -0
  12. package/dist/tests/docloader.test.cjs +7 -4491
  13. package/dist/tests/docloader.test.js +4 -4488
  14. package/dist/tests/internal/multicodec.test.cjs +1 -1
  15. package/dist/tests/internal/multicodec.test.js +1 -1
  16. package/dist/tests/key-ByCmSI2y.js +183 -0
  17. package/dist/tests/key-CCPn6TEY.cjs +231 -0
  18. package/dist/tests/key.test.cjs +33 -211
  19. package/dist/tests/key.test.js +3 -181
  20. package/dist/tests/langstr-BsVE3s9u.js +30 -0
  21. package/dist/tests/langstr-EPh86hXK.cjs +36 -0
  22. package/dist/tests/langstr.test.cjs +5 -33
  23. package/dist/tests/langstr.test.js +1 -29
  24. package/dist/tests/link.test.cjs +1 -1
  25. package/dist/tests/link.test.js +1 -1
  26. package/dist/tests/multibase/multibase.test.cjs +1 -1
  27. package/dist/tests/multibase/multibase.test.js +1 -1
  28. package/dist/tests/{request-DKDE-Rcx.js → request-BQtyeAfw.js} +1 -1
  29. package/dist/tests/{request-CK7hgRUX.cjs → request-CW9KOmQu.cjs} +1 -1
  30. package/dist/tests/request.test.cjs +1 -1
  31. package/dist/tests/request.test.js +1 -1
  32. package/dist/tests/url.test.cjs +1 -1
  33. package/dist/tests/url.test.js +1 -1
  34. package/package.json +1 -1
  35. package/src/contexts/activitystreams.json +379 -0
  36. package/src/contexts/did-v1.json +57 -0
  37. package/src/contexts/fep-5711.json +36 -0
  38. package/src/contexts/gotosocial.json +86 -0
  39. package/src/contexts/identity-v1.json +152 -0
  40. package/src/contexts/joinmastodon.json +28 -0
  41. package/src/contexts/schemaorg.json +8845 -0
  42. package/src/contexts/security-data-integrity-v1.json +78 -0
  43. package/src/contexts/security-data-integrity-v2.json +81 -0
  44. package/src/contexts/security-multikey-v1.json +35 -0
  45. package/src/contexts/security-v1.json +74 -0
  46. package/src/contexts/webfinger.json +10 -0
  47. package/src/contexts.ts +33 -4392
  48. package/src/decimal.test.ts +90 -0
  49. package/src/decimal.ts +112 -0
  50. package/src/mod.ts +6 -0
  51. /package/dist/tests/{link-Ck2yj4dH.js → link-C3q2TC2G.js} +0 -0
  52. /package/dist/tests/{link-CdFPEo9O.cjs → link-DYNFAdNu.cjs} +0 -0
  53. /package/dist/tests/{multibase-BdHCGO4H.js → multibase-B4g8pz6F.js} +0 -0
  54. /package/dist/tests/{multibase-B2D6B0V4.cjs → multibase-o_ovPHYJ.cjs} +0 -0
  55. /package/dist/tests/{multicodec-mHcRzSGY.cjs → multicodec--6hQ74zI.cjs} +0 -0
  56. /package/dist/tests/{multicodec-DvC5xnX2.js → multicodec-Dq3IiOV4.js} +0 -0
  57. /package/dist/tests/{url-fW_DHbih.js → url-CWEP9Zs9.js} +0 -0
  58. /package/dist/tests/{url-C5Vs9nYh.cjs → url-DIjOdK8Q.cjs} +0 -0
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require('../chunk-DWy1uDak.cjs');
2
- const require_multicodec = require('../multicodec-mHcRzSGY.cjs');
2
+ const require_multicodec = require('../multicodec--6hQ74zI.cjs');
3
3
  const node_assert = require_chunk.__toESM(require("node:assert"));
4
4
  const node_test = require_chunk.__toESM(require("node:test"));
5
5
 
@@ -1,4 +1,4 @@
1
- import { addMulticodecPrefix, getMulticodecPrefix, removeMulticodecPrefix } from "../multicodec-DvC5xnX2.js";
1
+ import { addMulticodecPrefix, getMulticodecPrefix, removeMulticodecPrefix } from "../multicodec-Dq3IiOV4.js";
2
2
  import { deepStrictEqual, throws } from "node:assert";
3
3
  import { test } from "node:test";
4
4
 
@@ -0,0 +1,183 @@
1
+ import { addMulticodecPrefix, getMulticodecPrefix, removeMulticodecPrefix } from "./multicodec-Dq3IiOV4.js";
2
+ import { decodeMultibase, encodeMultibase } from "./multibase-B4g8pz6F.js";
3
+ import { Integer, Sequence } from "asn1js";
4
+ import { decodeBase64, encodeBase64 } from "byte-encodings/base64";
5
+ import { decodeBase64Url } from "byte-encodings/base64url";
6
+ import { createPublicKey } from "node:crypto";
7
+ import { PublicKeyInfo } from "pkijs";
8
+
9
+ //#region src/jwk.ts
10
+ function validateCryptoKey(key, type) {
11
+ if (type != null && key.type !== type) throw new TypeError(`The key is not a ${type} key.`);
12
+ if (!key.extractable) throw new TypeError("The key is not extractable.");
13
+ if (key.algorithm.name !== "RSASSA-PKCS1-v1_5" && key.algorithm.name !== "Ed25519") throw new TypeError("Currently only RSASSA-PKCS1-v1_5 and Ed25519 keys are supported. More algorithms will be added in the future!");
14
+ if (key.algorithm.name === "RSASSA-PKCS1-v1_5") {
15
+ const algorithm = key.algorithm;
16
+ if (algorithm.hash.name !== "SHA-256") throw new TypeError("For compatibility with the existing Fediverse software (e.g., Mastodon), hash algorithm for RSASSA-PKCS1-v1_5 keys must be SHA-256.");
17
+ }
18
+ }
19
+ async function exportJwk(key) {
20
+ validateCryptoKey(key);
21
+ const jwk = await crypto.subtle.exportKey("jwk", key);
22
+ if (jwk.crv === "Ed25519") jwk.alg = "Ed25519";
23
+ return jwk;
24
+ }
25
+ async function importJwk(jwk, type) {
26
+ let key;
27
+ if (jwk.kty === "RSA" && jwk.alg === "RS256") key = await crypto.subtle.importKey("jwk", jwk, {
28
+ name: "RSASSA-PKCS1-v1_5",
29
+ hash: "SHA-256"
30
+ }, true, type === "public" ? ["verify"] : ["sign"]);
31
+ else if (jwk.kty === "OKP" && jwk.crv === "Ed25519") {
32
+ if (navigator?.userAgent === "Cloudflare-Workers") {
33
+ jwk = { ...jwk };
34
+ delete jwk.alg;
35
+ }
36
+ key = await crypto.subtle.importKey("jwk", jwk, "Ed25519", true, type === "public" ? ["verify"] : ["sign"]);
37
+ } else throw new TypeError("Unsupported JWK format.");
38
+ validateCryptoKey(key, type);
39
+ return key;
40
+ }
41
+
42
+ //#endregion
43
+ //#region src/key.ts
44
+ const algorithms = {
45
+ "1.2.840.113549.1.1.1": {
46
+ name: "RSASSA-PKCS1-v1_5",
47
+ hash: "SHA-256"
48
+ },
49
+ "1.3.101.112": "Ed25519"
50
+ };
51
+ /**
52
+ * Imports a PEM-SPKI formatted public key.
53
+ * @param pem The PEM-SPKI formatted public key.
54
+ * @returns The imported public key.
55
+ * @throws {TypeError} If the key is invalid or unsupported.
56
+ * @since 0.5.0
57
+ */
58
+ async function importSpki(pem) {
59
+ pem = pem.replace(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g, "");
60
+ let spki;
61
+ try {
62
+ spki = decodeBase64(pem);
63
+ } catch (_) {
64
+ throw new TypeError("Invalid PEM-SPKI format.");
65
+ }
66
+ const pki = PublicKeyInfo.fromBER(spki);
67
+ const oid = pki.algorithm.algorithmId;
68
+ const algorithm = algorithms[oid];
69
+ if (algorithm == null) throw new TypeError("Unsupported algorithm: " + oid);
70
+ return await crypto.subtle.importKey("spki", spki, algorithm, true, ["verify"]);
71
+ }
72
+ /**
73
+ * Exports a public key in PEM-SPKI format.
74
+ * @param key The public key to export.
75
+ * @returns The exported public key in PEM-SPKI format.
76
+ * @throws {TypeError} If the key is invalid or unsupported.
77
+ * @since 0.5.0
78
+ */
79
+ async function exportSpki(key) {
80
+ validateCryptoKey(key);
81
+ const spki = await crypto.subtle.exportKey("spki", key);
82
+ let pem = encodeBase64(spki);
83
+ pem = (pem.match(/.{1,64}/g) || []).join("\n");
84
+ return `-----BEGIN PUBLIC KEY-----\n${pem}\n-----END PUBLIC KEY-----\n`;
85
+ }
86
+ /**
87
+ * Imports a PEM-PKCS#1 formatted public key.
88
+ * @param pem The PEM-PKCS#1 formatted public key.
89
+ * @returns The imported public key.
90
+ * @throws {TypeError} If the key is invalid or unsupported.
91
+ * @since 1.5.0
92
+ */
93
+ function importPkcs1(pem) {
94
+ const key = createPublicKey({
95
+ key: pem,
96
+ format: "pem",
97
+ type: "pkcs1"
98
+ });
99
+ const spki = key.export({
100
+ type: "spki",
101
+ format: "pem"
102
+ });
103
+ return importSpki(spki);
104
+ }
105
+ const PKCS1_HEADER = /^\s*-----BEGIN\s+RSA\s+PUBLIC\s+KEY-----\s*\n/;
106
+ /**
107
+ * Imports a PEM formatted public key (SPKI or PKCS#1).
108
+ * @param pem The PEM formatted public key to import (SPKI or PKCS#1).
109
+ * @returns The imported public key.
110
+ * @throws {TypeError} If the key is invalid or unsupported.
111
+ * @since 1.5.0
112
+ */
113
+ function importPem(pem) {
114
+ return PKCS1_HEADER.test(pem) ? importPkcs1(pem) : importSpki(pem);
115
+ }
116
+ /**
117
+ * Imports a [Multibase]-encoded public key.
118
+ *
119
+ * [Multibase]: https://www.w3.org/TR/vc-data-integrity/#multibase-0
120
+ * @param key The Multibase-encoded public key.
121
+ * @returns The imported public key.
122
+ * @throws {TypeError} If the key is invalid or unsupported.
123
+ * @since 0.10.0
124
+ */
125
+ async function importMultibaseKey(key) {
126
+ const decoded = decodeMultibase(key);
127
+ const { code } = getMulticodecPrefix(decoded);
128
+ const content = removeMulticodecPrefix(decoded);
129
+ if (code === 4613) {
130
+ const keyObject = createPublicKey({
131
+ key: content,
132
+ format: "der",
133
+ type: "pkcs1"
134
+ });
135
+ const exported = keyObject.export({
136
+ type: "spki",
137
+ format: "der"
138
+ });
139
+ const spki = exported instanceof Uint8Array ? exported : new Uint8Array(exported);
140
+ return await crypto.subtle.importKey("spki", new Uint8Array(spki), {
141
+ name: "RSASSA-PKCS1-v1_5",
142
+ hash: "SHA-256"
143
+ }, true, ["verify"]);
144
+ } else if (code === 237) return await crypto.subtle.importKey("raw", content.slice(), "Ed25519", true, ["verify"]);
145
+ else throw new TypeError("Unsupported key type: 0x" + code.toString(16));
146
+ }
147
+ /**
148
+ * Exports a public key in [Multibase] format.
149
+ *
150
+ * [Multibase]: https://www.w3.org/TR/vc-data-integrity/#multibase-0
151
+ * @param key The public key to export.
152
+ * @returns The exported public key in Multibase format.
153
+ * @throws {TypeError} If the key is invalid or unsupported.
154
+ * @since 0.10.0
155
+ */
156
+ async function exportMultibaseKey(key) {
157
+ let content;
158
+ let code;
159
+ if (key.algorithm.name === "Ed25519") {
160
+ content = await crypto.subtle.exportKey("raw", key);
161
+ code = 237;
162
+ } else if (key.algorithm.name === "RSASSA-PKCS1-v1_5" && key.algorithm.hash.name === "SHA-256") {
163
+ const jwk = await crypto.subtle.exportKey("jwk", key);
164
+ const decodedN = decodeBase64Url(jwk.n);
165
+ const n = new Uint8Array(decodedN.length + 1);
166
+ n.set(decodedN, 1);
167
+ const sequence = new Sequence({ value: [new Integer({
168
+ isHexOnly: true,
169
+ valueHex: n
170
+ }), new Integer({
171
+ isHexOnly: true,
172
+ valueHex: decodeBase64Url(jwk.e)
173
+ })] });
174
+ content = sequence.toBER(false);
175
+ code = 4613;
176
+ } else throw new TypeError("Unsupported key type: " + JSON.stringify(key.algorithm));
177
+ const prefixed = addMulticodecPrefix(code, new Uint8Array(content));
178
+ const encoded = encodeMultibase("base58btc", prefixed);
179
+ return new TextDecoder().decode(encoded);
180
+ }
181
+
182
+ //#endregion
183
+ export { exportJwk, exportMultibaseKey, exportSpki, importJwk, importMultibaseKey, importPem, importPkcs1, importSpki };
@@ -0,0 +1,231 @@
1
+ const require_chunk = require('./chunk-DWy1uDak.cjs');
2
+ const require_multicodec = require('./multicodec--6hQ74zI.cjs');
3
+ const require_multibase = require('./multibase-o_ovPHYJ.cjs');
4
+ const asn1js = require_chunk.__toESM(require("asn1js"));
5
+ const byte_encodings_base64 = require_chunk.__toESM(require("byte-encodings/base64"));
6
+ const byte_encodings_base64url = require_chunk.__toESM(require("byte-encodings/base64url"));
7
+ const node_crypto = require_chunk.__toESM(require("node:crypto"));
8
+ const pkijs = require_chunk.__toESM(require("pkijs"));
9
+
10
+ //#region src/jwk.ts
11
+ function validateCryptoKey(key, type) {
12
+ if (type != null && key.type !== type) throw new TypeError(`The key is not a ${type} key.`);
13
+ if (!key.extractable) throw new TypeError("The key is not extractable.");
14
+ if (key.algorithm.name !== "RSASSA-PKCS1-v1_5" && key.algorithm.name !== "Ed25519") throw new TypeError("Currently only RSASSA-PKCS1-v1_5 and Ed25519 keys are supported. More algorithms will be added in the future!");
15
+ if (key.algorithm.name === "RSASSA-PKCS1-v1_5") {
16
+ const algorithm = key.algorithm;
17
+ if (algorithm.hash.name !== "SHA-256") throw new TypeError("For compatibility with the existing Fediverse software (e.g., Mastodon), hash algorithm for RSASSA-PKCS1-v1_5 keys must be SHA-256.");
18
+ }
19
+ }
20
+ async function exportJwk(key) {
21
+ validateCryptoKey(key);
22
+ const jwk = await crypto.subtle.exportKey("jwk", key);
23
+ if (jwk.crv === "Ed25519") jwk.alg = "Ed25519";
24
+ return jwk;
25
+ }
26
+ async function importJwk(jwk, type) {
27
+ let key;
28
+ if (jwk.kty === "RSA" && jwk.alg === "RS256") key = await crypto.subtle.importKey("jwk", jwk, {
29
+ name: "RSASSA-PKCS1-v1_5",
30
+ hash: "SHA-256"
31
+ }, true, type === "public" ? ["verify"] : ["sign"]);
32
+ else if (jwk.kty === "OKP" && jwk.crv === "Ed25519") {
33
+ if (navigator?.userAgent === "Cloudflare-Workers") {
34
+ jwk = { ...jwk };
35
+ delete jwk.alg;
36
+ }
37
+ key = await crypto.subtle.importKey("jwk", jwk, "Ed25519", true, type === "public" ? ["verify"] : ["sign"]);
38
+ } else throw new TypeError("Unsupported JWK format.");
39
+ validateCryptoKey(key, type);
40
+ return key;
41
+ }
42
+
43
+ //#endregion
44
+ //#region src/key.ts
45
+ const algorithms = {
46
+ "1.2.840.113549.1.1.1": {
47
+ name: "RSASSA-PKCS1-v1_5",
48
+ hash: "SHA-256"
49
+ },
50
+ "1.3.101.112": "Ed25519"
51
+ };
52
+ /**
53
+ * Imports a PEM-SPKI formatted public key.
54
+ * @param pem The PEM-SPKI formatted public key.
55
+ * @returns The imported public key.
56
+ * @throws {TypeError} If the key is invalid or unsupported.
57
+ * @since 0.5.0
58
+ */
59
+ async function importSpki(pem) {
60
+ pem = pem.replace(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g, "");
61
+ let spki;
62
+ try {
63
+ spki = (0, byte_encodings_base64.decodeBase64)(pem);
64
+ } catch (_) {
65
+ throw new TypeError("Invalid PEM-SPKI format.");
66
+ }
67
+ const pki = pkijs.PublicKeyInfo.fromBER(spki);
68
+ const oid = pki.algorithm.algorithmId;
69
+ const algorithm = algorithms[oid];
70
+ if (algorithm == null) throw new TypeError("Unsupported algorithm: " + oid);
71
+ return await crypto.subtle.importKey("spki", spki, algorithm, true, ["verify"]);
72
+ }
73
+ /**
74
+ * Exports a public key in PEM-SPKI format.
75
+ * @param key The public key to export.
76
+ * @returns The exported public key in PEM-SPKI format.
77
+ * @throws {TypeError} If the key is invalid or unsupported.
78
+ * @since 0.5.0
79
+ */
80
+ async function exportSpki(key) {
81
+ validateCryptoKey(key);
82
+ const spki = await crypto.subtle.exportKey("spki", key);
83
+ let pem = (0, byte_encodings_base64.encodeBase64)(spki);
84
+ pem = (pem.match(/.{1,64}/g) || []).join("\n");
85
+ return `-----BEGIN PUBLIC KEY-----\n${pem}\n-----END PUBLIC KEY-----\n`;
86
+ }
87
+ /**
88
+ * Imports a PEM-PKCS#1 formatted public key.
89
+ * @param pem The PEM-PKCS#1 formatted public key.
90
+ * @returns The imported public key.
91
+ * @throws {TypeError} If the key is invalid or unsupported.
92
+ * @since 1.5.0
93
+ */
94
+ function importPkcs1(pem) {
95
+ const key = (0, node_crypto.createPublicKey)({
96
+ key: pem,
97
+ format: "pem",
98
+ type: "pkcs1"
99
+ });
100
+ const spki = key.export({
101
+ type: "spki",
102
+ format: "pem"
103
+ });
104
+ return importSpki(spki);
105
+ }
106
+ const PKCS1_HEADER = /^\s*-----BEGIN\s+RSA\s+PUBLIC\s+KEY-----\s*\n/;
107
+ /**
108
+ * Imports a PEM formatted public key (SPKI or PKCS#1).
109
+ * @param pem The PEM formatted public key to import (SPKI or PKCS#1).
110
+ * @returns The imported public key.
111
+ * @throws {TypeError} If the key is invalid or unsupported.
112
+ * @since 1.5.0
113
+ */
114
+ function importPem(pem) {
115
+ return PKCS1_HEADER.test(pem) ? importPkcs1(pem) : importSpki(pem);
116
+ }
117
+ /**
118
+ * Imports a [Multibase]-encoded public key.
119
+ *
120
+ * [Multibase]: https://www.w3.org/TR/vc-data-integrity/#multibase-0
121
+ * @param key The Multibase-encoded public key.
122
+ * @returns The imported public key.
123
+ * @throws {TypeError} If the key is invalid or unsupported.
124
+ * @since 0.10.0
125
+ */
126
+ async function importMultibaseKey(key) {
127
+ const decoded = require_multibase.decodeMultibase(key);
128
+ const { code } = require_multicodec.getMulticodecPrefix(decoded);
129
+ const content = require_multicodec.removeMulticodecPrefix(decoded);
130
+ if (code === 4613) {
131
+ const keyObject = (0, node_crypto.createPublicKey)({
132
+ key: content,
133
+ format: "der",
134
+ type: "pkcs1"
135
+ });
136
+ const exported = keyObject.export({
137
+ type: "spki",
138
+ format: "der"
139
+ });
140
+ const spki = exported instanceof Uint8Array ? exported : new Uint8Array(exported);
141
+ return await crypto.subtle.importKey("spki", new Uint8Array(spki), {
142
+ name: "RSASSA-PKCS1-v1_5",
143
+ hash: "SHA-256"
144
+ }, true, ["verify"]);
145
+ } else if (code === 237) return await crypto.subtle.importKey("raw", content.slice(), "Ed25519", true, ["verify"]);
146
+ else throw new TypeError("Unsupported key type: 0x" + code.toString(16));
147
+ }
148
+ /**
149
+ * Exports a public key in [Multibase] format.
150
+ *
151
+ * [Multibase]: https://www.w3.org/TR/vc-data-integrity/#multibase-0
152
+ * @param key The public key to export.
153
+ * @returns The exported public key in Multibase format.
154
+ * @throws {TypeError} If the key is invalid or unsupported.
155
+ * @since 0.10.0
156
+ */
157
+ async function exportMultibaseKey(key) {
158
+ let content;
159
+ let code;
160
+ if (key.algorithm.name === "Ed25519") {
161
+ content = await crypto.subtle.exportKey("raw", key);
162
+ code = 237;
163
+ } else if (key.algorithm.name === "RSASSA-PKCS1-v1_5" && key.algorithm.hash.name === "SHA-256") {
164
+ const jwk = await crypto.subtle.exportKey("jwk", key);
165
+ const decodedN = (0, byte_encodings_base64url.decodeBase64Url)(jwk.n);
166
+ const n = new Uint8Array(decodedN.length + 1);
167
+ n.set(decodedN, 1);
168
+ const sequence = new asn1js.Sequence({ value: [new asn1js.Integer({
169
+ isHexOnly: true,
170
+ valueHex: n
171
+ }), new asn1js.Integer({
172
+ isHexOnly: true,
173
+ valueHex: (0, byte_encodings_base64url.decodeBase64Url)(jwk.e)
174
+ })] });
175
+ content = sequence.toBER(false);
176
+ code = 4613;
177
+ } else throw new TypeError("Unsupported key type: " + JSON.stringify(key.algorithm));
178
+ const prefixed = require_multicodec.addMulticodecPrefix(code, new Uint8Array(content));
179
+ const encoded = require_multibase.encodeMultibase("base58btc", prefixed);
180
+ return new TextDecoder().decode(encoded);
181
+ }
182
+
183
+ //#endregion
184
+ Object.defineProperty(exports, 'exportJwk', {
185
+ enumerable: true,
186
+ get: function () {
187
+ return exportJwk;
188
+ }
189
+ });
190
+ Object.defineProperty(exports, 'exportMultibaseKey', {
191
+ enumerable: true,
192
+ get: function () {
193
+ return exportMultibaseKey;
194
+ }
195
+ });
196
+ Object.defineProperty(exports, 'exportSpki', {
197
+ enumerable: true,
198
+ get: function () {
199
+ return exportSpki;
200
+ }
201
+ });
202
+ Object.defineProperty(exports, 'importJwk', {
203
+ enumerable: true,
204
+ get: function () {
205
+ return importJwk;
206
+ }
207
+ });
208
+ Object.defineProperty(exports, 'importMultibaseKey', {
209
+ enumerable: true,
210
+ get: function () {
211
+ return importMultibaseKey;
212
+ }
213
+ });
214
+ Object.defineProperty(exports, 'importPem', {
215
+ enumerable: true,
216
+ get: function () {
217
+ return importPem;
218
+ }
219
+ });
220
+ Object.defineProperty(exports, 'importPkcs1', {
221
+ enumerable: true,
222
+ get: function () {
223
+ return importPkcs1;
224
+ }
225
+ });
226
+ Object.defineProperty(exports, 'importSpki', {
227
+ enumerable: true,
228
+ get: function () {
229
+ return importSpki;
230
+ }
231
+ });