react-native-quick-crypto 1.1.3 → 1.1.5
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 +3 -3
- package/android/build.gradle +2 -2
- package/cpp/keys/HybridKeyObjectHandle.cpp +2 -1
- package/cpp/keys/KeyObjectData.cpp +47 -17
- package/lib/commonjs/index.js +4 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/keys/classes.js +2 -8
- package/lib/commonjs/keys/classes.js.map +1 -1
- package/lib/commonjs/keys/index.js +13 -7
- package/lib/commonjs/keys/index.js.map +1 -1
- package/lib/commonjs/subtle.js +692 -12
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/module/index.js +4 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/keys/classes.js +2 -8
- package/lib/module/keys/classes.js.map +1 -1
- package/lib/module/keys/index.js +13 -7
- package/lib/module/keys/index.js.map +1 -1
- package/lib/module/subtle.js +693 -13
- package/lib/module/subtle.js.map +1 -1
- package/lib/module/utils/types.js.map +1 -1
- package/lib/typescript/index.d.ts +6 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/keys/classes.d.ts +1 -1
- package/lib/typescript/keys/classes.d.ts.map +1 -1
- package/lib/typescript/keys/index.d.ts.map +1 -1
- package/lib/typescript/subtle.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +3 -1
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +16 -3
- package/src/keys/classes.ts +2 -6
- package/src/keys/index.ts +20 -5
- package/src/subtle.ts +736 -26
- package/src/utils/types.ts +5 -0
package/lib/module/keys/index.js
CHANGED
|
@@ -91,8 +91,10 @@ function prepareAsymmetricKey(key, isPublic) {
|
|
|
91
91
|
const {
|
|
92
92
|
key: data,
|
|
93
93
|
format,
|
|
94
|
-
type
|
|
94
|
+
type,
|
|
95
|
+
passphrase
|
|
95
96
|
} = keyObj;
|
|
97
|
+
const passphraseAB = passphrase !== undefined ? toAB(passphrase) : undefined;
|
|
96
98
|
if (data instanceof KeyObject) {
|
|
97
99
|
return prepareAsymmetricKey(data, isPublic);
|
|
98
100
|
}
|
|
@@ -108,7 +110,8 @@ function prepareAsymmetricKey(key, isPublic) {
|
|
|
108
110
|
return {
|
|
109
111
|
data: toAB(data),
|
|
110
112
|
format: 'pem',
|
|
111
|
-
type
|
|
113
|
+
type,
|
|
114
|
+
passphrase: passphraseAB
|
|
112
115
|
};
|
|
113
116
|
}
|
|
114
117
|
|
|
@@ -118,7 +121,8 @@ function prepareAsymmetricKey(key, isPublic) {
|
|
|
118
121
|
return {
|
|
119
122
|
data: toAB(data),
|
|
120
123
|
format: filteredFormat,
|
|
121
|
-
type
|
|
124
|
+
type,
|
|
125
|
+
passphrase: passphraseAB
|
|
122
126
|
};
|
|
123
127
|
}
|
|
124
128
|
throw new Error('Invalid key input');
|
|
@@ -148,7 +152,8 @@ function createPublicKey(key) {
|
|
|
148
152
|
const {
|
|
149
153
|
data,
|
|
150
154
|
format,
|
|
151
|
-
type
|
|
155
|
+
type,
|
|
156
|
+
passphrase
|
|
152
157
|
} = prepareAsymmetricKey(key, true);
|
|
153
158
|
|
|
154
159
|
// Map format string to KFormatType enum
|
|
@@ -158,7 +163,7 @@ function createPublicKey(key) {
|
|
|
158
163
|
// Map type string to KeyEncoding enum
|
|
159
164
|
let kType;
|
|
160
165
|
if (type === 'spki') kType = KeyEncoding.SPKI;else if (type === 'pkcs1') kType = KeyEncoding.PKCS1;
|
|
161
|
-
return KeyObject.createKeyObject('public', data, kFormat, kType);
|
|
166
|
+
return KeyObject.createKeyObject('public', data, kFormat, kType, passphrase);
|
|
162
167
|
}
|
|
163
168
|
function createPrivateKey(key) {
|
|
164
169
|
if (typeof key === 'object' && 'key' in key && isRawFormat(key.format)) {
|
|
@@ -178,7 +183,8 @@ function createPrivateKey(key) {
|
|
|
178
183
|
const {
|
|
179
184
|
data,
|
|
180
185
|
format,
|
|
181
|
-
type
|
|
186
|
+
type,
|
|
187
|
+
passphrase
|
|
182
188
|
} = prepareAsymmetricKey(key, false);
|
|
183
189
|
|
|
184
190
|
// Map format string to KFormatType enum
|
|
@@ -188,7 +194,7 @@ function createPrivateKey(key) {
|
|
|
188
194
|
// Map type string to KeyEncoding enum
|
|
189
195
|
let kType;
|
|
190
196
|
if (type === 'pkcs8') kType = KeyEncoding.PKCS8;else if (type === 'pkcs1') kType = KeyEncoding.PKCS1;else if (type === 'sec1') kType = KeyEncoding.SEC1;
|
|
191
|
-
return KeyObject.createKeyObject('private', data, kFormat, kType);
|
|
197
|
+
return KeyObject.createKeyObject('private', data, kFormat, kType, passphrase);
|
|
192
198
|
}
|
|
193
199
|
function generateKeySync(type, options) {
|
|
194
200
|
if (typeof type !== 'string') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AsymmetricKeyObject","CryptoKey","KeyObject","SecretKeyObject","PublicKeyObject","PrivateKeyObject","generateKeyPair","generateKeyPairSync","createSign","createVerify","sign","verify","Sign","Verify","publicEncrypt","publicDecrypt","privateEncrypt","privateDecrypt","isCryptoKey","parseKeyEncoding","parsePrivateKeyEncoding","parsePublicKeyEncoding","NitroModules","binaryLikeToArrayBuffer","toAB","isStringOrBuffer","KFormatType","KeyEncoding","KeyType","randomBytes","isRawFormat","format","createPublicKeyFromRaw","input","Error","asymmetricKeyType","namedCurve","handle","createHybridObject","initRawPublic","key","createPrivateKeyFromRaw","initRawSeed","initRawPrivate","createSecretKey","keyBuffer","createKeyObject","prepareAsymmetricKey","isPublic","type","exported","exportKey","DER","SPKI","data","PKCS8","cryptoKey","keyObject","isPem","includes","undefined","keyObj","filteredFormat","createPublicKey","keyType","initJwk","PRIVATE","pubHandle","init","PUBLIC","kFormat","PEM","kType","PKCS1","createPrivateKey","SEC1","generateKeySync","options","TypeError","length","Number","isInteger","RangeError","keyBytes","keyMaterial","generateKey","callback","process","nextTick","err"],"sourceRoot":"../../../src","sources":["keys/index.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["AsymmetricKeyObject","CryptoKey","KeyObject","SecretKeyObject","PublicKeyObject","PrivateKeyObject","generateKeyPair","generateKeyPairSync","createSign","createVerify","sign","verify","Sign","Verify","publicEncrypt","publicDecrypt","privateEncrypt","privateDecrypt","isCryptoKey","parseKeyEncoding","parsePrivateKeyEncoding","parsePublicKeyEncoding","NitroModules","binaryLikeToArrayBuffer","toAB","isStringOrBuffer","KFormatType","KeyEncoding","KeyType","randomBytes","isRawFormat","format","createPublicKeyFromRaw","input","Error","asymmetricKeyType","namedCurve","handle","createHybridObject","initRawPublic","key","createPrivateKeyFromRaw","initRawSeed","initRawPrivate","createSecretKey","keyBuffer","createKeyObject","prepareAsymmetricKey","isPublic","type","exported","exportKey","DER","SPKI","data","PKCS8","cryptoKey","keyObject","isPem","includes","undefined","keyObj","passphrase","passphraseAB","filteredFormat","createPublicKey","keyType","initJwk","PRIVATE","pubHandle","init","PUBLIC","kFormat","PEM","kType","PKCS1","createPrivateKey","SEC1","generateKeySync","options","TypeError","length","Number","isInteger","RangeError","keyBytes","keyMaterial","generateKey","callback","process","nextTick","err"],"sourceRoot":"../../../src","sources":["keys/index.ts"],"mappings":"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","ignoreList":[]}
|