@opentdf/sdk 0.9.0-beta.83 → 0.9.0-rc.82
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 +10 -8
- 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 +10 -8
- package/package.json +1 -1
- package/src/crypto/enums.ts +1 -1
- package/src/crypto/pemPublicToCrypto.ts +12 -8
|
@@ -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["P512"] = "P-512";
|
|
18
18
|
})(NamedCurve || (exports.NamedCurve = NamedCurve = {}));
|
|
19
19
|
var CipherType;
|
|
20
20
|
(function (CipherType) {
|
|
@@ -66,7 +66,6 @@ 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");
|
|
70
69
|
const RSA_OID = '06092a864886f70d010101';
|
|
71
70
|
const EC_OID = '06072a8648ce3d0201';
|
|
72
71
|
const P256_OID = '06082a8648ce3d030107';
|
|
@@ -76,6 +75,9 @@ const SHA_512 = 'SHA-512';
|
|
|
76
75
|
const SPKI = 'spki';
|
|
77
76
|
const CERT_BEGIN = '-----BEGIN CERTIFICATE-----';
|
|
78
77
|
const CERT_END = '-----END CERTIFICATE-----';
|
|
78
|
+
const P_256 = 'P-256';
|
|
79
|
+
const P_384 = 'P-384';
|
|
80
|
+
const P_512 = 'P-512';
|
|
79
81
|
const ECDH = 'ECDH';
|
|
80
82
|
const ECDSA = 'ECDSA';
|
|
81
83
|
const RSA_OAEP = 'RSA-OAEP';
|
|
@@ -116,13 +118,13 @@ function guessAlgorithmName(hex, algorithmName) {
|
|
|
116
118
|
}
|
|
117
119
|
function guessCurveName(hex) {
|
|
118
120
|
if (hex.includes(P256_OID)) {
|
|
119
|
-
return
|
|
121
|
+
return P_256;
|
|
120
122
|
}
|
|
121
123
|
else if (hex.includes(P384_OID)) {
|
|
122
|
-
return
|
|
124
|
+
return P_384;
|
|
123
125
|
}
|
|
124
126
|
else if (hex.includes(P521_OID)) {
|
|
125
|
-
return
|
|
127
|
+
return P_512;
|
|
126
128
|
}
|
|
127
129
|
throw new errors_js_1.TdfError('Unsupported curve name or invalid key');
|
|
128
130
|
}
|
|
@@ -175,11 +177,11 @@ function toJwsAlg(hex) {
|
|
|
175
177
|
}
|
|
176
178
|
else if (a === ECDSA) {
|
|
177
179
|
switch (guessCurveName(hex)) {
|
|
178
|
-
case
|
|
180
|
+
case 'P-256':
|
|
179
181
|
return 'ES256';
|
|
180
|
-
case
|
|
182
|
+
case 'P-384':
|
|
181
183
|
return 'ES384';
|
|
182
|
-
case
|
|
184
|
+
case 'P-512':
|
|
183
185
|
return 'ES512';
|
|
184
186
|
}
|
|
185
187
|
}
|
|
@@ -206,4 +208,4 @@ async function pemCertToCrypto(pem, options = {
|
|
|
206
208
|
}
|
|
207
209
|
return key;
|
|
208
210
|
}
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVtUHVibGljVG9DcnlwdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY3J5cHRvL3BlbVB1YmxpY1RvQ3J5cHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7OztHQU9HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTRHSCw4Q0EyQ0M7QUF5QkQsMENBa0JDO0FBaE1EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFFSCwrREFBaUQ7QUFDakQsK0JBQWtDO0FBQ2xDLGdEQUFnRjtBQUNoRiw0Q0FBNEQ7QUFFNUQsTUFBTSxPQUFPLEdBQUcsd0JBQXdCLENBQUM7QUFDekMsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUM7QUFDcEMsTUFBTSxRQUFRLEdBQUcsc0JBQXNCLENBQUM7QUFDeEMsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUM7QUFDbEMsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUM7QUFDbEMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDO0FBQzFCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQztBQUNwQixNQUFNLFVBQVUsR0FBRyw2QkFBNkIsQ0FBQztBQUNqRCxNQUFNLFFBQVEsR0FBRywyQkFBMkIsQ0FBQztBQUU3QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7QUFDdEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztBQUd0QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUM7QUFDcEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0FBQ3RCLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQztBQUM1QixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFVMUIsU0FBUyxjQUFjLENBQUMsYUFBNEIsRUFBRSxNQUFtQjtJQUN2RSxJQUFJLE1BQU07UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUMxQixRQUFRLGFBQWEsRUFB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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;AAgDH,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["P512"] = "P-512";
|
|
15
15
|
})(NamedCurve || (NamedCurve = {}));
|
|
16
16
|
export var CipherType;
|
|
17
17
|
(function (CipherType) {
|
|
@@ -29,7 +29,6 @@ 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';
|
|
33
32
|
const RSA_OID = '06092a864886f70d010101';
|
|
34
33
|
const EC_OID = '06072a8648ce3d0201';
|
|
35
34
|
const P256_OID = '06082a8648ce3d030107';
|
|
@@ -39,6 +38,9 @@ const SHA_512 = 'SHA-512';
|
|
|
39
38
|
const SPKI = 'spki';
|
|
40
39
|
const CERT_BEGIN = '-----BEGIN CERTIFICATE-----';
|
|
41
40
|
const CERT_END = '-----END CERTIFICATE-----';
|
|
41
|
+
const P_256 = 'P-256';
|
|
42
|
+
const P_384 = 'P-384';
|
|
43
|
+
const P_512 = 'P-512';
|
|
42
44
|
const ECDH = 'ECDH';
|
|
43
45
|
const ECDSA = 'ECDSA';
|
|
44
46
|
const RSA_OAEP = 'RSA-OAEP';
|
|
@@ -79,13 +81,13 @@ function guessAlgorithmName(hex, algorithmName) {
|
|
|
79
81
|
}
|
|
80
82
|
function guessCurveName(hex) {
|
|
81
83
|
if (hex.includes(P256_OID)) {
|
|
82
|
-
return
|
|
84
|
+
return P_256;
|
|
83
85
|
}
|
|
84
86
|
else if (hex.includes(P384_OID)) {
|
|
85
|
-
return
|
|
87
|
+
return P_384;
|
|
86
88
|
}
|
|
87
89
|
else if (hex.includes(P521_OID)) {
|
|
88
|
-
return
|
|
90
|
+
return P_512;
|
|
89
91
|
}
|
|
90
92
|
throw new TdfError('Unsupported curve name or invalid key');
|
|
91
93
|
}
|
|
@@ -138,11 +140,11 @@ function toJwsAlg(hex) {
|
|
|
138
140
|
}
|
|
139
141
|
else if (a === ECDSA) {
|
|
140
142
|
switch (guessCurveName(hex)) {
|
|
141
|
-
case
|
|
143
|
+
case 'P-256':
|
|
142
144
|
return 'ES256';
|
|
143
|
-
case
|
|
145
|
+
case 'P-384':
|
|
144
146
|
return 'ES384';
|
|
145
|
-
case
|
|
147
|
+
case 'P-512':
|
|
146
148
|
return 'ES512';
|
|
147
149
|
}
|
|
148
150
|
}
|
|
@@ -169,4 +171,4 @@ export async function pemCertToCrypto(pem, options = {
|
|
|
169
171
|
}
|
|
170
172
|
return key;
|
|
171
173
|
}
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVtUHVibGljVG9DcnlwdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY3J5cHRvL3BlbVB1YmxpY1RvQ3J5cHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFFSDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBRUgsT0FBTyxLQUFLLE1BQU0sTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUQsTUFBTSxPQUFPLEdBQUcsd0JBQXdCLENBQUM7QUFDekMsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUM7QUFDcEMsTUFBTSxRQUFRLEdBQUcsc0JBQXNCLENBQUM7QUFDeEMsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUM7QUFDbEMsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUM7QUFDbEMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDO0FBQzFCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQztBQUNwQixNQUFNLFVBQVUsR0FBRyw2QkFBNkIsQ0FBQztBQUNqRCxNQUFNLFFBQVEsR0FBRywyQkFBMkIsQ0FBQztBQUU3QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7QUFDdEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztBQUd0QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUM7QUFDcEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0FBQ3RCLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQztBQUM1QixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFVMUIsU0FBUyxjQUFjLENBQUMsYUFBNEIsRUFBRSxNQUFtQjtJQUN2RSxJQUFJLE1BQU07UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUMxQixRQUFRLGFBQWEsRUFBRSxDQUFDO1FBQ3RCLEtBQUssS0FBSztZQUNSLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQixLQUFLLFFBQVE7WUFDWCxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLEtBQUssT0FBTztZQUNWLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQixLQUFLLElBQUksQ0FBQztRQUNWO1lBQ0UsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsR0FBVyxFQUFFLGFBQXNCO0lBQzdELElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLElBQUksYUFBYSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzdDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQzthQUFNLElBQUksYUFBYSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ25DLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7U0FBTSxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxJQUFJLGFBQWEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNqRCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO2FBQU0sSUFBSSxhQUFhLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDckMsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLElBQUksU0FBUyxDQUFDLHVCQUF1QixhQUFhLEVBQUUsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxHQUFXO0lBQ2pDLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztTQUFNLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztTQUFNLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sSUFBSSxRQUFRLENBQUMsdUNBQXVDLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsR0FBVyxFQUNYLFVBQW9DO0lBQ2xDLGFBQWEsRUFBRSxJQUFJO0NBQ3BCO0lBRUQsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsNEJBQTRCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sR0FBRyxHQUFHLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sYUFBYSxHQUFHLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUQsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFaEUsSUFBSSxhQUFhLEtBQUssSUFBSSxJQUFJLGFBQWEsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUN0RCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FDNUIsSUFBSSxFQUNKLFdBQVcsRUFDWDtZQUNFLElBQUksRUFBRSxhQUFhO1lBQ25CLFVBQVU7U0FDWCxFQUNELE9BQU8sQ0FBQyxhQUFhLEVBQ3JCLFNBQVMsQ0FDVixDQUFDO0lBQ0osQ0FBQztTQUFNLElBQUksYUFBYSxLQUFLLFFBQVEsSUFBSSxhQUFhLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDbkUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FDNUIsSUFBSSxFQUNKLFdBQVcsRUFDWDtZQUNFLElBQUksRUFBRSxhQUFhO1lBQ25CLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPO2FBQzlCO1NBQ0YsRUFDRCxPQUFPLENBQUMsYUFBYSxFQUNyQixTQUFTLENBQ1YsQ0FBQztJQUNKLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxJQUFJLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLFFBQVEsQ0FBQyxHQUFXO0lBQzNCLE1BQU0sQ0FBQyxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztTQUFNLElBQUksQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLFFBQVEsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsS0FBSyxPQUFPO2dCQUNWLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLEtBQUssT0FBTztnQkFDVixPQUFPLE9BQU8sQ0FBQztZQUNqQixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7U0FBTSxJQUFJLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMxQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBQ25DLEdBQVcsRUFDWCxVQUFvQztJQUNsQyxhQUFhLEVBQUUsSUFBSTtDQUNwQjtJQUVELElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEQsTUFBTSxHQUFHLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLE1BQU0sR0FBRyxHQUFHLE1BQU0sVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDbEYsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUNyQixJQUFJLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyJ9
|
package/package.json
CHANGED
package/src/crypto/enums.ts
CHANGED
|
@@ -31,7 +31,6 @@ 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';
|
|
35
34
|
|
|
36
35
|
const RSA_OID = '06092a864886f70d010101';
|
|
37
36
|
const EC_OID = '06072a8648ce3d0201';
|
|
@@ -43,6 +42,11 @@ const SPKI = 'spki';
|
|
|
43
42
|
const CERT_BEGIN = '-----BEGIN CERTIFICATE-----';
|
|
44
43
|
const CERT_END = '-----END CERTIFICATE-----';
|
|
45
44
|
|
|
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
|
+
|
|
46
50
|
const ECDH = 'ECDH';
|
|
47
51
|
const ECDSA = 'ECDSA';
|
|
48
52
|
const RSA_OAEP = 'RSA-OAEP';
|
|
@@ -88,13 +92,13 @@ function guessAlgorithmName(hex: string, algorithmName?: string): AlgorithmName
|
|
|
88
92
|
throw new TypeError(`Invalid public key, ${algorithmName}`);
|
|
89
93
|
}
|
|
90
94
|
|
|
91
|
-
function guessCurveName(hex: string):
|
|
95
|
+
function guessCurveName(hex: string): CurveName {
|
|
92
96
|
if (hex.includes(P256_OID)) {
|
|
93
|
-
return
|
|
97
|
+
return P_256;
|
|
94
98
|
} else if (hex.includes(P384_OID)) {
|
|
95
|
-
return
|
|
99
|
+
return P_384;
|
|
96
100
|
} else if (hex.includes(P521_OID)) {
|
|
97
|
-
return
|
|
101
|
+
return P_512;
|
|
98
102
|
}
|
|
99
103
|
throw new TdfError('Unsupported curve name or invalid key');
|
|
100
104
|
}
|
|
@@ -163,11 +167,11 @@ function toJwsAlg(hex: string) {
|
|
|
163
167
|
return 'ECDH-ES';
|
|
164
168
|
} else if (a === ECDSA) {
|
|
165
169
|
switch (guessCurveName(hex)) {
|
|
166
|
-
case
|
|
170
|
+
case 'P-256':
|
|
167
171
|
return 'ES256';
|
|
168
|
-
case
|
|
172
|
+
case 'P-384':
|
|
169
173
|
return 'ES384';
|
|
170
|
-
case
|
|
174
|
+
case 'P-512':
|
|
171
175
|
return 'ES512';
|
|
172
176
|
}
|
|
173
177
|
} else if (a === RSA_OAEP) {
|