react-native-quick-crypto 1.0.1 → 1.0.2
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/QuickCrypto.podspec +5 -47
- package/cpp/cipher/HybridCipher.cpp +17 -1
- package/cpp/ed25519/HybridEdKeyPair.cpp +8 -2
- package/lib/commonjs/ed.js +68 -0
- package/lib/commonjs/ed.js.map +1 -1
- package/lib/commonjs/subtle.js +372 -7
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/module/ed.js +66 -0
- package/lib/module/ed.js.map +1 -1
- package/lib/module/subtle.js +373 -8
- package/lib/module/subtle.js.map +1 -1
- package/lib/module/utils/types.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/typescript/ed.d.ts +4 -1
- package/lib/typescript/ed.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/subtle.d.ts +4 -1
- package/lib/typescript/subtle.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +9 -3
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ed.ts +102 -0
- package/src/subtle.ts +519 -9
- package/src/utils/types.ts +16 -3
package/lib/typescript/ed.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
2
|
+
import { CryptoKey } from './keys';
|
|
2
3
|
import type { EdKeyPair } from './specs/edKeyPair.nitro';
|
|
3
|
-
import type { BinaryLike, CFRGKeyPairType, CryptoKeyPair, DiffieHellmanCallback, DiffieHellmanOptions, GenerateKeyPairCallback, GenerateKeyPairReturn, Hex, KeyPairGenConfig, KeyUsage } from './utils';
|
|
4
|
+
import type { BinaryLike, CFRGKeyPairType, CryptoKeyPair, DiffieHellmanCallback, DiffieHellmanOptions, GenerateKeyPairCallback, GenerateKeyPairReturn, Hex, KeyPairGenConfig, KeyUsage, SubtleAlgorithm } from './utils';
|
|
4
5
|
export declare class Ed {
|
|
5
6
|
type: CFRGKeyPairType;
|
|
6
7
|
config: KeyPairGenConfig;
|
|
@@ -41,4 +42,6 @@ export declare class Ed {
|
|
|
41
42
|
export declare function diffieHellman(options: DiffieHellmanOptions, callback?: DiffieHellmanCallback): Buffer | void;
|
|
42
43
|
export declare function ed_generateKeyPair(isAsync: boolean, type: CFRGKeyPairType, encoding: KeyPairGenConfig, callback: GenerateKeyPairCallback | undefined): GenerateKeyPairReturn | void;
|
|
43
44
|
export declare function ed_generateKeyPairWebCrypto(type: 'ed25519' | 'ed448', extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair>;
|
|
45
|
+
export declare function x_generateKeyPairWebCrypto(type: 'x25519' | 'x448', extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair>;
|
|
46
|
+
export declare function xDeriveBits(algorithm: SubtleAlgorithm, baseKey: CryptoKey, length: number | null): ArrayBuffer;
|
|
44
47
|
//# sourceMappingURL=ed.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ed.d.ts","sourceRoot":"","sources":["../../src/ed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"ed.d.ts","sourceRoot":"","sources":["../../src/ed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,EACL,SAAS,EAIV,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,GAAG,EACH,gBAAgB,EAChB,QAAQ,EACR,eAAe,EAChB,MAAM,SAAS,CAAC;AAUjB,qBAAa,EAAE;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,SAAS,CAAC;gBAEN,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB;IAO3D;;;;;;;;;;OAUG;IACH,aAAa,CACX,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,MAAM,GAAG,IAAI;IAsCV,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtC,mBAAmB,IAAI,IAAI;IAW3B,YAAY,IAAI,WAAW;IAI3B,aAAa,IAAI,WAAW;IAI5B;;;;;;;;;OASG;IACH,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,WAAW;IAIvD,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAMvE,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,WAAW;IAMtD,MAAM,CACV,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,GAAG,CAAC,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,CAAC;IAMnB,UAAU,CACR,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,GAAG,CAAC,EAAE,UAAU,GACf,OAAO;CAKX;AAGD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,MAAM,GAAG,IAAI,CAKf;AAGD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,uBAAuB,GAAG,SAAS,GAC5C,qBAAqB,GAAG,IAAI,CAgE9B;AAkDD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,SAAS,GAAG,OAAO,EACzB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,aAAa,CAAC,CAsDxB;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,QAAQ,GAAG,MAAM,EACvB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,aAAa,CAAC,CAsDxB;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,WAAW,CAoCb"}
|
|
@@ -100,6 +100,8 @@ declare const QuickCrypto: {
|
|
|
100
100
|
diffieHellman(options: utils.DiffieHellmanOptions, callback?: utils.DiffieHellmanCallback): Buffer | void;
|
|
101
101
|
ed_generateKeyPair(isAsync: boolean, type: utils.CFRGKeyPairType, encoding: utils.KeyPairGenConfig, callback: utils.GenerateKeyPairCallback | undefined): utils.GenerateKeyPairReturn | void;
|
|
102
102
|
ed_generateKeyPairWebCrypto(type: "ed25519" | "ed448", extractable: boolean, keyUsages: utils.KeyUsage[]): Promise<utils.CryptoKeyPair>;
|
|
103
|
+
x_generateKeyPairWebCrypto(type: "x25519" | "x448", extractable: boolean, keyUsages: utils.KeyUsage[]): Promise<utils.CryptoKeyPair>;
|
|
104
|
+
xDeriveBits(algorithm: utils.SubtleAlgorithm, baseKey: keys.CryptoKey, length: number | null): ArrayBuffer;
|
|
103
105
|
Ed: typeof ed.Ed;
|
|
104
106
|
getCiphers(): string[];
|
|
105
107
|
createDecipheriv(algorithm: import("crypto").CipherCCMTypes, key: utils.BinaryLikeNode, iv: utils.BinaryLike, options: import("crypto").CipherCCMOptions): cipher.Decipher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAI3B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAInC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;uBAHmB,cAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAkCrC,yCACM,EAAC,YACX;qBAWuC,0BAC7B,EAAE,2BACT;qBAE6d,oCAAiC,EAAC,2BAAwB;;;;;;;;;;;+DAAtN,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAI3B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAInC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;uBAHmB,cAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAkCrC,yCACM,EAAC,YACX;qBAWuC,0BAC7B,EAAE,2BACT;qBAE6d,oCAAiC,EAAC,2BAAwB;;;;;;;;;;;+DAAtN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CApCvU,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,YAMnB,CAAC;AAMF,eAAe,WAAW,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -6,12 +6,15 @@ export declare class Subtle {
|
|
|
6
6
|
decrypt(algorithm: EncryptDecryptParams, key: CryptoKey, data: BufferLike): Promise<ArrayBuffer>;
|
|
7
7
|
digest(algorithm: SubtleAlgorithm | AnyAlgorithm, data: BufferLike): Promise<ArrayBuffer>;
|
|
8
8
|
deriveBits(algorithm: SubtleAlgorithm, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>;
|
|
9
|
+
deriveKey(algorithm: SubtleAlgorithm, baseKey: CryptoKey, derivedKeyAlgorithm: SubtleAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
|
|
9
10
|
encrypt(algorithm: EncryptDecryptParams, key: CryptoKey, data: BufferLike): Promise<ArrayBuffer>;
|
|
10
11
|
exportKey(format: ImportFormat, key: CryptoKey): Promise<ArrayBuffer | JWK>;
|
|
12
|
+
wrapKey(format: ImportFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: EncryptDecryptParams): Promise<ArrayBuffer>;
|
|
13
|
+
unwrapKey(format: ImportFormat, wrappedKey: BufferLike, unwrappingKey: CryptoKey, unwrapAlgorithm: EncryptDecryptParams, unwrappedKeyAlgorithm: SubtleAlgorithm | AnyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
|
|
11
14
|
generateKey(algorithm: SubtleAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey | CryptoKeyPair>;
|
|
12
15
|
importKey(format: ImportFormat, data: BufferLike | BinaryLike | JWK, algorithm: SubtleAlgorithm | AnyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
|
|
13
16
|
sign(algorithm: SubtleAlgorithm, key: CryptoKey, data: BufferLike): Promise<ArrayBuffer>;
|
|
14
|
-
verify(algorithm: SubtleAlgorithm, key: CryptoKey, signature: BufferLike, data: BufferLike): Promise<
|
|
17
|
+
verify(algorithm: SubtleAlgorithm, key: CryptoKey, signature: BufferLike, data: BufferLike): Promise<boolean>;
|
|
15
18
|
}
|
|
16
19
|
export declare const subtle: Subtle;
|
|
17
20
|
//# sourceMappingURL=subtle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subtle.d.ts","sourceRoot":"","sources":["../../src/subtle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACV,GAAG,EACH,YAAY,EACZ,YAAY,EAEZ,oBAAoB,
|
|
1
|
+
{"version":3,"file":"subtle.d.ts","sourceRoot":"","sources":["../../src/subtle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACV,GAAG,EACH,YAAY,EACZ,YAAY,EAEZ,oBAAoB,EAOrB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,SAAS,EAKV,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AA0sCnD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,GAAG,aAAa,GAChC,MAAM,IAAI,aAAa,CAEzB;AAyOD,qBAAa,MAAM;IACX,OAAO,CACX,SAAS,EAAE,oBAAoB,EAC/B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAWjB,MAAM,CACV,SAAS,EAAE,eAAe,GAAG,YAAY,EACzC,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAQjB,UAAU,CACd,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;IAuBjB,SAAS,CACb,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,SAAS,EAClB,mBAAmB,EAAE,eAAe,EACpC,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC;IA6Cf,OAAO,CACX,SAAS,EAAE,oBAAoB,EAC/B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAWjB,SAAS,CACb,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC;IAevB,OAAO,CACX,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,SAAS,EACtB,aAAa,EAAE,oBAAoB,GAClC,OAAO,CAAC,WAAW,CAAC;IA6CjB,SAAS,CACb,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,SAAS,EACxB,eAAe,EAAE,oBAAoB,EACrC,qBAAqB,EAAE,eAAe,GAAG,YAAY,EACrD,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC;IAmDf,WAAW,CACf,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC;IAoG/B,SAAS,CACb,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,GAAG,EACnC,SAAS,EAAE,eAAe,GAAG,YAAY,EACzC,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC;IA6Gf,IAAI,CACR,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAwCjB,MAAM,CACV,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,CAAC;CAsDpB;AAED,eAAO,MAAM,MAAM,QAAe,CAAC"}
|
|
@@ -43,7 +43,7 @@ export type AESAlgorithm = 'AES-CTR' | 'AES-CBC' | 'AES-GCM' | 'AES-KW';
|
|
|
43
43
|
export type SecretKeyAlgorithm = 'HMAC' | AESAlgorithm;
|
|
44
44
|
export type SignVerifyAlgorithm = 'RSASSA-PKCS1-v1_5' | 'RSA-PSS' | 'ECDSA' | 'HMAC' | 'Ed25519' | 'Ed448' | 'ML-DSA-44' | 'ML-DSA-65' | 'ML-DSA-87';
|
|
45
45
|
export type DeriveBitsAlgorithm = 'PBKDF2' | 'HKDF' | 'ECDH' | 'X25519' | 'X448';
|
|
46
|
-
export type EncryptDecryptAlgorithm = 'RSA-OAEP' | 'AES-CTR' | 'AES-CBC' | 'AES-GCM';
|
|
46
|
+
export type EncryptDecryptAlgorithm = 'RSA-OAEP' | 'AES-CTR' | 'AES-CBC' | 'AES-GCM' | 'AES-KW' | 'ChaCha20-Poly1305';
|
|
47
47
|
export type RsaOaepParams = {
|
|
48
48
|
name: 'RSA-OAEP';
|
|
49
49
|
label?: BufferLike;
|
|
@@ -63,6 +63,12 @@ export type AesGcmParams = {
|
|
|
63
63
|
tagLength?: TagLength;
|
|
64
64
|
additionalData?: BufferLike;
|
|
65
65
|
};
|
|
66
|
+
export type ChaCha20Poly1305Params = {
|
|
67
|
+
name: 'ChaCha20-Poly1305';
|
|
68
|
+
iv: BufferLike;
|
|
69
|
+
tagLength?: 128;
|
|
70
|
+
additionalData?: BufferLike;
|
|
71
|
+
};
|
|
66
72
|
export type AesKwParams = {
|
|
67
73
|
name: 'AES-KW';
|
|
68
74
|
wrappingKey?: BufferLike;
|
|
@@ -73,7 +79,7 @@ export type AesKeyGenParams = {
|
|
|
73
79
|
};
|
|
74
80
|
export type TagLength = 32 | 64 | 96 | 104 | 112 | 120 | 128;
|
|
75
81
|
export type AESLength = 128 | 192 | 256;
|
|
76
|
-
export type EncryptDecryptParams = AesCbcParams | AesCtrParams | AesGcmParams | RsaOaepParams;
|
|
82
|
+
export type EncryptDecryptParams = AesCbcParams | AesCtrParams | AesGcmParams | AesKwParams | RsaOaepParams | ChaCha20Poly1305Params;
|
|
77
83
|
export type AnyAlgorithm = DigestAlgorithm | HashAlgorithm | KeyPairAlgorithm | SecretKeyAlgorithm | SignVerifyAlgorithm | DeriveBitsAlgorithm | EncryptDecryptAlgorithm | AESAlgorithm | 'PBKDF2' | 'HKDF' | 'unknown';
|
|
78
84
|
export type NamedCurve = 'P-256' | 'P-384' | 'P-521';
|
|
79
85
|
export type SubtleAlgorithm = {
|
|
@@ -248,7 +254,7 @@ export type DiffieHellmanOptions = {
|
|
|
248
254
|
export type DiffieHellmanCallback = (err: Error | null, secret?: CraftzdogBuffer) => CraftzdogBuffer | void;
|
|
249
255
|
export type Hex = string | Uint8Array;
|
|
250
256
|
export type ImportFormat = 'raw' | 'pkcs8' | 'spki' | 'jwk';
|
|
251
|
-
export type Operation = 'encrypt' | 'decrypt' | 'sign' | 'verify' | 'generateKey' | 'importKey' | 'exportKey' | 'deriveBits';
|
|
257
|
+
export type Operation = 'encrypt' | 'decrypt' | 'sign' | 'verify' | 'generateKey' | 'importKey' | 'exportKey' | 'deriveBits' | 'wrapKey' | 'unwrapKey';
|
|
252
258
|
export interface KeyPairOptions {
|
|
253
259
|
namedCurve: string;
|
|
254
260
|
publicKeyEncoding?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/ed.ts
CHANGED
|
@@ -361,3 +361,105 @@ export async function ed_generateKeyPairWebCrypto(
|
|
|
361
361
|
|
|
362
362
|
return { publicKey, privateKey };
|
|
363
363
|
}
|
|
364
|
+
|
|
365
|
+
export async function x_generateKeyPairWebCrypto(
|
|
366
|
+
type: 'x25519' | 'x448',
|
|
367
|
+
extractable: boolean,
|
|
368
|
+
keyUsages: KeyUsage[],
|
|
369
|
+
): Promise<CryptoKeyPair> {
|
|
370
|
+
if (hasAnyNotIn(keyUsages, ['deriveKey', 'deriveBits'])) {
|
|
371
|
+
throw lazyDOMException(`Unsupported key usage for ${type}`, 'SyntaxError');
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
const publicUsages = getUsagesUnion(keyUsages);
|
|
375
|
+
const privateUsages = getUsagesUnion(keyUsages, 'deriveKey', 'deriveBits');
|
|
376
|
+
|
|
377
|
+
if (privateUsages.length === 0) {
|
|
378
|
+
throw lazyDOMException('Usages cannot be empty', 'SyntaxError');
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
// Request DER-encoded SPKI for public key, PKCS8 for private key
|
|
382
|
+
const config = {
|
|
383
|
+
publicFormat: KFormatType.DER,
|
|
384
|
+
publicType: KeyEncoding.SPKI,
|
|
385
|
+
privateFormat: KFormatType.DER,
|
|
386
|
+
privateType: KeyEncoding.PKCS8,
|
|
387
|
+
};
|
|
388
|
+
const ed = new Ed(type, config);
|
|
389
|
+
await ed.generateKeyPair();
|
|
390
|
+
|
|
391
|
+
const algorithmName = type === 'x25519' ? 'X25519' : 'X448';
|
|
392
|
+
|
|
393
|
+
const publicKeyData = ed.getPublicKey();
|
|
394
|
+
const privateKeyData = ed.getPrivateKey();
|
|
395
|
+
|
|
396
|
+
const pub = KeyObject.createKeyObject(
|
|
397
|
+
'public',
|
|
398
|
+
publicKeyData,
|
|
399
|
+
KFormatType.DER,
|
|
400
|
+
KeyEncoding.SPKI,
|
|
401
|
+
) as PublicKeyObject;
|
|
402
|
+
const publicKey = new CryptoKey(
|
|
403
|
+
pub,
|
|
404
|
+
{ name: algorithmName } as SubtleAlgorithm,
|
|
405
|
+
publicUsages,
|
|
406
|
+
true,
|
|
407
|
+
);
|
|
408
|
+
|
|
409
|
+
const priv = KeyObject.createKeyObject(
|
|
410
|
+
'private',
|
|
411
|
+
privateKeyData,
|
|
412
|
+
KFormatType.DER,
|
|
413
|
+
KeyEncoding.PKCS8,
|
|
414
|
+
) as PrivateKeyObjectClass;
|
|
415
|
+
const privateKey = new CryptoKey(
|
|
416
|
+
priv,
|
|
417
|
+
{ name: algorithmName } as SubtleAlgorithm,
|
|
418
|
+
privateUsages,
|
|
419
|
+
extractable,
|
|
420
|
+
);
|
|
421
|
+
|
|
422
|
+
return { publicKey, privateKey };
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
export function xDeriveBits(
|
|
426
|
+
algorithm: SubtleAlgorithm,
|
|
427
|
+
baseKey: CryptoKey,
|
|
428
|
+
length: number | null,
|
|
429
|
+
): ArrayBuffer {
|
|
430
|
+
const publicParams = algorithm as SubtleAlgorithm & { public?: CryptoKey };
|
|
431
|
+
const publicKey = publicParams.public;
|
|
432
|
+
|
|
433
|
+
if (!publicKey) {
|
|
434
|
+
throw new Error('Public key is required for X25519/X448 derivation');
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
if (baseKey.algorithm.name !== publicKey.algorithm.name) {
|
|
438
|
+
throw new Error('Keys must be of the same algorithm');
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
const type = baseKey.algorithm.name.toLowerCase() as 'x25519' | 'x448';
|
|
442
|
+
const ed = new Ed(type, {});
|
|
443
|
+
|
|
444
|
+
// Export raw keys
|
|
445
|
+
const privateKeyBytes = baseKey.keyObject.handle.exportKey();
|
|
446
|
+
const publicKeyBytes = publicKey.keyObject.handle.exportKey();
|
|
447
|
+
|
|
448
|
+
const privateKeyTyped = new Uint8Array(privateKeyBytes);
|
|
449
|
+
const publicKeyTyped = new Uint8Array(publicKeyBytes);
|
|
450
|
+
|
|
451
|
+
const secret = ed.getSharedSecret(privateKeyTyped, publicKeyTyped);
|
|
452
|
+
|
|
453
|
+
// If length is null, return the full secret
|
|
454
|
+
if (length === null) {
|
|
455
|
+
return secret;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
// If length is specified, truncate
|
|
459
|
+
const byteLength = Math.ceil(length / 8);
|
|
460
|
+
if (secret.byteLength >= byteLength) {
|
|
461
|
+
return secret.slice(0, byteLength);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
throw new Error('Derived key is shorter than requested length');
|
|
465
|
+
}
|