@opentdf/sdk 0.9.0-beta.80 → 0.9.0-beta.83
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/dist/cjs/src/crypto/enums.js +1 -1
- package/dist/cjs/src/crypto/pemPublicToCrypto.js +8 -10
- package/dist/types/src/crypto/enums.d.ts +1 -1
- package/dist/types/src/crypto/pemPublicToCrypto.d.ts.map +1 -1
- package/dist/web/src/crypto/enums.js +1 -1
- package/dist/web/src/crypto/pemPublicToCrypto.js +8 -10
- package/package.json +1 -1
- package/src/crypto/enums.ts +1 -1
- package/src/crypto/pemPublicToCrypto.ts +8 -12
|
@@ -14,7 +14,7 @@ var NamedCurve;
|
|
|
14
14
|
(function (NamedCurve) {
|
|
15
15
|
NamedCurve["P256"] = "P-256";
|
|
16
16
|
NamedCurve["P384"] = "P-384";
|
|
17
|
-
NamedCurve["
|
|
17
|
+
NamedCurve["P521"] = "P-521";
|
|
18
18
|
})(NamedCurve || (exports.NamedCurve = NamedCurve = {}));
|
|
19
19
|
var CipherType;
|
|
20
20
|
(function (CipherType) {
|
|
@@ -66,6 +66,7 @@ const base64 = __importStar(require("../encodings/base64.js"));
|
|
|
66
66
|
const jose_1 = require("jose");
|
|
67
67
|
const hex_js_1 = require("../encodings/hex.js");
|
|
68
68
|
const errors_js_1 = require("../errors.js");
|
|
69
|
+
const enums_js_1 = require("./enums.js");
|
|
69
70
|
const RSA_OID = '06092a864886f70d010101';
|
|
70
71
|
const EC_OID = '06072a8648ce3d0201';
|
|
71
72
|
const P256_OID = '06082a8648ce3d030107';
|
|
@@ -75,9 +76,6 @@ const SHA_512 = 'SHA-512';
|
|
|
75
76
|
const SPKI = 'spki';
|
|
76
77
|
const CERT_BEGIN = '-----BEGIN CERTIFICATE-----';
|
|
77
78
|
const CERT_END = '-----END CERTIFICATE-----';
|
|
78
|
-
const P_256 = 'P-256';
|
|
79
|
-
const P_384 = 'P-384';
|
|
80
|
-
const P_512 = 'P-512';
|
|
81
79
|
const ECDH = 'ECDH';
|
|
82
80
|
const ECDSA = 'ECDSA';
|
|
83
81
|
const RSA_OAEP = 'RSA-OAEP';
|
|
@@ -118,13 +116,13 @@ function guessAlgorithmName(hex, algorithmName) {
|
|
|
118
116
|
}
|
|
119
117
|
function guessCurveName(hex) {
|
|
120
118
|
if (hex.includes(P256_OID)) {
|
|
121
|
-
return
|
|
119
|
+
return enums_js_1.NamedCurve.P256;
|
|
122
120
|
}
|
|
123
121
|
else if (hex.includes(P384_OID)) {
|
|
124
|
-
return
|
|
122
|
+
return enums_js_1.NamedCurve.P384;
|
|
125
123
|
}
|
|
126
124
|
else if (hex.includes(P521_OID)) {
|
|
127
|
-
return
|
|
125
|
+
return enums_js_1.NamedCurve.P521;
|
|
128
126
|
}
|
|
129
127
|
throw new errors_js_1.TdfError('Unsupported curve name or invalid key');
|
|
130
128
|
}
|
|
@@ -177,11 +175,11 @@ function toJwsAlg(hex) {
|
|
|
177
175
|
}
|
|
178
176
|
else if (a === ECDSA) {
|
|
179
177
|
switch (guessCurveName(hex)) {
|
|
180
|
-
case
|
|
178
|
+
case enums_js_1.NamedCurve.P256:
|
|
181
179
|
return 'ES256';
|
|
182
|
-
case
|
|
180
|
+
case enums_js_1.NamedCurve.P384:
|
|
183
181
|
return 'ES384';
|
|
184
|
-
case
|
|
182
|
+
case enums_js_1.NamedCurve.P521:
|
|
185
183
|
return 'ES512';
|
|
186
184
|
}
|
|
187
185
|
}
|
|
@@ -208,4 +206,4 @@ async function pemCertToCrypto(pem, options = {
|
|
|
208
206
|
}
|
|
209
207
|
return key;
|
|
210
208
|
}
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVtUHVibGljVG9DcnlwdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY3J5cHRvL3BlbVB1YmxpY1RvQ3J5cHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7OztHQU9HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdHSCw4Q0EyQ0M7QUF5QkQsMENBa0JDO0FBNUxEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFFSCwrREFBaUQ7QUFDakQsK0JBQWtDO0FBQ2xDLGdEQUFnRjtBQUNoRiw0Q0FBNEQ7QUFDNUQseUNBQXdDO0FBRXhDLE1BQU0sT0FBTyxHQUFHLHdCQUF3QixDQUFDO0FBQ3pDLE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDO0FBQ3BDLE1BQU0sUUFBUSxHQUFHLHNCQUFzQixDQUFDO0FBQ3hDLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDO0FBQ2xDLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDO0FBQ2xDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUMxQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUM7QUFDcEIsTUFBTSxVQUFVLEdBQUcsNkJBQTZCLENBQUM7QUFDakQsTUFBTSxRQUFRLEdBQUcsMkJBQTJCLENBQUM7QUFFN0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDO0FBQ3BCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztBQUN0QixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7QUFDNUIsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDO0FBVTFCLFNBQVMsY0FBYyxDQUFDLGFBQTRCLEVBQUUsTUFBbUI7SUFDdkUsSUFBSSxNQUFNO1FBQUUsT0FBTyxNQUFNLENBQUM7SUFDMUIsUUFBUSxhQUFhLEVBQUUsQ0FBQztRQUN0QixLQUFLLEtBQUs7WUFDUixPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pemPublicToCrypto.d.ts","sourceRoot":"","sources":["../../../../src/crypto/pemPublicToCrypto.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"pemPublicToCrypto.d.ts","sourceRoot":"","sources":["../../../../src/crypto/pemPublicToCrypto.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4CH,UAAU,wBAAwB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;CACxB;AA6CD;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,wBAER,GACA,OAAO,CAAC,SAAS,CAAC,CAsCpB;AAyBD,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,wBAER,GACA,OAAO,CAAC,SAAS,CAAC,CAapB"}
|
|
@@ -11,7 +11,7 @@ export var NamedCurve;
|
|
|
11
11
|
(function (NamedCurve) {
|
|
12
12
|
NamedCurve["P256"] = "P-256";
|
|
13
13
|
NamedCurve["P384"] = "P-384";
|
|
14
|
-
NamedCurve["
|
|
14
|
+
NamedCurve["P521"] = "P-521";
|
|
15
15
|
})(NamedCurve || (NamedCurve = {}));
|
|
16
16
|
export var CipherType;
|
|
17
17
|
(function (CipherType) {
|
|
@@ -29,6 +29,7 @@ import * as base64 from '../encodings/base64.js';
|
|
|
29
29
|
import { importX509 } from 'jose';
|
|
30
30
|
import { encodeArrayBuffer as hexEncodeArrayBuffer } from '../encodings/hex.js';
|
|
31
31
|
import { ConfigurationError, TdfError } from '../errors.js';
|
|
32
|
+
import { NamedCurve } from './enums.js';
|
|
32
33
|
const RSA_OID = '06092a864886f70d010101';
|
|
33
34
|
const EC_OID = '06072a8648ce3d0201';
|
|
34
35
|
const P256_OID = '06082a8648ce3d030107';
|
|
@@ -38,9 +39,6 @@ const SHA_512 = 'SHA-512';
|
|
|
38
39
|
const SPKI = 'spki';
|
|
39
40
|
const CERT_BEGIN = '-----BEGIN CERTIFICATE-----';
|
|
40
41
|
const CERT_END = '-----END CERTIFICATE-----';
|
|
41
|
-
const P_256 = 'P-256';
|
|
42
|
-
const P_384 = 'P-384';
|
|
43
|
-
const P_512 = 'P-512';
|
|
44
42
|
const ECDH = 'ECDH';
|
|
45
43
|
const ECDSA = 'ECDSA';
|
|
46
44
|
const RSA_OAEP = 'RSA-OAEP';
|
|
@@ -81,13 +79,13 @@ function guessAlgorithmName(hex, algorithmName) {
|
|
|
81
79
|
}
|
|
82
80
|
function guessCurveName(hex) {
|
|
83
81
|
if (hex.includes(P256_OID)) {
|
|
84
|
-
return
|
|
82
|
+
return NamedCurve.P256;
|
|
85
83
|
}
|
|
86
84
|
else if (hex.includes(P384_OID)) {
|
|
87
|
-
return
|
|
85
|
+
return NamedCurve.P384;
|
|
88
86
|
}
|
|
89
87
|
else if (hex.includes(P521_OID)) {
|
|
90
|
-
return
|
|
88
|
+
return NamedCurve.P521;
|
|
91
89
|
}
|
|
92
90
|
throw new TdfError('Unsupported curve name or invalid key');
|
|
93
91
|
}
|
|
@@ -140,11 +138,11 @@ function toJwsAlg(hex) {
|
|
|
140
138
|
}
|
|
141
139
|
else if (a === ECDSA) {
|
|
142
140
|
switch (guessCurveName(hex)) {
|
|
143
|
-
case
|
|
141
|
+
case NamedCurve.P256:
|
|
144
142
|
return 'ES256';
|
|
145
|
-
case
|
|
143
|
+
case NamedCurve.P384:
|
|
146
144
|
return 'ES384';
|
|
147
|
-
case
|
|
145
|
+
case NamedCurve.P521:
|
|
148
146
|
return 'ES512';
|
|
149
147
|
}
|
|
150
148
|
}
|
|
@@ -171,4 +169,4 @@ export async function pemCertToCrypto(pem, options = {
|
|
|
171
169
|
}
|
|
172
170
|
return key;
|
|
173
171
|
}
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVtUHVibGljVG9DcnlwdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY3J5cHRvL3BlbVB1YmxpY1RvQ3J5cHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFFSDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBRUgsT0FBTyxLQUFLLE1BQU0sTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV4QyxNQUFNLE9BQU8sR0FBRyx3QkFBd0IsQ0FBQztBQUN6QyxNQUFNLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQztBQUNwQyxNQUFNLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQztBQUN4QyxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQztBQUNsQyxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQztBQUNsQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFDMUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDO0FBQ3BCLE1BQU0sVUFBVSxHQUFHLDZCQUE2QixDQUFDO0FBQ2pELE1BQU0sUUFBUSxHQUFHLDJCQUEyQixDQUFDO0FBRTdDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQztBQUNwQixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7QUFDdEIsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO0FBQzVCLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQVUxQixTQUFTLGNBQWMsQ0FBQyxhQUE0QixFQUFFLE1BQW1CO0lBQ3ZFLElBQUksTUFBTTtRQUFFLE9BQU8sTUFBTSxD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
|
package/package.json
CHANGED
package/src/crypto/enums.ts
CHANGED
|
@@ -31,6 +31,7 @@ import * as base64 from '../encodings/base64.js';
|
|
|
31
31
|
import { importX509 } from 'jose';
|
|
32
32
|
import { encodeArrayBuffer as hexEncodeArrayBuffer } from '../encodings/hex.js';
|
|
33
33
|
import { ConfigurationError, TdfError } from '../errors.js';
|
|
34
|
+
import { NamedCurve } from './enums.js';
|
|
34
35
|
|
|
35
36
|
const RSA_OID = '06092a864886f70d010101';
|
|
36
37
|
const EC_OID = '06072a8648ce3d0201';
|
|
@@ -42,11 +43,6 @@ const SPKI = 'spki';
|
|
|
42
43
|
const CERT_BEGIN = '-----BEGIN CERTIFICATE-----';
|
|
43
44
|
const CERT_END = '-----END CERTIFICATE-----';
|
|
44
45
|
|
|
45
|
-
const P_256 = 'P-256';
|
|
46
|
-
const P_384 = 'P-384';
|
|
47
|
-
const P_512 = 'P-512';
|
|
48
|
-
type CurveName = typeof P_256 | typeof P_384 | typeof P_512;
|
|
49
|
-
|
|
50
46
|
const ECDH = 'ECDH';
|
|
51
47
|
const ECDSA = 'ECDSA';
|
|
52
48
|
const RSA_OAEP = 'RSA-OAEP';
|
|
@@ -92,13 +88,13 @@ function guessAlgorithmName(hex: string, algorithmName?: string): AlgorithmName
|
|
|
92
88
|
throw new TypeError(`Invalid public key, ${algorithmName}`);
|
|
93
89
|
}
|
|
94
90
|
|
|
95
|
-
function guessCurveName(hex: string):
|
|
91
|
+
function guessCurveName(hex: string): NamedCurve {
|
|
96
92
|
if (hex.includes(P256_OID)) {
|
|
97
|
-
return
|
|
93
|
+
return NamedCurve.P256;
|
|
98
94
|
} else if (hex.includes(P384_OID)) {
|
|
99
|
-
return
|
|
95
|
+
return NamedCurve.P384;
|
|
100
96
|
} else if (hex.includes(P521_OID)) {
|
|
101
|
-
return
|
|
97
|
+
return NamedCurve.P521;
|
|
102
98
|
}
|
|
103
99
|
throw new TdfError('Unsupported curve name or invalid key');
|
|
104
100
|
}
|
|
@@ -167,11 +163,11 @@ function toJwsAlg(hex: string) {
|
|
|
167
163
|
return 'ECDH-ES';
|
|
168
164
|
} else if (a === ECDSA) {
|
|
169
165
|
switch (guessCurveName(hex)) {
|
|
170
|
-
case
|
|
166
|
+
case NamedCurve.P256:
|
|
171
167
|
return 'ES256';
|
|
172
|
-
case
|
|
168
|
+
case NamedCurve.P384:
|
|
173
169
|
return 'ES384';
|
|
174
|
-
case
|
|
170
|
+
case NamedCurve.P521:
|
|
175
171
|
return 'ES512';
|
|
176
172
|
}
|
|
177
173
|
} else if (a === RSA_OAEP) {
|