8000 fix(winter-cg): crypto (#10580) · NativeScript/NativeScript@41f938c · GitHub
[go: up one dir, main page]

Skip to content

Commit 41f938c

Browse files
authored
fix(winter-cg): crypto (#10580)
1 parent f184d5b commit 41f938c

File tree

35 files changed

+627
-344
lines changed

35 files changed

+627
-344
lines changed

apps/toolbox/src/pages/winter-cg.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ export function navigatingTo(args: EventData) {
1010
function run() {
1111
console.log(crypto.randomUUID());
1212

13-
const buf = new BigUint64Array(3);
13+
const array = new Uint32Array(10);
14+
crypto.getRandomValues(array);
1415

15-
crypto.getRandomValues(buf);
16-
17-
console.log(buf);
16+
console.log('Your lucky numbers:');
17+
for (const num of array) {
18+
console.log(num);
19+
}
1820

1921
const text = 'An obscure body in the S-K System, your majesty. The inhabitants refer to it as the planet Earth.';
2022

2123
async function digestMessage(message) {
2224
const encoder = new TextEncoder();
2325
const data = encoder.encode(message);
24-
console.time('digestMessage');
2526
const hash = await crypto.subtle.digest('SHA-256', data);
26-
console.timeEnd('digestMessage');
2727
return hash;
2828
}
2929

@@ -90,7 +90,6 @@ async function gen_rsa_oaep() {
9090
kp.publicKey,
9191
encoded,
9292
);
93-
9493
let decrypted = await crypto.subtle.decrypt(
9594
{
9695
name: 'RSA-OAEP',

package-lock.json

Lines changed: 9 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
"jest-environment-jsdom": "~29.7.0",
5454
"lint-staged": "^15.2.0",
5555
"module-alias": "^2.2.2",
56-
"nativescript": "~8.7.0",
56+
"nativescript": "8.8.0-pre-next-07-03-2024-9781798152",
5757
"nativescript-typedoc-theme": "1.1.0",
5858
"nx": "19.4.2",
5959
"parse-css": "git+https://github.com/tabatkins/parse-css.git",

packages/core/platforms/ios/NSCWinterCG.xcframework/Info.plist

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,34 +10,34 @@
1010
<key>DebugSymbolsPath</key>
1111
<string>dSYMs</string>
1212
<key>LibraryIdentifier</key>
13-
<string>ios-arm64</string>
13+
<string>xros-arm64_x86_64-simulator</string>
1414
<key>LibraryPath</key>
1515
<string>NSCWinterCG.framework</string>
1616
<key>SupportedArchitectures</key>
1717
<array>
1818
<string>arm64</string>
19+
<string>x86_64</string>
1920
</array>
2021
<key>SupportedPlatform</key>
21-
<string>ios</string>
22+
<string>xros</string>
23+
<key>SupportedPlatformVariant</key>
24+
<string>simulator</string>
2225
</dict>
2326
<dict>
2427
<key>BinaryPath</key>
2528
<string>NSCWinterCG.framework/NSCWinterCG</string>
2629
<key>DebugSymbolsPath</key>
2730
<string>dSYMs</string>
2831
<key>LibraryIdentifier</key>
29-
<string>xros-arm64_x86_64-simulator</string>
32+
<string>ios-ar E0EE m64</string>
3033
<key>LibraryPath</key>
3134
<string>NSCWinterCG.framework</string>
3235
<key>SupportedArchitectures</key>
3336
<array>
3437
<string>arm64</string>
35-
<string>x86_64</string>
3638
</array>
3739
<key>SupportedPlatform</key>
38-
<string>xros</string>
39-
<key>SupportedPlatformVariant</key>
40-
<string>simulator</string>
40+
<string>ios</string>
4141
</dict>
4242
<dict>
4343
<key>BinaryPath</key>

packages/core/platforms/ios/NSCWinterCG.xcframework/ios-arm64/NSCWinterCG.framework/Headers/NSCCrypto.h

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,22 +42,38 @@ typedef enum : NSUInteger {
4242

4343

4444
@interface NSCCryptoKeyPair : NSObject
45-
@property (nonatomic, nonnull) SecKeyRef privateKey;
46-
@property (nonatomic, nonnull) SecKeyRef publicKey;
45+
@property (nonatomic, readonly, nonnull) SecKeyRef privateKey;
46+
@property (nonatomic, readonly, nonnull) SecKeyRef publicKey;
4747
-(nonnull id)initWithPrivateKey:(nonnull SecKeyRef)privKey andPublicKey:(nonnull SecKeyRef)pubKey;
4848
@end
4949

50+
typedef void (^DigestCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
51+
typedef void (^GenerateKeyCompletionHandler)(NSCCryptoKeyPair * _Nullable result,NSError * _Nullable error);
52+
typedef void (^DecryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
53+
typedef void (^EncryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
54+
55+
5056
@interface NSCCrypto:NSObject
5157
+ (nonnull NSString*)randomUUID;
52-
+ (nullable NSString*)getRandomValues:(nonnull void*)buffer length:(unsigned int)length;
53-
+ (nullable NSData*)digest:(nonnull void*)data length:(unsigned int)length mode:(int)mode;
58+
+ (nullable NSString*)getRandomValues:(nonnull NSMutableData*)buffer;
59+
+ (nullable NSData*)digest:(nonnull NSData*)data mode:(int)mode;
60+
+ (void)digest:(nonnull NSData*)data mode:(int)mode completion:(DigestCompletionHandler _Nonnull ) completion;
5461
+ (nullable NSData *)generateKeyHmac:(int)hash length:(int)length;
5562
+ (nullable NSData *)signHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
5663
+ (BOOL)verifyHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash signature:(nonnull NSData*)signature data:(nonnull NSData*)data;
5764

5865
+ (nullable NSCCryptoKeyPair*)generateKeyRsa:(NSCCryptoRsaHashedKeyGenParamsName)name modulusLength:(unsigned int)modulusLength publicExponent:(nullable void*)exponent size:(unsigned int)size hash:(NSCCryptoHash)hash extractable:(BOOL)extractable keyUsages:(nonnull NSArray*) usages;
59-
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
6066

61-
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
67+
+ (void)generateKeyRsa:(NSCCryptoRsaHashedKeyGenParamsName)name modulusLength:(unsigned int)modulusLength publicExponent:(nullable void*)exponent size:(unsigned int)size hash:(NSCCryptoHash)hash extractable:(BOOL)extractable keyUsages:(nonnull NSArray*) usages completion:(GenerateKeyCompletionHandler _Nonnull ) completion;
68+
69+
70+
71+
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
72+
73+
+ (void)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(EncryptCompletionHandler _Nonnull ) completion;
74+
75+
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
76+
77+
+ (void)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(DecryptCompletionHandler _Nonnull ) completion;
6278
@end
6379
#endif /* NSCCrypto_h */

packages/core/platforms/ios/NSCWinterCG.xcframework/ios-arm64/dSYMs/NSCWinterCG.framework.dSYM/Contents/Resources/Relocations/aarch64/NSCWinterCG.yml

Lines changed: 32 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,39 @@
22
triple: 'arm64-apple-darwin'
33
binary-path: '/Users/triniwiz/Documents/GitHub/NativeScript/packages/winter-cg/ios/NSCWinterCG/build/Release-iphoneos/NSCWinterCG.framework/NSCWinterCG'
44
relocations:
5-
- { offsetInCU: 0x34, offset: 0x2E9F5, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x5220, symSize: 0x0 }
6-
- { offsetInCU: 0x69, offset: 0x2EA2A, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x5250, symSize: 0x0 }
5+
- { offsetInCU: 0x34, offset: 0x2E9F5, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x5B70, symSize: 0x0 }
6+
- { offsetInCU: 0x69, offset: 0x2EA2A, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x5BA0, symSize: 0x0 }
77
- { offsetInCU: 0x27, offset: 0x2EA67, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAdd D960 r: 0x0, symBinAddr: 0x4000, symSize: 0x74 }
88
- { offsetInCU: 0x3C, offset: 0x2EA7C, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x74 }
99
- { offsetInCU: 0x8F, offset: 0x2EACF, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x74, symBinAddr: 0x4074, symSize: 0x50 }
10-
- { offsetInCU: 0x27, offset: 0x2EB7E, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x40C4, symSize: 0x6C }
11-
- { offsetInCU: 0x157, offset: 0x2ECAE, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x40C4, symSize: 0x6C }
12-
- { offsetInCU: 0x1BB, offset: 0x2ED12, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x6C, symBinAddr: 0x4130, symSize: 0x70 }
13-
- { offsetInCU: 0x212, offset: 0x2ED69, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xDC, symBinAddr: 0x41A0, symSize: 0x8 }
14-
- { offsetInCU: 0x249, offset: 0x2EDA0, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPrivateKey:]', symObjAddr: 0xE4, symBinAddr: 0x41A8, symSize: 0x8 }
15-
- { offsetInCU: 0x286, offset: 0x2EDDD, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xEC, symBinAddr: 0x41B0, symSize: 0x8 }
16-
- { offsetInCU: 0x2BD, offset: 0x2EE14, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPublicKey:]', symObjAddr: 0xF4, symBinAddr: 0x41B8, symSize: 0x8 }
17-
- { offsetInCU: 0x2FA, offset: 0x2EE51, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xFC, symBinAddr: 0x41C0, symSize: 0x6C }
18-
- { offsetInCU: 0x32D, offset: 0x2EE84, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:length:]', symObjAddr: 0x168, symBinAddr: 0x422C, symSize: 0x44 }
19-
- { offsetInCU: 0x3D0, offset: 0x2EF27, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:length:mode:]', symObjAddr: 0x1AC, symBinAddr: 0x4270, symSize: 0x134 }
20-
- { offsetInCU: 0x59A, offset: 0x2F0F1, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x2E0, symBinAddr: 0x43A4, symSize: 0x230 }
21-
- { offsetInCU: 0x73D, offset: 0x2F294, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x510, symBinAddr: 0x45D4, symSize: 0xBC }
22-
- { offsetInCU: 0x7B0, offset: 0x2F307, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x5CC, symBinAddr: 0x4690, symSize: 0x110 }
23-
- { offsetInCU: 0x87C, offset: 0x2F3D3, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x6DC, symBinAddr: 0x47A0, symSize: 0x2D8 }
24-
- { offsetInCU: 0xBDB, offset: 0x2F732, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:size:]', symObjAddr: 0x9B4, symBinAddr: 0x4A78, symSize: 0x178 }
25-
- { offsetInCU: 0xDD0, offset: 0x2F927, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:size:]', symObjAddr: 0xB2C, symBinAddr: 0x4BF0, symSize: 0x178 }
10+
- { offsetInCU: 0x27, offset: 0x2EB7E, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x40C4, symSize: 0x58 }
11+
- { offsetInCU: 0x15E, offset: 0x2ECB5, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x40C4, symSize: 0x58 }
12+
- { offsetInCU: 0x1C2, offset: 0x2ED19, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x58, symBinAddr: 0x411C, symSize: 0x70 }
13+
- { offsetInCU: 0x258, offset: 0x2EDAF, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xC8, symBinAddr: 0x418C, symSize: 0x8 }
14+
- { offsetInCU: 0x28F, offset: 0x2EDE6, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xD0, symBinAddr: 0x4194, symSize: 0x8 }
15+
- { offsetInCU: 0x2C6, offset: 0x2EE1D, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xD8, symBinAddr: 0x419C, symSize: 0x6C }
16+
- { offsetInCU: 0x2F9, offset: 0x2EE50, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:]', symObjAddr: 0x144, symBinAddr: 0x4208, symSize: 0x80 }
17+
- { offsetInCU: 0x39B, offset: 0x2EEF2, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:]', symObjAddr: 0x1C4, symBinAddr: 0x4288, symSize: 0x1E4 }
18+
- { offsetInCU: 0x54E, offset: 0x2F0A5, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:completion:]', symObjAddr: 0x3A8, symBinAddr: 0x446C, symSize: 0xE0 }
19+
- { offsetInCU: 0x61D, offset: 0x2F174, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke', symObjAddr: 0x488, symBinAddr: 0x454C, symSize: 0xB0 }
20+
- { offsetInCU: 0x6AD, offset: 0x2F204, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke_2', symObjAddr: 0x538, symBinAddr: 0x45FC, symSize: 0x14 }
21+
- { offsetInCU: 0x70B, offset: 0x2F262, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40b, symObjAddr: 0x54C, symBinAddr: 0x4610, symSize: 0x34 }
22+
- { offsetInCU: 0x734, offset: 0x2F28B, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s, symObjAddr: 0x580, symBinAddr: 0x4644, symSize: 0x28 }
23+
- { offsetInCU: 0x753, offset: 0x2F2AA, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x5A8, symBinAddr: 0x466C, symSize: 0x230 }
24+
- { offsetInCU: 0x8F6, offset: 0x2F44D, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x7D8, symBinAddr: 0x489C, symSize: 0xBC }
25+
- { offsetInCU: 0x969, offset: 0x2F4C0, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x894, symBinAddr: 0x4958, symSize: 0x110 }
26+
- { offsetInCU: 0xA35, offset: 0x2F58C, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x9A4, symBinAddr: 0x4A68, symSize: 0x2D8 }
27+
- { offsetInCU: 0xD8D, offset: 0x2F8E4, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]', symObjAddr: 0xC7C, symBinAddr: 0x4D40, symSize: 0x114 }
28+
- { offsetInCU: 0xE79, offset: 0x2F9D0, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke', symObjAddr: 0xD90, symBinAddr: 0x4E54, symSize: 0xC0 }
29+
- { offsetInCU: 0xF64, offset: 0x2FABB, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke_2', symObjAddr: 0xE50, symBinAddr: 0x4F14, symSize: 0x14 }
30+
- { offsetInCU: 0xFC6, offset: 0x2FB1D, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:]', symObjAddr: 0xE64, symBinAddr: 0x4F28, symSize: 0x158 }
31+
- { offsetInCU: 0x1199, offset: 0x2FCF0, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:completion:]', symObjAddr: 0xFBC, symBinAddr: 0x5080, symSize: 0x11C }
32+
- { offsetInCU: 0x1252, offset: 0x2FDA9, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x10D8, symBinAddr: 0x519C, symSize: 0xB4 }
33+
- { offsetInCU: 0x130A, offset: 0x2FE61, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x118C, symBinAddr: 0x5250, symSize: 0x14 }
34+
- { offsetInCU: 0x136C, offset: 0x2FEC3, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40s48b, symObjAddr: 0x11A0, symBinAddr: 0x5264, symSize: 0x3C }
35+
- { offsetInCU: 0x1395, offset: 0x2FEEC, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s48s, symObjAddr: 0x11DC, symBinAddr: 0x52A0, symSize: 0x30 }
36+
- { offsetInCU: 0x13B4, offset: 0x2FF0B, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:]', symObjAddr: 0x120C, symBinAddr: 0x52D0, symSize: 0x158 }
37+
- { offsetInCU: 0x1582, offset: 0x300D9, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:completion:]', symObjAddr: 0x1364, symBinAddr: 0x5428, symSize: 0x11C }
38+
- { offsetInCU: 0x163B, offset: 0x30192, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x1480, symBinAddr: 0x5544, symSize: 0xB4 }
39+
- { offsetInCU: 0x16F3, offset: 0x3024A, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x1534, symBinAddr: 0x55F8, symSize: 0x14 }
2640
...

packages/core/platforms/ios/NSCWinterCG.xcframework/ios-arm64_x86_64-maccatalyst/NSCWinterCG.framework/Versions/A/Headers/NSCCrypto.h

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,22 +42,38 @@ typedef enum : NSUInteger {
4242

4343

4444
@interface NSCCryptoKeyPair : NSObject
45-
@property (nonatomic, nonnull) SecKeyRef privateKey;
46-
@property (nonatomic, nonnull) SecKeyRef publicKey;
45+
@property (nonatomic, readonly, nonnull) SecKeyRef privateKey;
46+
@property (nonatomic, readonly, nonnull) SecKeyRef publicKey;
4747
-(nonnull id)initWithPrivateKey:(nonnull SecKeyRef)privKey andPublicKey:(nonnull SecKeyRef)pubKey;
4848
@end
4949

50+
typedef void (^DigestCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
51+
typedef void (^GenerateKeyCompletionHandler)(NSCCryptoKeyPair * _Nullable result,NSError * _Nullable error);
52+
typedef void (^DecryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
53+
typedef void (^EncryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
54+
55+
5056
@interface NSCCrypto:NSObject
5157
+ (nonnull NSString*)randomUUID;
52-
+ (nullable NSString*)getRandomValues:(nonnull void*)buffer length:(unsigned int)length;
53-
+ (nullable NSData*)digest:(nonnull void*)data length:(unsigned int)length mode:(int)mode;
58+
+ (nullable NSString*)getRandomValues:(nonnull NSMutableData*)buffer;
59+
+ (nullable NSData*)digest:(nonnull NSData*)data mode:(int)mode;
60+
+ (void)digest:(nonnull NSData*)data mode:(int)mode completion:(DigestCompletionHandler _Nonnull ) completion;
5461
+ (nullable NSData *)generateKeyHmac:(int)hash length:(int)length;
5562
+ (nullable NSData *)signHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
5663
+ (BOOL)verifyHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash signature:(nonnull NSData*)signature data:(nonnull NSData*)data;
5764

5865
+ (nullable NSCCryptoKeyPair*)generateKeyRsa:(NSCCryptoRsaHashedKeyGenParamsName)name modulusLength:(unsigned int)modulusLength publicExponent:(nullable void*)exponent size:(unsigned int)size hash:(NSCCryptoHash)hash extractable:(BOOL)extractable keyUsages:(nonnull NSArray*) usages;
59-
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
6066

61-
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
67+
+ (void)generateKeyRsa:(NSCCryptoRsaHashedKeyGenParamsName)name modulusLength:(unsigned int)modulusLength publicExponent:(nullable void*)exponent size:(unsigned int)size hash:(NSCCryptoHash)hash extractable:(BOOL)extractable keyUsages:(nonnull NSArray*) usages completion:(GenerateKeyCompletionHandler _Nonnull ) completion;
68+
69+
70+
71+
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
72+
73+
+ (void)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(EncryptCompletionHandler _Nonnull ) completion;
74+
75+
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
76+
77+
+ (void)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(DecryptCompletionHandler _Nonnull ) completion;
6278
@end
6379
#endif /* NSCCrypto_h */

0 commit comments

Comments
 (0)
0