mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
fix(winter-cg): crypto (#10580)
This commit is contained in:
@@ -10,20 +10,20 @@ export function navigatingTo(args: EventData) {
|
||||
function run() {
|
||||
console.log(crypto.randomUUID());
|
||||
|
||||
const buf = new BigUint64Array(3);
|
||||
const array = new Uint32Array(10);
|
||||
crypto.getRandomValues(array);
|
||||
|
||||
crypto.getRandomValues(buf);
|
||||
|
||||
console.log(buf);
|
||||
console.log('Your lucky numbers:');
|
||||
for (const num of array) {
|
||||
console.log(num);
|
||||
}
|
||||
|
||||
const text = 'An obscure body in the S-K System, your majesty. The inhabitants refer to it as the planet Earth.';
|
||||
|
||||
async function digestMessage(message) {
|
||||
const encoder = new TextEncoder();
|
||||
const data = encoder.encode(message);
|
||||
console.time('digestMessage');
|
||||
const hash = await crypto.subtle.digest('SHA-256', data);
|
||||
console.timeEnd('digestMessage');
|
||||
return hash;
|
||||
}
|
||||
|
||||
@@ -90,7 +90,6 @@ async function gen_rsa_oaep() {
|
||||
kp.publicKey,
|
||||
encoded,
|
||||
);
|
||||
|
||||
let decrypted = await crypto.subtle.decrypt(
|
||||
{
|
||||
name: 'RSA-OAEP',
|
||||
|
||||
14
package-lock.json
generated
14
package-lock.json
generated
@@ -45,7 +45,7 @@
|
||||
"jest-environment-jsdom": "~29.7.0",
|
||||
"lint-staged": "^15.2.0",
|
||||
"module-alias": "^2.2.2",
|
||||
"nativescript": "~8.7.0",
|
||||
"nativescript": "8.8.0-pre-next-07-03-2024-9781798152",
|
||||
"nativescript-typedoc-theme": "1.1.0",
|
||||
"nx": "19.4.2",
|
||||
"parse-css": "git+https://github.com/tabatkins/parse-css.git",
|
||||
@@ -15824,15 +15824,16 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/nativescript": {
|
||||
"version": "8.7.0",
|
||||
"resolved": "https://registry.npmjs.org/nativescript/-/nativescript-8.7.0.tgz",
|
||||
"integrity": "sha512-qToM0RJdPEACGm5F+1nl0E4JlOJZTd2bWY9AEYZkIsBV+nkYOExAzFKqtoc+wPenl0HmxhQjU8EQ4EsOovOIBw==",
|
||||
"version": "8.8.0-pre-next-07-03-2024-9781798152",
|
||||
"resolved": "https://registry.npmjs.org/nativescript/-/nativescript-8.8.0-pre-next-07-03-2024-9781798152.tgz",
|
||||
"integrity": "sha512-rEDlm9TSl5Y9xue6u75cTiqP1yC+/CyGZyA0YN/o+yoAoMgAISZghmTx+aQB/x3AgHZPEhffFEnHpnA9OcJ3hA==",
|
||||
"bundleDependencies": [
|
||||
"@npmcli/move-file",
|
||||
"stringify-package"
|
||||
],
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@nativescript/doctor": "2.0.14",
|
||||
"@nativescript/schematics-executor": "0.0.2",
|
||||
@@ -15903,7 +15904,10 @@
|
||||
"tns": "bin/tns"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/nativescript-dev-xcode": {
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
"jest-environment-jsdom": "~29.7.0",
|
||||
"lint-staged": "^15.2.0",
|
||||
"module-alias": "^2.2.2",
|
||||
"nativescript": "~8.7.0",
|
||||
"nativescript": "8.8.0-pre-next-07-03-2024-9781798152",
|
||||
"nativescript-typedoc-theme": "1.1.0",
|
||||
"nx": "19.4.2",
|
||||
"parse-css": "git+https://github.com/tabatkins/parse-css.git",
|
||||
|
||||
@@ -4,22 +4,6 @@
|
||||
<dict>
|
||||
<key>AvailableLibraries</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>BinaryPath</key>
|
||||
<string>NSCWinterCG.framework/NSCWinterCG</string>
|
||||
<key>DebugSymbolsPath</key>
|
||||
<string>dSYMs</string>
|
||||
<key>LibraryIdentifier</key>
|
||||
<string>ios-arm64</string>
|
||||
<key>LibraryPath</key>
|
||||
<string>NSCWinterCG.framework</string>
|
||||
<key>SupportedArchitectures</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
</array>
|
||||
<key>SupportedPlatform</key>
|
||||
<string>ios</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>BinaryPath</key>
|
||||
<string>NSCWinterCG.framework/NSCWinterCG</string>
|
||||
@@ -39,6 +23,22 @@
|
||||
<key>SupportedPlatformVariant</key>
|
||||
<string>simulator</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>BinaryPath</key>
|
||||
<string>NSCWinterCG.framework/NSCWinterCG</string>
|
||||
<key>DebugSymbolsPath</key>
|
||||
<string>dSYMs</string>
|
||||
<key>LibraryIdentifier</key>
|
||||
<string>ios-arm64</string>
|
||||
<key>LibraryPath</key>
|
||||
<string>NSCWinterCG.framework</string>
|
||||
<key>SupportedArchitectures</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
</array>
|
||||
<key>SupportedPlatform</key>
|
||||
<string>ios</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>BinaryPath</key>
|
||||
<string>NSCWinterCG.framework/NSCWinterCG</string>
|
||||
|
||||
@@ -42,22 +42,38 @@ typedef enum : NSUInteger {
|
||||
|
||||
|
||||
@interface NSCCryptoKeyPair : NSObject
|
||||
@property (nonatomic, nonnull) SecKeyRef privateKey;
|
||||
@property (nonatomic, nonnull) SecKeyRef publicKey;
|
||||
@property (nonatomic, readonly, nonnull) SecKeyRef privateKey;
|
||||
@property (nonatomic, readonly, nonnull) SecKeyRef publicKey;
|
||||
-(nonnull id)initWithPrivateKey:(nonnull SecKeyRef)privKey andPublicKey:(nonnull SecKeyRef)pubKey;
|
||||
@end
|
||||
|
||||
typedef void (^DigestCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^GenerateKeyCompletionHandler)(NSCCryptoKeyPair * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^DecryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^EncryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
|
||||
|
||||
@interface NSCCrypto:NSObject
|
||||
+ (nonnull NSString*)randomUUID;
|
||||
+ (nullable NSString*)getRandomValues:(nonnull void*)buffer length:(unsigned int)length;
|
||||
+ (nullable NSData*)digest:(nonnull void*)data length:(unsigned int)length mode:(int)mode;
|
||||
+ (nullable NSString*)getRandomValues:(nonnull NSMutableData*)buffer;
|
||||
+ (nullable NSData*)digest:(nonnull NSData*)data mode:(int)mode;
|
||||
+ (void)digest:(nonnull NSData*)data mode:(int)mode completion:(DigestCompletionHandler _Nonnull ) completion;
|
||||
+ (nullable NSData *)generateKeyHmac:(int)hash length:(int)length;
|
||||
+ (nullable NSData *)signHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
+ (BOOL)verifyHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash signature:(nonnull NSData*)signature data:(nonnull NSData*)data;
|
||||
|
||||
+ (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;
|
||||
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
|
||||
|
||||
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
|
||||
+ (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;
|
||||
|
||||
|
||||
|
||||
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
|
||||
+ (void)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(EncryptCompletionHandler _Nonnull ) completion;
|
||||
|
||||
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
|
||||
+ (void)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(DecryptCompletionHandler _Nonnull ) completion;
|
||||
@end
|
||||
#endif /* NSCCrypto_h */
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -2,25 +2,39 @@
|
||||
triple: 'arm64-apple-darwin'
|
||||
binary-path: '/Users/triniwiz/Documents/GitHub/NativeScript/packages/winter-cg/ios/NSCWinterCG/build/Release-iphoneos/NSCWinterCG.framework/NSCWinterCG'
|
||||
relocations:
|
||||
- { offsetInCU: 0x34, offset: 0x2E9F5, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x5220, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x2EA2A, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x5250, symSize: 0x0 }
|
||||
- { offsetInCU: 0x34, offset: 0x2E9F5, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x5B70, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x2EA2A, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x5BA0, symSize: 0x0 }
|
||||
- { offsetInCU: 0x27, offset: 0x2EA67, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x74 }
|
||||
- { offsetInCU: 0x3C, offset: 0x2EA7C, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x74 }
|
||||
- { offsetInCU: 0x8F, offset: 0x2EACF, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x74, symBinAddr: 0x4074, symSize: 0x50 }
|
||||
- { offsetInCU: 0x27, offset: 0x2EB7E, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x40C4, symSize: 0x6C }
|
||||
- { offsetInCU: 0x157, offset: 0x2ECAE, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x40C4, symSize: 0x6C }
|
||||
- { offsetInCU: 0x1BB, offset: 0x2ED12, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x6C, symBinAddr: 0x4130, symSize: 0x70 }
|
||||
- { offsetInCU: 0x212, offset: 0x2ED69, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xDC, symBinAddr: 0x41A0, symSize: 0x8 }
|
||||
- { offsetInCU: 0x249, offset: 0x2EDA0, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPrivateKey:]', symObjAddr: 0xE4, symBinAddr: 0x41A8, symSize: 0x8 }
|
||||
- { offsetInCU: 0x286, offset: 0x2EDDD, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xEC, symBinAddr: 0x41B0, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2BD, offset: 0x2EE14, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPublicKey:]', symObjAddr: 0xF4, symBinAddr: 0x41B8, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2FA, offset: 0x2EE51, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xFC, symBinAddr: 0x41C0, symSize: 0x6C }
|
||||
- { offsetInCU: 0x32D, offset: 0x2EE84, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:length:]', symObjAddr: 0x168, symBinAddr: 0x422C, symSize: 0x44 }
|
||||
- { offsetInCU: 0x3D0, offset: 0x2EF27, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:length:mode:]', symObjAddr: 0x1AC, symBinAddr: 0x4270, symSize: 0x134 }
|
||||
- { offsetInCU: 0x59A, offset: 0x2F0F1, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x2E0, symBinAddr: 0x43A4, symSize: 0x230 }
|
||||
- { offsetInCU: 0x73D, offset: 0x2F294, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x510, symBinAddr: 0x45D4, symSize: 0xBC }
|
||||
- { offsetInCU: 0x7B0, offset: 0x2F307, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x5CC, symBinAddr: 0x4690, symSize: 0x110 }
|
||||
- { offsetInCU: 0x87C, offset: 0x2F3D3, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x6DC, symBinAddr: 0x47A0, symSize: 0x2D8 }
|
||||
- { offsetInCU: 0xBDB, offset: 0x2F732, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:size:]', symObjAddr: 0x9B4, symBinAddr: 0x4A78, symSize: 0x178 }
|
||||
- { offsetInCU: 0xDD0, offset: 0x2F927, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:size:]', symObjAddr: 0xB2C, symBinAddr: 0x4BF0, symSize: 0x178 }
|
||||
- { offsetInCU: 0x27, offset: 0x2EB7E, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x40C4, symSize: 0x58 }
|
||||
- { offsetInCU: 0x15E, offset: 0x2ECB5, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x40C4, symSize: 0x58 }
|
||||
- { offsetInCU: 0x1C2, offset: 0x2ED19, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x58, symBinAddr: 0x411C, symSize: 0x70 }
|
||||
- { offsetInCU: 0x258, offset: 0x2EDAF, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xC8, symBinAddr: 0x418C, symSize: 0x8 }
|
||||
- { offsetInCU: 0x28F, offset: 0x2EDE6, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xD0, symBinAddr: 0x4194, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2C6, offset: 0x2EE1D, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xD8, symBinAddr: 0x419C, symSize: 0x6C }
|
||||
- { offsetInCU: 0x2F9, offset: 0x2EE50, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:]', symObjAddr: 0x144, symBinAddr: 0x4208, symSize: 0x80 }
|
||||
- { offsetInCU: 0x39B, offset: 0x2EEF2, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:]', symObjAddr: 0x1C4, symBinAddr: 0x4288, symSize: 0x1E4 }
|
||||
- { offsetInCU: 0x54E, offset: 0x2F0A5, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:completion:]', symObjAddr: 0x3A8, symBinAddr: 0x446C, symSize: 0xE0 }
|
||||
- { offsetInCU: 0x61D, offset: 0x2F174, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke', symObjAddr: 0x488, symBinAddr: 0x454C, symSize: 0xB0 }
|
||||
- { offsetInCU: 0x6AD, offset: 0x2F204, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke_2', symObjAddr: 0x538, symBinAddr: 0x45FC, symSize: 0x14 }
|
||||
- { offsetInCU: 0x70B, offset: 0x2F262, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40b, symObjAddr: 0x54C, symBinAddr: 0x4610, symSize: 0x34 }
|
||||
- { offsetInCU: 0x734, offset: 0x2F28B, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s, symObjAddr: 0x580, symBinAddr: 0x4644, symSize: 0x28 }
|
||||
- { offsetInCU: 0x753, offset: 0x2F2AA, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x5A8, symBinAddr: 0x466C, symSize: 0x230 }
|
||||
- { offsetInCU: 0x8F6, offset: 0x2F44D, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x7D8, symBinAddr: 0x489C, symSize: 0xBC }
|
||||
- { offsetInCU: 0x969, offset: 0x2F4C0, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x894, symBinAddr: 0x4958, symSize: 0x110 }
|
||||
- { offsetInCU: 0xA35, offset: 0x2F58C, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x9A4, symBinAddr: 0x4A68, symSize: 0x2D8 }
|
||||
- { offsetInCU: 0xD8D, offset: 0x2F8E4, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]', symObjAddr: 0xC7C, symBinAddr: 0x4D40, symSize: 0x114 }
|
||||
- { 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 }
|
||||
- { 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 }
|
||||
- { offsetInCU: 0xFC6, offset: 0x2FB1D, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:]', symObjAddr: 0xE64, symBinAddr: 0x4F28, symSize: 0x158 }
|
||||
- { offsetInCU: 0x1199, offset: 0x2FCF0, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:completion:]', symObjAddr: 0xFBC, symBinAddr: 0x5080, symSize: 0x11C }
|
||||
- { offsetInCU: 0x1252, offset: 0x2FDA9, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x10D8, symBinAddr: 0x519C, symSize: 0xB4 }
|
||||
- { 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 }
|
||||
- { offsetInCU: 0x136C, offset: 0x2FEC3, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40s48b, symObjAddr: 0x11A0, symBinAddr: 0x5264, symSize: 0x3C }
|
||||
- { offsetInCU: 0x1395, offset: 0x2FEEC, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s48s, symObjAddr: 0x11DC, symBinAddr: 0x52A0, symSize: 0x30 }
|
||||
- { offsetInCU: 0x13B4, offset: 0x2FF0B, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:]', symObjAddr: 0x120C, symBinAddr: 0x52D0, symSize: 0x158 }
|
||||
- { offsetInCU: 0x1582, offset: 0x300D9, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:completion:]', symObjAddr: 0x1364, symBinAddr: 0x5428, symSize: 0x11C }
|
||||
- { offsetInCU: 0x163B, offset: 0x30192, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x1480, symBinAddr: 0x5544, symSize: 0xB4 }
|
||||
- { 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 }
|
||||
...
|
||||
|
||||
@@ -42,22 +42,38 @@ typedef enum : NSUInteger {
|
||||
|
||||
|
||||
@interface NSCCryptoKeyPair : NSObject
|
||||
@property (nonatomic, nonnull) SecKeyRef privateKey;
|
||||
@property (nonatomic, nonnull) SecKeyRef publicKey;
|
||||
@property (nonatomic, readonly, nonnull) SecKeyRef privateKey;
|
||||
@property (nonatomic, readonly, nonnull) SecKeyRef publicKey;
|
||||
-(nonnull id)initWithPrivateKey:(nonnull SecKeyRef)privKey andPublicKey:(nonnull SecKeyRef)pubKey;
|
||||
@end
|
||||
|
||||
typedef void (^DigestCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^GenerateKeyCompletionHandler)(NSCCryptoKeyPair * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^DecryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^EncryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
|
||||
|
||||
@interface NSCCrypto:NSObject
|
||||
+ (nonnull NSString*)randomUUID;
|
||||
+ (nullable NSString*)getRandomValues:(nonnull void*)buffer length:(unsigned int)length;
|
||||
+ (nullable NSData*)digest:(nonnull void*)data length:(unsigned int)length mode:(int)mode;
|
||||
+ (nullable NSString*)getRandomValues:(nonnull NSMutableData*)buffer;
|
||||
+ (nullable NSData*)digest:(nonnull NSData*)data mode:(int)mode;
|
||||
+ (void)digest:(nonnull NSData*)data mode:(int)mode completion:(DigestCompletionHandler _Nonnull ) completion;
|
||||
+ (nullable NSData *)generateKeyHmac:(int)hash length:(int)length;
|
||||
+ (nullable NSData *)signHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
+ (BOOL)verifyHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash signature:(nonnull NSData*)signature data:(nonnull NSData*)data;
|
||||
|
||||
+ (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;
|
||||
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
|
||||
|
||||
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
|
||||
+ (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;
|
||||
|
||||
|
||||
|
||||
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
|
||||
+ (void)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(EncryptCompletionHandler _Nonnull ) completion;
|
||||
|
||||
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
|
||||
+ (void)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(DecryptCompletionHandler _Nonnull ) completion;
|
||||
@end
|
||||
#endif /* NSCCrypto_h */
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -2,25 +2,39 @@
|
||||
triple: 'arm64-apple-darwin'
|
||||
binary-path: '/Users/triniwiz/Documents/GitHub/NativeScript/packages/winter-cg/ios/NSCWinterCG/build/Release-maccatalyst/NSCWinterCG.framework/Versions/A/NSCWinterCG'
|
||||
relocations:
|
||||
- { offsetInCU: 0x34, offset: 0x8175D, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x3A90, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x81792, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x3AC0, symSize: 0x0 }
|
||||
- { offsetInCU: 0x27, offset: 0x817CF, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x2890, symSize: 0x74 }
|
||||
- { offsetInCU: 0x3C, offset: 0x817E4, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x2890, symSize: 0x74 }
|
||||
- { offsetInCU: 0x8F, offset: 0x81837, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x74, symBinAddr: 0x2904, symSize: 0x50 }
|
||||
- { offsetInCU: 0x27, offset: 0x818E6, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x2954, symSize: 0x6C }
|
||||
- { offsetInCU: 0x159, offset: 0x81A18, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x2954, symSize: 0x6C }
|
||||
- { offsetInCU: 0x1BD, offset: 0x81A7C, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x6C, symBinAddr: 0x29C0, symSize: 0x70 }
|
||||
- { offsetInCU: 0x214, offset: 0x81AD3, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xDC, symBinAddr: 0x2A30, symSize: 0x8 }
|
||||
- { offsetInCU: 0x24B, offset: 0x81B0A, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPrivateKey:]', symObjAddr: 0xE4, symBinAddr: 0x2A38, symSize: 0x8 }
|
||||
- { offsetInCU: 0x288, offset: 0x81B47, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xEC, symBinAddr: 0x2A40, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2BF, offset: 0x81B7E, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPublicKey:]', symObjAddr: 0xF4, symBinAddr: 0x2A48, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2FC, offset: 0x81BBB, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xFC, symBinAddr: 0x2A50, symSize: 0x6C }
|
||||
- { offsetInCU: 0x32F, offset: 0x81BEE, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:length:]', symObjAddr: 0x168, symBinAddr: 0x2ABC, symSize: 0x44 }
|
||||
- { offsetInCU: 0x3D2, offset: 0x81C91, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:length:mode:]', symObjAddr: 0x1AC, symBinAddr: 0x2B00, symSize: 0x134 }
|
||||
- { offsetInCU: 0x59C, offset: 0x81E5B, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x2E0, symBinAddr: 0x2C34, symSize: 0x230 }
|
||||
- { offsetInCU: 0x73F, offset: 0x81FFE, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x510, symBinAddr: 0x2E64, symSize: 0xBC }
|
||||
- { offsetInCU: 0x7B2, offset: 0x82071, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x5CC, symBinAddr: 0x2F20, symSize: 0x110 }
|
||||
- { offsetInCU: 0x87E, offset: 0x8213D, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x6DC, symBinAddr: 0x3030, symSize: 0x2D8 }
|
||||
- { offsetInCU: 0xBDD, offset: 0x8249C, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:size:]', symObjAddr: 0x9B4, symBinAddr: 0x3308, symSize: 0x178 }
|
||||
- { offsetInCU: 0xDD2, offset: 0x82691, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:size:]', symObjAddr: 0xB2C, symBinAddr: 0x3480, symSize: 0x178 }
|
||||
- { offsetInCU: 0x34, offset: 0x8175D, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x39B0, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x81792, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x39E0, symSize: 0x0 }
|
||||
- { offsetInCU: 0x27, offset: 0x817CF, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1E84, symSize: 0x74 }
|
||||
- { offsetInCU: 0x3C, offset: 0x817E4, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1E84, symSize: 0x74 }
|
||||
- { offsetInCU: 0x8F, offset: 0x81837, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x74, symBinAddr: 0x1EF8, symSize: 0x50 }
|
||||
- { offsetInCU: 0x27, offset: 0x818E6, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1F48, symSize: 0x58 }
|
||||
- { offsetInCU: 0x160, offset: 0x81A1F, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1F48, symSize: 0x58 }
|
||||
- { offsetInCU: 0x1C4, offset: 0x81A83, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x58, symBinAddr: 0x1FA0, symSize: 0x70 }
|
||||
- { offsetInCU: 0x25A, offset: 0x81B19, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xC8, symBinAddr: 0x2010, symSize: 0x8 }
|
||||
- { offsetInCU: 0x291, offset: 0x81B50, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xD0, symBinAddr: 0x2018, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2C8, offset: 0x81B87, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xD8, symBinAddr: 0x2020, symSize: 0x6C }
|
||||
- { offsetInCU: 0x2FB, offset: 0x81BBA, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:]', symObjAddr: 0x144, symBinAddr: 0x208C, symSize: 0x80 }
|
||||
- { offsetInCU: 0x39D, offset: 0x81C5C, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:]', symObjAddr: 0x1C4, symBinAddr: 0x210C, symSize: 0x1E4 }
|
||||
- { offsetInCU: 0x550, offset: 0x81E0F, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:completion:]', symObjAddr: 0x3A8, symBinAddr: 0x22F0, symSize: 0xE0 }
|
||||
- { offsetInCU: 0x61F, offset: 0x81EDE, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke', symObjAddr: 0x488, symBinAddr: 0x23D0, symSize: 0xB0 }
|
||||
- { offsetInCU: 0x6AF, offset: 0x81F6E, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke_2', symObjAddr: 0x538, symBinAddr: 0x2480, symSize: 0x14 }
|
||||
- { offsetInCU: 0x70D, offset: 0x81FCC, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40b, symObjAddr: 0x54C, symBinAddr: 0x2494, symSize: 0x34 }
|
||||
- { offsetInCU: 0x736, offset: 0x81FF5, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s, symObjAddr: 0x580, symBinAddr: 0x24C8, symSize: 0x28 }
|
||||
- { offsetInCU: 0x755, offset: 0x82014, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x5A8, symBinAddr: 0x24F0, symSize: 0x230 }
|
||||
- { offsetInCU: 0x8F8, offset: 0x821B7, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x7D8, symBinAddr: 0x2720, symSize: 0xBC }
|
||||
- { offsetInCU: 0x96B, offset: 0x8222A, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x894, symBinAddr: 0x27DC, symSize: 0x110 }
|
||||
- { offsetInCU: 0xA37, offset: 0x822F6, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x9A4, symBinAddr: 0x28EC, symSize: 0x2D8 }
|
||||
- { offsetInCU: 0xD8F, offset: 0x8264E, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]', symObjAddr: 0xC7C, symBinAddr: 0x2BC4, symSize: 0x114 }
|
||||
- { offsetInCU: 0xE7B, offset: 0x8273A, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke', symObjAddr: 0xD90, symBinAddr: 0x2CD8, symSize: 0xC0 }
|
||||
- { offsetInCU: 0xF66, offset: 0x82825, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke_2', symObjAddr: 0xE50, symBinAddr: 0x2D98, symSize: 0x14 }
|
||||
- { offsetInCU: 0xFC8, offset: 0x82887, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:]', symObjAddr: 0xE64, symBinAddr: 0x2DAC, symSize: 0x158 }
|
||||
- { offsetInCU: 0x119B, offset: 0x82A5A, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:completion:]', symObjAddr: 0xFBC, symBinAddr: 0x2F04, symSize: 0x11C }
|
||||
- { offsetInCU: 0x1254, offset: 0x82B13, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x10D8, symBinAddr: 0x3020, symSize: 0xB4 }
|
||||
- { offsetInCU: 0x130C, offset: 0x82BCB, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x118C, symBinAddr: 0x30D4, symSize: 0x14 }
|
||||
- { offsetInCU: 0x136E, offset: 0x82C2D, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40s48b, symObjAddr: 0x11A0, symBinAddr: 0x30E8, symSize: 0x3C }
|
||||
- { offsetInCU: 0x1397, offset: 0x82C56, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s48s, symObjAddr: 0x11DC, symBinAddr: 0x3124, symSize: 0x30 }
|
||||
- { offsetInCU: 0x13B6, offset: 0x82C75, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:]', symObjAddr: 0x120C, symBinAddr: 0x3154, symSize: 0x158 }
|
||||
- { offsetInCU: 0x1584, offset: 0x82E43, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:completion:]', symObjAddr: 0x1364, symBinAddr: 0x32AC, symSize: 0x11C }
|
||||
- { offsetInCU: 0x163D, offset: 0x82EFC, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x1480, symBinAddr: 0x33C8, symSize: 0xB4 }
|
||||
- { offsetInCU: 0x16F5, offset: 0x82FB4, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x1534, symBinAddr: 0x347C, symSize: 0x14 }
|
||||
...
|
||||
|
||||
@@ -2,25 +2,39 @@
|
||||
triple: 'x86_64-apple-darwin'
|
||||
binary-path: '/Users/triniwiz/Documents/GitHub/NativeScript/packages/winter-cg/ios/NSCWinterCG/build/Release-maccatalyst/NSCWinterCG.framework/Versions/A/NSCWinterCG'
|
||||
relocations:
|
||||
- { offsetInCU: 0x34, offset: 0x8488D, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x2B00, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x848C2, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x2B30, symSize: 0x0 }
|
||||
- { offsetInCU: 0x27, offset: 0x848FF, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1A0C, symSize: 0x89 }
|
||||
- { offsetInCU: 0x3C, offset: 0x84914, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1A0C, symSize: 0x89 }
|
||||
- { offsetInCU: 0x100, offset: 0x849D8, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x89, symBinAddr: 0x1A95, symSize: 0x5A }
|
||||
- { offsetInCU: 0x27, offset: 0x84AAF, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1AF0, symSize: 0x8A }
|
||||
- { offsetInCU: 0x158, offset: 0x84BE0, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1AF0, symSize: 0x8A }
|
||||
- { offsetInCU: 0x229, offset: 0x84CB1, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x8A, symBinAddr: 0x1B7A, symSize: 0x75 }
|
||||
- { offsetInCU: 0x2B6, offset: 0x84D3E, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xFF, symBinAddr: 0x1BEF, symSize: 0xA }
|
||||
- { offsetInCU: 0x2EB, offset: 0x84D73, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPrivateKey:]', symObjAddr: 0x109, symBinAddr: 0x1BF9, symSize: 0xA }
|
||||
- { offsetInCU: 0x328, offset: 0x84DB0, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0x113, symBinAddr: 0x1C03, symSize: 0xA }
|
||||
- { offsetInCU: 0x35D, offset: 0x84DE5, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPublicKey:]', symObjAddr: 0x11D, symBinAddr: 0x1C0D, symSize: 0xA }
|
||||
- { offsetInCU: 0x39A, offset: 0x84E22, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0x127, symBinAddr: 0x1C17, symSize: 0x81 }
|
||||
- { offsetInCU: 0x419, offset: 0x84EA1, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:length:]', symObjAddr: 0x1A8, symBinAddr: 0x1C98, symSize: 0x35 }
|
||||
- { offsetInCU: 0x4BC, offset: 0x84F44, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:length:mode:]', symObjAddr: 0x1DD, symBinAddr: 0x1CCD, symSize: 0x187 }
|
||||
- { offsetInCU: 0x6D6, offset: 0x8515E, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x364, symBinAddr: 0x1E54, symSize: 0x2CC }
|
||||
- { offsetInCU: 0x991, offset: 0x85419, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x630, symBinAddr: 0x2120, symSize: 0xBA }
|
||||
- { offsetInCU: 0xAB1, offset: 0x85539, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x6EA, symBinAddr: 0x21DA, symSize: 0x312 }
|
||||
- { offsetInCU: 0xD63, offset: 0x857EB, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x9FC, symBinAddr: 0x24EC, symSize: 0x308 }
|
||||
- { offsetInCU: 0x115C, offset: 0x85BE4, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:size:]', symObjAddr: 0xD04, symBinAddr: 0x27F4, symSize: 0xEE }
|
||||
- { offsetInCU: 0x12C9, offset: 0x85D51, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:size:]', symObjAddr: 0xDF2, symBinAddr: 0x28E2, symSize: 0xEE }
|
||||
- { offsetInCU: 0x34, offset: 0x8488D, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x2A10, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x848C2, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x2A40, symSize: 0x0 }
|
||||
- { offsetInCU: 0x27, offset: 0x848FF, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1020, symSize: 0x89 }
|
||||
- { offsetInCU: 0x3C, offset: 0x84914, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1020, symSize: 0x89 }
|
||||
- { offsetInCU: 0x100, offset: 0x849D8, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x89, symBinAddr: 0x10A9, symSize: 0x5A }
|
||||
- { offsetInCU: 0x27, offset: 0x84AAF, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1104, symSize: 0x4D }
|
||||
- { offsetInCU: 0x15F, offset: 0x84BE7, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1104, symSize: 0x4D }
|
||||
- { offsetInCU: 0x1C3, offset: 0x84C4B, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x4D, symBinAddr: 0x1151, symSize: 0x62 }
|
||||
- { offsetInCU: 0x259, offset: 0x84CE1, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xAF, symBinAddr: 0x11B3, symSize: 0xA }
|
||||
- { offsetInCU: 0x28E, offset: 0x84D16, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xB9, symBinAddr: 0x11BD, symSize: 0xA }
|
||||
- { offsetInCU: 0x2C3, offset: 0x84D4B, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xC3, symBinAddr: 0x11C7, symSize: 0x81 }
|
||||
- { offsetInCU: 0x342, offset: 0x84DCA, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:]', symObjAddr: 0x144, symBinAddr: 0x1248, symSize: 0x8E }
|
||||
- { offsetInCU: 0x42D, offset: 0x84EB5, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:]', symObjAddr: 0x1D2, symBinAddr: 0x12D6, symSize: 0x262 }
|
||||
- { offsetInCU: 0x6D9, offset: 0x85161, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:completion:]', symObjAddr: 0x434, symBinAddr: 0x1538, symSize: 0xD2 }
|
||||
- { offsetInCU: 0x840, offset: 0x852C8, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke', symObjAddr: 0x506, symBinAddr: 0x160A, symSize: 0xB8 }
|
||||
- { offsetInCU: 0x924, offset: 0x853AC, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke_2', symObjAddr: 0x5BE, symBinAddr: 0x16C2, symSize: 0x15 }
|
||||
- { offsetInCU: 0x982, offset: 0x8540A, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40b, symObjAddr: 0x5D3, symBinAddr: 0x16D7, symSize: 0x30 }
|
||||
- { offsetInCU: 0x9B7, offset: 0x8543F, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s, symObjAddr: 0x603, symBinAddr: 0x1707, symSize: 0x25 }
|
||||
- { offsetInCU: 0x9EE, offset: 0x85476, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x628, symBinAddr: 0x172C, symSize: 0x2CC }
|
||||
- { offsetInCU: 0xCA9, offset: 0x85731, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x8F4, symBinAddr: 0x19F8, symSize: 0xBA }
|
||||
- { offsetInCU: 0xDC9, offset: 0x85851, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x9AE, symBinAddr: 0x1AB2, symSize: 0x312 }
|
||||
- { offsetInCU: 0x107B, offset: 0x85B03, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0xCC0, symBinAddr: 0x1DC4, symSize: 0x308 }
|
||||
- { offsetInCU: 0x146D, offset: 0x85EF5, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]', symObjAddr: 0xFC8, symBinAddr: 0x20CC, symSize: 0x109 }
|
||||
- { offsetInCU: 0x15E8, offset: 0x86070, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke', symObjAddr: 0x10D1, symBinAddr: 0x21D5, symSize: 0xD6 }
|
||||
- { offsetInCU: 0x1727, offset: 0x861AF, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke_2', symObjAddr: 0x11A7, symBinAddr: 0x22AB, symSize: 0x15 }
|
||||
- { offsetInCU: 0x1789, offset: 0x86211, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:]', symObjAddr: 0x11BC, symBinAddr: 0x22C0, symSize: 0xD2 }
|
||||
- { offsetInCU: 0x18E1, offset: 0x86369, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:completion:]', symObjAddr: 0x128E, symBinAddr: 0x2392, symSize: 0x110 }
|
||||
- { offsetInCU: 0x1A7F, offset: 0x86507, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x139E, symBinAddr: 0x24A2, symSize: 0xC1 }
|
||||
- { offsetInCU: 0x1B8B, offset: 0x86613, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x145F, symBinAddr: 0x2563, symSize: 0x15 }
|
||||
- { offsetInCU: 0x1BED, offset: 0x86675, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40s48b, symObjAddr: 0x1474, symBinAddr: 0x2578, symSize: 0x44 }
|
||||
- { offsetInCU: 0x1C2E, offset: 0x866B6, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s48s, symObjAddr: 0x14B8, symBinAddr: 0x25BC, symSize: 0x2C }
|
||||
- { offsetInCU: 0x1C71, offset: 0x866F9, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:]', symObjAddr: 0x14E4, symBinAddr: 0x25E8, symSize: 0xD2 }
|
||||
- { offsetInCU: 0x1DC4, offset: 0x8684C, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:completion:]', symObjAddr: 0x15B6, symBinAddr: 0x26BA, symSize: 0x110 }
|
||||
- { offsetInCU: 0x1F62, offset: 0x869EA, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x16C6, symBinAddr: 0x27CA, symSize: 0xC1 }
|
||||
- { offsetInCU: 0x206E, offset: 0x86AF6, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x1787, symBinAddr: 0x288B, symSize: 0x15 }
|
||||
...
|
||||
|
||||
@@ -42,22 +42,38 @@ typedef enum : NSUInteger {
|
||||
|
||||
|
||||
@interface NSCCryptoKeyPair : NSObject
|
||||
@property (nonatomic, nonnull) SecKeyRef privateKey;
|
||||
@property (nonatomic, nonnull) SecKeyRef publicKey;
|
||||
@property (nonatomic, readonly, nonnull) SecKeyRef privateKey;
|
||||
@property (nonatomic, readonly, nonnull) SecKeyRef publicKey;
|
||||
-(nonnull id)initWithPrivateKey:(nonnull SecKeyRef)privKey andPublicKey:(nonnull SecKeyRef)pubKey;
|
||||
@end
|
||||
|
||||
typedef void (^DigestCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^GenerateKeyCompletionHandler)(NSCCryptoKeyPair * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^DecryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^EncryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
|
||||
|
||||
@interface NSCCrypto:NSObject
|
||||
+ (nonnull NSString*)randomUUID;
|
||||
+ (nullable NSString*)getRandomValues:(nonnull void*)buffer length:(unsigned int)length;
|
||||
+ (nullable NSData*)digest:(nonnull void*)data length:(unsigned int)length mode:(int)mode;
|
||||
+ (nullable NSString*)getRandomValues:(nonnull NSMutableData*)buffer;
|
||||
+ (nullable NSData*)digest:(nonnull NSData*)data mode:(int)mode;
|
||||
+ (void)digest:(nonnull NSData*)data mode:(int)mode completion:(DigestCompletionHandler _Nonnull ) completion;
|
||||
+ (nullable NSData *)generateKeyHmac:(int)hash length:(int)length;
|
||||
+ (nullable NSData *)signHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
+ (BOOL)verifyHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash signature:(nonnull NSData*)signature data:(nonnull NSData*)data;
|
||||
|
||||
+ (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;
|
||||
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
|
||||
|
||||
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
|
||||
+ (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;
|
||||
|
||||
|
||||
|
||||
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
|
||||
+ (void)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(EncryptCompletionHandler _Nonnull ) completion;
|
||||
|
||||
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
|
||||
+ (void)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(DecryptCompletionHandler _Nonnull ) completion;
|
||||
@end
|
||||
#endif /* NSCCrypto_h */
|
||||
|
||||
Binary file not shown.
@@ -6,7 +6,7 @@
|
||||
<dict>
|
||||
<key>Headers/NSCCrypto.h</key>
|
||||
<data>
|
||||
E9r9Mu0cqagXSjQXP4SIt4l2y1E=
|
||||
MN78B6i+nv3Q/2NEv5zsSAh9pqo=
|
||||
</data>
|
||||
<key>Headers/NSCWinterCG.h</key>
|
||||
<data>
|
||||
@@ -31,7 +31,7 @@
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
RSGQOVRjuq9MOah+HMZFpWlNC2mdMWWvsdyqsf2nUYw=
|
||||
ecvsODvxGF5U0tL/rPjKRvzYWtvQkLhBaxi2M14lBYI=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/NSCWinterCG.h</key>
|
||||
|
||||
Binary file not shown.
@@ -2,25 +2,39 @@
|
||||
triple: 'arm64-apple-darwin'
|
||||
binary-path: '/Users/triniwiz/Documents/GitHub/NativeScript/packages/winter-cg/ios/NSCWinterCG/build/Release-iphonesimulator/NSCWinterCG.framework/NSCWinterCG'
|
||||
relocations:
|
||||
- { offsetInCU: 0x34, offset: 0x2F102, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x3A90, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x2F137, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x3AC0, symSize: 0x0 }
|
||||
- { offsetInCU: 0x27, offset: 0x2F174, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x2788, symSize: 0x74 }
|
||||
- { offsetInCU: 0x3C, offset: 0x2F189, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x2788, symSize: 0x74 }
|
||||
- { offsetInCU: 0x8F, offset: 0x2F1DC, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x74, symBinAddr: 0x27FC, symSize: 0x50 }
|
||||
- { offsetInCU: 0x27, offset: 0x2F28B, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x284C, symSize: 0x6C }
|
||||
- { offsetInCU: 0x157, offset: 0x2F3BB, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x284C, symSize: 0x6C }
|
||||
- { offsetInCU: 0x1BB, offset: 0x2F41F, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x6C, symBinAddr: 0x28B8, symSize: 0x70 }
|
||||
- { offsetInCU: 0x212, offset: 0x2F476, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xDC, symBinAddr: 0x2928, symSize: 0x8 }
|
||||
- { offsetInCU: 0x249, offset: 0x2F4AD, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPrivateKey:]', symObjAddr: 0xE4, symBinAddr: 0x2930, symSize: 0x8 }
|
||||
- { offsetInCU: 0x286, offset: 0x2F4EA, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xEC, symBinAddr: 0x2938, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2BD, offset: 0x2F521, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPublicKey:]', symObjAddr: 0xF4, symBinAddr: 0x2940, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2FA, offset: 0x2F55E, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xFC, symBinAddr: 0x2948, symSize: 0x6C }
|
||||
- { offsetInCU: 0x32D, offset: 0x2F591, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:length:]', symObjAddr: 0x168, symBinAddr: 0x29B4, symSize: 0x44 }
|
||||
- { offsetInCU: 0x3D0, offset: 0x2F634, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:length:mode:]', symObjAddr: 0x1AC, symBinAddr: 0x29F8, symSize: 0x134 }
|
||||
- { offsetInCU: 0x59A, offset: 0x2F7FE, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x2E0, symBinAddr: 0x2B2C, symSize: 0x230 }
|
||||
- { offsetInCU: 0x73D, offset: 0x2F9A1, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x510, symBinAddr: 0x2D5C, symSize: 0xBC }
|
||||
- { offsetInCU: 0x7B0, offset: 0x2FA14, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x5CC, symBinAddr: 0x2E18, symSize: 0x110 }
|
||||
- { offsetInCU: 0x87C, offset: 0x2FAE0, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x6DC, symBinAddr: 0x2F28, symSize: 0x2D8 }
|
||||
- { offsetInCU: 0xBDB, offset: 0x2FE3F, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:size:]', symObjAddr: 0x9B4, symBinAddr: 0x3200, symSize: 0x178 }
|
||||
- { offsetInCU: 0xDD0, offset: 0x30034, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:size:]', symObjAddr: 0xB2C, symBinAddr: 0x3378, symSize: 0x178 }
|
||||
- { offsetInCU: 0x34, offset: 0x2F102, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x39B0, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x2F137, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x39E0, symSize: 0x0 }
|
||||
- { offsetInCU: 0x27, offset: 0x2F174, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1D4C, symSize: 0x74 }
|
||||
- { offsetInCU: 0x3C, offset: 0x2F189, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1D4C, symSize: 0x74 }
|
||||
- { offsetInCU: 0x8F, offset: 0x2F1DC, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x74, symBinAddr: 0x1DC0, symSize: 0x50 }
|
||||
- { offsetInCU: 0x27, offset: 0x2F28B, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1E10, symSize: 0x58 }
|
||||
- { offsetInCU: 0x15E, offset: 0x2F3C2, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1E10, symSize: 0x58 }
|
||||
- { offsetInCU: 0x1C2, offset: 0x2F426, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x58, symBinAddr: 0x1E68, symSize: 0x70 }
|
||||
- { offsetInCU: 0x258, offset: 0x2F4BC, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xC8, symBinAddr: 0x1ED8, symSize: 0x8 }
|
||||
- { offsetInCU: 0x28F, offset: 0x2F4F3, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xD0, symBinAddr: 0x1EE0, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2C6, offset: 0x2F52A, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xD8, symBinAddr: 0x1EE8, symSize: 0x6C }
|
||||
- { offsetInCU: 0x2F9, offset: 0x2F55D, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:]', symObjAddr: 0x144, symBinAddr: 0x1F54, symSize: 0x80 }
|
||||
- { offsetInCU: 0x39B, offset: 0x2F5FF, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:]', symObjAddr: 0x1C4, symBinAddr: 0x1FD4, symSize: 0x1E4 }
|
||||
- { offsetInCU: 0x54E, offset: 0x2F7B2, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:completion:]', symObjAddr: 0x3A8, symBinAddr: 0x21B8, symSize: 0xE0 }
|
||||
- { offsetInCU: 0x61D, offset: 0x2F881, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke', symObjAddr: 0x488, symBinAddr: 0x2298, symSize: 0xB0 }
|
||||
- { offsetInCU: 0x6AD, offset: 0x2F911, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke_2', symObjAddr: 0x538, symBinAddr: 0x2348, symSize: 0x14 }
|
||||
- { offsetInCU: 0x70B, offset: 0x2F96F, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40b, symObjAddr: 0x54C, symBinAddr: 0x235C, symSize: 0x34 }
|
||||
- { offsetInCU: 0x734, offset: 0x2F998, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s, symObjAddr: 0x580, symBinAddr: 0x2390, symSize: 0x28 }
|
||||
- { offsetInCU: 0x753, offset: 0x2F9B7, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x5A8, symBinAddr: 0x23B8, symSize: 0x230 }
|
||||
- { offsetInCU: 0x8F6, offset: 0x2FB5A, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x7D8, symBinAddr: 0x25E8, symSize: 0xBC }
|
||||
- { offsetInCU: 0x969, offset: 0x2FBCD, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x894, symBinAddr: 0x26A4, symSize: 0x110 }
|
||||
- { offsetInCU: 0xA35, offset: 0x2FC99, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x9A4, symBinAddr: 0x27B4, symSize: 0x2D8 }
|
||||
- { offsetInCU: 0xD8D, offset: 0x2FFF1, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]', symObjAddr: 0xC7C, symBinAddr: 0x2A8C, symSize: 0x114 }
|
||||
- { offsetInCU: 0xE79, offset: 0x300DD, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke', symObjAddr: 0xD90, symBinAddr: 0x2BA0, symSize: 0xC0 }
|
||||
- { offsetInCU: 0xF64, offset: 0x301C8, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke_2', symObjAddr: 0xE50, symBinAddr: 0x2C60, symSize: 0x14 }
|
||||
- { offsetInCU: 0xFC6, offset: 0x3022A, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:]', symObjAddr: 0xE64, symBinAddr: 0x2C74, symSize: 0x158 }
|
||||
- { offsetInCU: 0x1199, offset: 0x303FD, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:completion:]', symObjAddr: 0xFBC, symBinAddr: 0x2DCC, symSize: 0x11C }
|
||||
- { offsetInCU: 0x1252, offset: 0x304B6, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x10D8, symBinAddr: 0x2EE8, symSize: 0xB4 }
|
||||
- { offsetInCU: 0x130A, offset: 0x3056E, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x118C, symBinAddr: 0x2F9C, symSize: 0x14 }
|
||||
- { offsetInCU: 0x136C, offset: 0x305D0, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40s48b, symObjAddr: 0x11A0, symBinAddr: 0x2FB0, symSize: 0x3C }
|
||||
- { offsetInCU: 0x1395, offset: 0x305F9, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s48s, symObjAddr: 0x11DC, symBinAddr: 0x2FEC, symSize: 0x30 }
|
||||
- { offsetInCU: 0x13B4, offset: 0x30618, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:]', symObjAddr: 0x120C, symBinAddr: 0x301C, symSize: 0x158 }
|
||||
- { offsetInCU: 0x1582, offset: 0x307E6, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:completion:]', symObjAddr: 0x1364, symBinAddr: 0x3174, symSize: 0x11C }
|
||||
- { offsetInCU: 0x163B, offset: 0x3089F, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x1480, symBinAddr: 0x3290, symSize: 0xB4 }
|
||||
- { offsetInCU: 0x16F3, offset: 0x30957, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x1534, symBinAddr: 0x3344, symSize: 0x14 }
|
||||
...
|
||||
|
||||
@@ -2,25 +2,39 @@
|
||||
triple: 'x86_64-apple-darwin'
|
||||
binary-path: '/Users/triniwiz/Documents/GitHub/NativeScript/packages/winter-cg/ios/NSCWinterCG/build/Release-iphonesimulator/NSCWinterCG.framework/NSCWinterCG'
|
||||
relocations:
|
||||
- { offsetInCU: 0x34, offset: 0x3073B, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x2B00, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x30770, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x2B30, symSize: 0x0 }
|
||||
- { offsetInCU: 0x27, offset: 0x307AD, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1A0C, symSize: 0x89 }
|
||||
- { offsetInCU: 0x3C, offset: 0x307C2, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1A0C, symSize: 0x89 }
|
||||
- { offsetInCU: 0x100, offset: 0x30886, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x89, symBinAddr: 0x1A95, symSize: 0x5A }
|
||||
- { offsetInCU: 0x27, offset: 0x3095D, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1AF0, symSize: 0x8A }
|
||||
- { offsetInCU: 0x157, offset: 0x30A8D, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1AF0, symSize: 0x8A }
|
||||
- { offsetInCU: 0x228, offset: 0x30B5E, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x8A, symBinAddr: 0x1B7A, symSize: 0x75 }
|
||||
- { offsetInCU: 0x2B5, offset: 0x30BEB, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xFF, symBinAddr: 0x1BEF, symSize: 0xA }
|
||||
- { offsetInCU: 0x2EA, offset: 0x30C20, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPrivateKey:]', symObjAddr: 0x109, symBinAddr: 0x1BF9, symSize: 0xA }
|
||||
- { offsetInCU: 0x327, offset: 0x30C5D, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0x113, symBinAddr: 0x1C03, symSize: 0xA }
|
||||
- { offsetInCU: 0x35C, offset: 0x30C92, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPublicKey:]', symObjAddr: 0x11D, symBinAddr: 0x1C0D, symSize: 0xA }
|
||||
- { offsetInCU: 0x399, offset: 0x30CCF, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0x127, symBinAddr: 0x1C17, symSize: 0x81 }
|
||||
- { offsetInCU: 0x418, offset: 0x30D4E, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:length:]', symObjAddr: 0x1A8, symBinAddr: 0x1C98, symSize: 0x35 }
|
||||
- { offsetInCU: 0x4BB, offset: 0x30DF1, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:length:mode:]', symObjAddr: 0x1DD, symBinAddr: 0x1CCD, symSize: 0x187 }
|
||||
- { offsetInCU: 0x6D5, offset: 0x3100B, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x364, symBinAddr: 0x1E54, symSize: 0x2CC }
|
||||
- { offsetInCU: 0x990, offset: 0x312C6, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x630, symBinAddr: 0x2120, symSize: 0xB9 }
|
||||
- { offsetInCU: 0xAB0, offset: 0x313E6, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x6E9, symBinAddr: 0x21D9, symSize: 0x313 }
|
||||
- { offsetInCU: 0xD62, offset: 0x31698, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x9FC, symBinAddr: 0x24EC, symSize: 0x308 }
|
||||
- { offsetInCU: 0x115B, offset: 0x31A91, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:size:]', symObjAddr: 0xD04, symBinAddr: 0x27F4, symSize: 0xEE }
|
||||
- { offsetInCU: 0x12C8, offset: 0x31BFE, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:size:]', symObjAddr: 0xDF2, symBinAddr: 0x28E2, symSize: 0xEE }
|
||||
- { offsetInCU: 0x34, offset: 0x3073B, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x2A10, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x30770, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x2A40, symSize: 0x0 }
|
||||
- { offsetInCU: 0x27, offset: 0x307AD, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1020, symSize: 0x89 }
|
||||
- { offsetInCU: 0x3C, offset: 0x307C2, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1020, symSize: 0x89 }
|
||||
- { offsetInCU: 0x100, offset: 0x30886, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x89, symBinAddr: 0x10A9, symSize: 0x5A }
|
||||
- { offsetInCU: 0x27, offset: 0x3095D, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1104, symSize: 0x4D }
|
||||
- { offsetInCU: 0x15E, offset: 0x30A94, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1104, symSize: 0x4D }
|
||||
- { offsetInCU: 0x1C2, offset: 0x30AF8, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x4D, symBinAddr: 0x1151, symSize: 0x62 }
|
||||
- { offsetInCU: 0x258, offset: 0x30B8E, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xAF, symBinAddr: 0x11B3, symSize: 0xA }
|
||||
- { offsetInCU: 0x28D, offset: 0x30BC3, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xB9, symBinAddr: 0x11BD, symSize: 0xA }
|
||||
- { offsetInCU: 0x2C2, offset: 0x30BF8, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xC3, symBinAddr: 0x11C7, symSize: 0x81 }
|
||||
- { offsetInCU: 0x341, offset: 0x30C77, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:]', symObjAddr: 0x144, symBinAddr: 0x1248, symSize: 0x8E }
|
||||
- { offsetInCU: 0x42C, offset: 0x30D62, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:]', symObjAddr: 0x1D2, symBinAddr: 0x12D6, symSize: 0x262 }
|
||||
- { offsetInCU: 0x6D8, offset: 0x3100E, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:completion:]', symObjAddr: 0x434, symBinAddr: 0x1538, symSize: 0xD2 }
|
||||
- { offsetInCU: 0x83F, offset: 0x31175, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke', symObjAddr: 0x506, symBinAddr: 0x160A, symSize: 0xB8 }
|
||||
- { offsetInCU: 0x923, offset: 0x31259, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke_2', symObjAddr: 0x5BE, symBinAddr: 0x16C2, symSize: 0x15 }
|
||||
- { offsetInCU: 0x981, offset: 0x312B7, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40b, symObjAddr: 0x5D3, symBinAddr: 0x16D7, symSize: 0x30 }
|
||||
- { offsetInCU: 0x9B6, offset: 0x312EC, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s, symObjAddr: 0x603, symBinAddr: 0x1707, symSize: 0x25 }
|
||||
- { offsetInCU: 0x9ED, offset: 0x31323, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x628, symBinAddr: 0x172C, symSize: 0x2CC }
|
||||
- { offsetInCU: 0xCA8, offset: 0x315DE, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x8F4, symBinAddr: 0x19F8, symSize: 0xB9 }
|
||||
- { offsetInCU: 0xDC8, offset: 0x316FE, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x9AD, symBinAddr: 0x1AB1, symSize: 0x313 }
|
||||
- { offsetInCU: 0x107A, offset: 0x319B0, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0xCC0, symBinAddr: 0x1DC4, symSize: 0x308 }
|
||||
- { offsetInCU: 0x146C, offset: 0x31DA2, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]', symObjAddr: 0xFC8, symBinAddr: 0x20CC, symSize: 0x109 }
|
||||
- { offsetInCU: 0x15E4, offset: 0x31F1A, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke', symObjAddr: 0x10D1, symBinAddr: 0x21D5, symSize: 0xD6 }
|
||||
- { offsetInCU: 0x1723, offset: 0x32059, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke_2', symObjAddr: 0x11A7, symBinAddr: 0x22AB, symSize: 0x15 }
|
||||
- { offsetInCU: 0x1785, offset: 0x320BB, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:]', symObjAddr: 0x11BC, symBinAddr: 0x22C0, symSize: 0xD2 }
|
||||
- { offsetInCU: 0x18DD, offset: 0x32213, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:completion:]', symObjAddr: 0x128E, symBinAddr: 0x2392, symSize: 0x110 }
|
||||
- { offsetInCU: 0x1A7A, offset: 0x323B0, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x139E, symBinAddr: 0x24A2, symSize: 0xC1 }
|
||||
- { offsetInCU: 0x1B86, offset: 0x324BC, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x145F, symBinAddr: 0x2563, symSize: 0x15 }
|
||||
- { offsetInCU: 0x1BE8, offset: 0x3251E, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40s48b, symObjAddr: 0x1474, symBinAddr: 0x2578, symSize: 0x44 }
|
||||
- { offsetInCU: 0x1C29, offset: 0x3255F, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s48s, symObjAddr: 0x14B8, symBinAddr: 0x25BC, symSize: 0x2C }
|
||||
- { offsetInCU: 0x1C6C, offset: 0x325A2, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:]', symObjAddr: 0x14E4, symBinAddr: 0x25E8, symSize: 0xD2 }
|
||||
- { offsetInCU: 0x1DBF, offset: 0x326F5, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:completion:]', symObjAddr: 0x15B6, symBinAddr: 0x26BA, symSize: 0x110 }
|
||||
- { offsetInCU: 0x1F5C, offset: 0x32892, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x16C6, symBinAddr: 0x27CA, symSize: 0xC1 }
|
||||
- { offsetInCU: 0x2068, offset: 0x3299E, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x1787, symBinAddr: 0x288B, symSize: 0x15 }
|
||||
...
|
||||
|
||||
@@ -42,22 +42,38 @@ typedef enum : NSUInteger {
|
||||
|
||||
|
||||
@interface NSCCryptoKeyPair : NSObject
|
||||
@property (nonatomic, nonnull) SecKeyRef privateKey;
|
||||
@property (nonatomic, nonnull) SecKeyRef publicKey;
|
||||
@property (nonatomic, readonly, nonnull) SecKeyRef privateKey;
|
||||
@property (nonatomic, readonly, nonnull) SecKeyRef publicKey;
|
||||
-(nonnull id)initWithPrivateKey:(nonnull SecKeyRef)privKey andPublicKey:(nonnull SecKeyRef)pubKey;
|
||||
@end
|
||||
|
||||
typedef void (^DigestCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^GenerateKeyCompletionHandler)(NSCCryptoKeyPair * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^DecryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^EncryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
|
||||
|
||||
@interface NSCCrypto:NSObject
|
||||
+ (nonnull NSString*)randomUUID;
|
||||
+ (nullable NSString*)getRandomValues:(nonnull void*)buffer length:(unsigned int)length;
|
||||
+ (nullable NSData*)digest:(nonnull void*)data length:(unsigned int)length mode:(int)mode;
|
||||
+ (nullable NSString*)getRandomValues:(nonnull NSMutableData*)buffer;
|
||||
+ (nullable NSData*)digest:(nonnull NSData*)data mode:(int)mode;
|
||||
+ (void)digest:(nonnull NSData*)data mode:(int)mode completion:(DigestCompletionHandler _Nonnull ) completion;
|
||||
+ (nullable NSData *)generateKeyHmac:(int)hash length:(int)length;
|
||||
+ (nullable NSData *)signHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
+ (BOOL)verifyHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash signature:(nonnull NSData*)signature data:(nonnull NSData*)data;
|
||||
|
||||
+ (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;
|
||||
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
|
||||
|
||||
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
|
||||
+ (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;
|
||||
|
||||
|
||||
|
||||
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
|
||||
+ (void)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(EncryptCompletionHandler _Nonnull ) completion;
|
||||
|
||||
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
|
||||
+ (void)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(DecryptCompletionHandler _Nonnull ) completion;
|
||||
@end
|
||||
#endif /* NSCCrypto_h */
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -2,25 +2,39 @@
|
||||
triple: 'arm64-apple-darwin'
|
||||
binary-path: '/Users/triniwiz/Documents/GitHub/NativeScript/packages/winter-cg/ios/NSCWinterCG/build/Release-xros/NSCWinterCG.framework/NSCWinterCG'
|
||||
relocations:
|
||||
- { offsetInCU: 0x34, offset: 0x2E459, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x51C0, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x2E48E, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x51F0, symSize: 0x0 }
|
||||
- { offsetInCU: 0x34, offset: 0x2E459, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x5A60, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x2E48E, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x5A90, symSize: 0x0 }
|
||||
- { offsetInCU: 0x27, offset: 0x2E4CB, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x68 }
|
||||
- { offsetInCU: 0x3C, offset: 0x2E4E0, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x68 }
|
||||
- { offsetInCU: 0x8F, offset: 0x2E533, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x68, symBinAddr: 0x4068, symSize: 0x44 }
|
||||
- { offsetInCU: 0x27, offset: 0x2E5E2, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x40AC, symSize: 0x6C }
|
||||
- { offsetInCU: 0x157, offset: 0x2E712, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x40AC, symSize: 0x6C }
|
||||
- { offsetInCU: 0x1BB, offset: 0x2E776, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x6C, symBinAddr: 0x4118, symSize: 0x70 }
|
||||
- { offsetInCU: 0x212, offset: 0x2E7CD, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xDC, symBinAddr: 0x4188, symSize: 0x8 }
|
||||
- { offsetInCU: 0x249, offset: 0x2E804, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPrivateKey:]', symObjAddr: 0xE4, symBinAddr: 0x4190, symSize: 0x8 }
|
||||
- { offsetInCU: 0x286, offset: 0x2E841, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xEC, symBinAddr: 0x4198, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2BD, offset: 0x2E878, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPublicKey:]', symObjAddr: 0xF4, symBinAddr: 0x41A0, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2FA, offset: 0x2E8B5, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xFC, symBinAddr: 0x41A8, symSize: 0x58 }
|
||||
- { offsetInCU: 0x32D, offset: 0x2E8E8, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:length:]', symObjAddr: 0x154, symBinAddr: 0x4200, symSize: 0x44 }
|
||||
- { offsetInCU: 0x3D0, offset: 0x2E98B, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:length:mode:]', symObjAddr: 0x198, symBinAddr: 0x4244, symSize: 0x124 }
|
||||
- { offsetInCU: 0x59A, offset: 0x2EB55, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x2BC, symBinAddr: 0x4368, symSize: 0x1FC }
|
||||
- { offsetInCU: 0x74D, offset: 0x2ED08, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x4B8, symBinAddr: 0x4564, symSize: 0x9C }
|
||||
- { offsetInCU: 0x7C0, offset: 0x2ED7B, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x554, symBinAddr: 0x4600, symSize: 0xFC }
|
||||
- { offsetInCU: 0x88C, offset: 0x2EE47, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x650, symBinAddr: 0x46FC, symSize: 0x2CC }
|
||||
- { offsetInCU: 0xBEB, offset: 0x2F1A6, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:size:]', symObjAddr: 0x91C, symBinAddr: 0x49C8, symSize: 0x168 }
|
||||
- { offsetInCU: 0xDE8, offset: 0x2F3A3, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:size:]', symObjAddr: 0xA84, symBinAddr: 0x4B30, symSize: 0x168 }
|
||||
- { offsetInCU: 0x27, offset: 0x2E5E2, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x40AC, symSize: 0x58 }
|
||||
- { offsetInCU: 0x15E, offset: 0x2E719, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x40AC, symSize: 0x58 }
|
||||
- { offsetInCU: 0x1C2, offset: 0x2E77D, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x58, symBinAddr: 0x4104, symSize: 0x70 }
|
||||
- { offsetInCU: 0x258, offset: 0x2E813, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xC8, symBinAddr: 0x4174, symSize: 0x8 }
|
||||
- { offsetInCU: 0x28F, offset: 0x2E84A, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xD0, symBinAddr: 0x417C, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2C6, offset: 0x2E881, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xD8, symBinAddr: 0x4184, symSize: 0x58 }
|
||||
- { offsetInCU: 0x2F9, offset: 0x2E8B4, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:]', symObjAddr: 0x130, symBinAddr: 0x41DC, symSize: 0x78 }
|
||||
- { offsetInCU: 0x39B, offset: 0x2E956, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:]', symObjAddr: 0x1A8, symBinAddr: 0x4254, symSize: 0x1CC }
|
||||
- { offsetInCU: 0x54E, offset: 0x2EB09, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:completion:]', symObjAddr: 0x374, symBinAddr: 0x4420, symSize: 0xC0 }
|
||||
- { offsetInCU: 0x61D, offset: 0x2EBD8, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke', symObjAddr: 0x434, symBinAddr: 0x44E0, symSize: 0xA4 }
|
||||
- { offsetInCU: 0x6AD, offset: 0x2EC68, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke_2', symObjAddr: 0x4D8, symBinAddr: 0x4584, symSize: 0x14 }
|
||||
- { offsetInCU: 0x70B, offset: 0x2ECC6, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40b, symObjAddr: 0x4EC, symBinAddr: 0x4598, symSize: 0x34 }
|
||||
- { offsetInCU: 0x734, offset: 0x2ECEF, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s, symObjAddr: 0x520, symBinAddr: 0x45CC, symSize: 0x28 }
|
||||
- { offsetInCU: 0x753, offset: 0x2ED0E, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x548, symBinAddr: 0x45F4, symSize: 0x1FC }
|
||||
- { offsetInCU: 0x906, offset: 0x2EEC1, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x744, symBinAddr: 0x47F0, symSize: 0x9C }
|
||||
- { offsetInCU: 0x979, offset: 0x2EF34, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x7E0, symBinAddr: 0x488C, symSize: 0xFC }
|
||||
- { offsetInCU: 0xA45, offset: 0x2F000, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x8DC, symBinAddr: 0x4988, symSize: 0x2CC }
|
||||
- { offsetInCU: 0xD9D, offset: 0x2F358, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]', symObjAddr: 0xBA8, symBinAddr: 0x4C54, symSize: 0xF8 }
|
||||
- { offsetInCU: 0xE87, offset: 0x2F442, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke', symObjAddr: 0xCA0, symBinAddr: 0x4D4C, symSize: 0xB4 }
|
||||
- { offsetInCU: 0xF72, offset: 0x2F52D, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke_2', symObjAddr: 0xD54, symBinAddr: 0x4E00, symSize: 0x14 }
|
||||
- { offsetInCU: 0xFD4, offset: 0x2F58F, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:]', symObjAddr: 0xD68, symBinAddr: 0x4E14, symSize: 0x148 }
|
||||
- { offsetInCU: 0x11AF, offset: 0x2F76A, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:completion:]', symObjAddr: 0xEB0, symBinAddr: 0x4F5C, symSize: 0xF0 }
|
||||
- { offsetInCU: 0x1268, offset: 0x2F823, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0xFA0, symBinAddr: 0x504C, symSize: 0xA8 }
|
||||
- { offsetInCU: 0x1320, offset: 0x2F8DB, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x1048, symBinAddr: 0x50F4, symSize: 0x14 }
|
||||
- { offsetInCU: 0x1382, offset: 0x2F93D, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40s48b, symObjAddr: 0x105C, symBinAddr: 0x5108, symSize: 0x3C }
|
||||
- { offsetInCU: 0x13AB, offset: 0x2F966, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s48s, symObjAddr: 0x1098, symBinAddr: 0x5144, symSize: 0x30 }
|
||||
- { offsetInCU: 0x13CA, offset: 0x2F985, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:]', symObjAddr: 0x10C8, symBinAddr: 0x5174, symSize: 0x148 }
|
||||
- { offsetInCU: 0x15A0, offset: 0x2FB5B, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:completion:]', symObjAddr: 0x1210, symBinAddr: 0x52BC, symSize: 0xF0 }
|
||||
- { offsetInCU: 0x1659, offset: 0x2FC14, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x1300, symBinAddr: 0x53AC, symSize: 0xA8 }
|
||||
- { offsetInCU: 0x1711, offset: 0x2FCCC, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x13A8, symBinAddr: 0x5454, symSize: 0x14 }
|
||||
...
|
||||
|
||||
@@ -42,22 +42,38 @@ typedef enum : NSUInteger {
|
||||
|
||||
|
||||
@interface NSCCryptoKeyPair : NSObject
|
||||
@property (nonatomic, nonnull) SecKeyRef privateKey;
|
||||
@property (nonatomic, nonnull) SecKeyRef publicKey;
|
||||
@property (nonatomic, readonly, nonnull) SecKeyRef privateKey;
|
||||
@property (nonatomic, readonly, nonnull) SecKeyRef publicKey;
|
||||
-(nonnull id)initWithPrivateKey:(nonnull SecKeyRef)privKey andPublicKey:(nonnull SecKeyRef)pubKey;
|
||||
@end
|
||||
|
||||
typedef void (^DigestCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^GenerateKeyCompletionHandler)(NSCCryptoKeyPair * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^DecryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^EncryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
|
||||
|
||||
@interface NSCCrypto:NSObject
|
||||
+ (nonnull NSString*)randomUUID;
|
||||
+ (nullable NSString*)getRandomValues:(nonnull void*)buffer length:(unsigned int)length;
|
||||
+ (nullable NSData*)digest:(nonnull void*)data length:(unsigned int)length mode:(int)mode;
|
||||
+ (nullable NSString*)getRandomValues:(nonnull NSMutableData*)buffer;
|
||||
+ (nullable NSData*)digest:(nonnull NSData*)data mode:(int)mode;
|
||||
+ (void)digest:(nonnull NSData*)data mode:(int)mode completion:(DigestCompletionHandler _Nonnull ) completion;
|
||||
+ (nullable NSData *)generateKeyHmac:(int)hash length:(int)length;
|
||||
+ (nullable NSData *)signHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
+ (BOOL)verifyHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash signature:(nonnull NSData*)signature data:(nonnull NSData*)data;
|
||||
|
||||
+ (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;
|
||||
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
|
||||
|
||||
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
|
||||
+ (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;
|
||||
|
||||
|
||||
|
||||
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
|
||||
+ (void)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(EncryptCompletionHandler _Nonnull ) completion;
|
||||
|
||||
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
|
||||
+ (void)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(DecryptCompletionHandler _Nonnull ) completion;
|
||||
@end
|
||||
#endif /* NSCCrypto_h */
|
||||
|
||||
Binary file not shown.
@@ -6,7 +6,7 @@
|
||||
<dict>
|
||||
<key>Headers/NSCCrypto.h</key>
|
||||
<data>
|
||||
E9r9Mu0cqagXSjQXP4SIt4l2y1E=
|
||||
MN78B6i+nv3Q/2NEv5zsSAh9pqo=
|
||||
</data>
|
||||
<key>Headers/NSCWinterCG.h</key>
|
||||
<data>
|
||||
@@ -31,7 +31,7 @@
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
RSGQOVRjuq9MOah+HMZFpWlNC2mdMWWvsdyqsf2nUYw=
|
||||
ecvsODvxGF5U0tL/rPjKRvzYWtvQkLhBaxi2M14lBYI=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/NSCWinterCG.h</key>
|
||||
|
||||
Binary file not shown.
@@ -2,25 +2,39 @@
|
||||
triple: 'arm64-apple-darwin'
|
||||
binary-path: '/Users/triniwiz/Documents/GitHub/NativeScript/packages/winter-cg/ios/NSCWinterCG/build/Release-xrsimulator/NSCWinterCG.framework/NSCWinterCG'
|
||||
relocations:
|
||||
- { offsetInCU: 0x34, offset: 0x2EA29, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x3A90, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x2EA5E, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x3AC0, symSize: 0x0 }
|
||||
- { offsetInCU: 0x27, offset: 0x2EA9B, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x28D0, symSize: 0x68 }
|
||||
- { offsetInCU: 0x3C, offset: 0x2EAB0, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x28D0, symSize: 0x68 }
|
||||
- { offsetInCU: 0x8F, offset: 0x2EB03, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x68, symBinAddr: 0x2938, symSize: 0x44 }
|
||||
- { offsetInCU: 0x27, offset: 0x2EBB2, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x297C, symSize: 0x6C }
|
||||
- { offsetInCU: 0x157, offset: 0x2ECE2, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x297C, symSize: 0x6C }
|
||||
- { offsetInCU: 0x1BB, offset: 0x2ED46, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x6C, symBinAddr: 0x29E8, symSize: 0x70 }
|
||||
- { offsetInCU: 0x212, offset: 0x2ED9D, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xDC, symBinAddr: 0x2A58, symSize: 0x8 }
|
||||
- { offsetInCU: 0x249, offset: 0x2EDD4, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPrivateKey:]', symObjAddr: 0xE4, symBinAddr: 0x2A60, symSize: 0x8 }
|
||||
- { offsetInCU: 0x286, offset: 0x2EE11, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xEC, symBinAddr: 0x2A68, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2BD, offset: 0x2EE48, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPublicKey:]', symObjAddr: 0xF4, symBinAddr: 0x2A70, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2FA, offset: 0x2EE85, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xFC, symBinAddr: 0x2A78, symSize: 0x58 }
|
||||
- { offsetInCU: 0x32D, offset: 0x2EEB8, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:length:]', symObjAddr: 0x154, symBinAddr: 0x2AD0, symSize: 0x44 }
|
||||
- { offsetInCU: 0x3D0, offset: 0x2EF5B, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:length:mode:]', symObjAddr: 0x198, symBinAddr: 0x2B14, symSize: 0x124 }
|
||||
- { offsetInCU: 0x59A, offset: 0x2F125, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x2BC, symBinAddr: 0x2C38, symSize: 0x1FC }
|
||||
- { offsetInCU: 0x74D, offset: 0x2F2D8, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x4B8, symBinAddr: 0x2E34, symSize: 0x9C }
|
||||
- { offsetInCU: 0x7C0, offset: 0x2F34B, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x554, symBinAddr: 0x2ED0, symSize: 0xFC }
|
||||
- { offsetInCU: 0x88C, offset: 0x2F417, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x650, symBinAddr: 0x2FCC, symSize: 0x2CC }
|
||||
- { offsetInCU: 0xBEB, offset: 0x2F776, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:size:]', symObjAddr: 0x91C, symBinAddr: 0x3298, symSize: 0x168 }
|
||||
- { offsetInCU: 0xDE8, offset: 0x2F973, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:size:]', symObjAddr: 0xA84, symBinAddr: 0x3400, symSize: 0x168 }
|
||||
- { offsetInCU: 0x34, offset: 0x2EA29, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x39B0, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x2EA5E, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x39E0, symSize: 0x0 }
|
||||
- { offsetInCU: 0x27, offset: 0x2EA9B, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1F50, symSize: 0x68 }
|
||||
- { offsetInCU: 0x3C, offset: 0x2EAB0, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1F50, symSize: 0x68 }
|
||||
- { offsetInCU: 0x8F, offset: 0x2EB03, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x68, symBinAddr: 0x1FB8, symSize: 0x44 }
|
||||
- { offsetInCU: 0x27, offset: 0x2EBB2, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1FFC, symSize: 0x58 }
|
||||
- { offsetInCU: 0x15E, offset: 0x2ECE9, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1FFC, symSize: 0x58 }
|
||||
- { offsetInCU: 0x1C2, offset: 0x2ED4D, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x58, symBinAddr: 0x2054, symSize: 0x70 }
|
||||
- { offsetInCU: 0x258, offset: 0x2EDE3, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xC8, symBinAddr: 0x20C4, symSize: 0x8 }
|
||||
- { offsetInCU: 0x28F, offset: 0x2EE1A, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xD0, symBinAddr: 0x20CC, symSize: 0x8 }
|
||||
- { offsetInCU: 0x2C6, offset: 0x2EE51, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xD8, symBinAddr: 0x20D4, symSize: 0x58 }
|
||||
- { offsetInCU: 0x2F9, offset: 0x2EE84, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:]', symObjAddr: 0x130, symBinAddr: 0x212C, symSize: 0x78 }
|
||||
- { offsetInCU: 0x39B, offset: 0x2EF26, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:]', symObjAddr: 0x1A8, symBinAddr: 0x21A4, symSize: 0x1CC }
|
||||
- { offsetInCU: 0x54E, offset: 0x2F0D9, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:completion:]', symObjAddr: 0x374, symBinAddr: 0x2370, symSize: 0xC0 }
|
||||
- { offsetInCU: 0x61D, offset: 0x2F1A8, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke', symObjAddr: 0x434, symBinAddr: 0x2430, symSize: 0xA4 }
|
||||
- { offsetInCU: 0x6AD, offset: 0x2F238, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke_2', symObjAddr: 0x4D8, symBinAddr: 0x24D4, symSize: 0x14 }
|
||||
- { offsetInCU: 0x70B, offset: 0x2F296, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40b, symObjAddr: 0x4EC, symBinAddr: 0x24E8, symSize: 0x34 }
|
||||
- { offsetInCU: 0x734, offset: 0x2F2BF, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s, symObjAddr: 0x520, symBinAddr: 0x251C, symSize: 0x28 }
|
||||
- { offsetInCU: 0x753, offset: 0x2F2DE, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x548, symBinAddr: 0x2544, symSize: 0x1FC }
|
||||
- { offsetInCU: 0x906, offset: 0x2F491, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x744, symBinAddr: 0x2740, symSize: 0x9C }
|
||||
- { offsetInCU: 0x979, offset: 0x2F504, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x7E0, symBinAddr: 0x27DC, symSize: 0xFC }
|
||||
- { offsetInCU: 0xA45, offset: 0x2F5D0, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x8DC, symBinAddr: 0x28D8, symSize: 0x2CC }
|
||||
- { offsetInCU: 0xD9D, offset: 0x2F928, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]', symObjAddr: 0xBA8, symBinAddr: 0x2BA4, symSize: 0xF8 }
|
||||
- { offsetInCU: 0xE87, offset: 0x2FA12, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke', symObjAddr: 0xCA0, symBinAddr: 0x2C9C, symSize: 0xB4 }
|
||||
- { offsetInCU: 0xF72, offset: 0x2FAFD, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke_2', symObjAddr: 0xD54, symBinAddr: 0x2D50, symSize: 0x14 }
|
||||
- { offsetInCU: 0xFD4, offset: 0x2FB5F, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:]', symObjAddr: 0xD68, symBinAddr: 0x2D64, symSize: 0x148 }
|
||||
- { offsetInCU: 0x11AF, offset: 0x2FD3A, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:completion:]', symObjAddr: 0xEB0, symBinAddr: 0x2EAC, symSize: 0xF0 }
|
||||
- { offsetInCU: 0x1268, offset: 0x2FDF3, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0xFA0, symBinAddr: 0x2F9C, symSize: 0xA8 }
|
||||
- { offsetInCU: 0x1320, offset: 0x2FEAB, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x1048, symBinAddr: 0x3044, symSize: 0x14 }
|
||||
- { offsetInCU: 0x1382, offset: 0x2FF0D, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40s48b, symObjAddr: 0x105C, symBinAddr: 0x3058, symSize: 0x3C }
|
||||
- { offsetInCU: 0x13AB, offset: 0x2FF36, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s48s, symObjAddr: 0x1098, symBinAddr: 0x3094, symSize: 0x30 }
|
||||
- { offsetInCU: 0x13CA, offset: 0x2FF55, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:]', symObjAddr: 0x10C8, symBinAddr: 0x30C4, symSize: 0x148 }
|
||||
- { offsetInCU: 0x15A0, offset: 0x3012B, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:completion:]', symObjAddr: 0x1210, symBinAddr: 0x320C, symSize: 0xF0 }
|
||||
- { offsetInCU: 0x1659, offset: 0x301E4, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x1300, symBinAddr: 0x32FC, symSize: 0xA8 }
|
||||
- { offsetInCU: 0x1711, offset: 0x3029C, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x13A8, symBinAddr: 0x33A4, symSize: 0x14 }
|
||||
...
|
||||
|
||||
@@ -2,25 +2,39 @@
|
||||
triple: 'x86_64-apple-darwin'
|
||||
binary-path: '/Users/triniwiz/Documents/GitHub/NativeScript/packages/winter-cg/ios/NSCWinterCG/build/Release-xrsimulator/NSCWinterCG.framework/NSCWinterCG'
|
||||
relocations:
|
||||
- { offsetInCU: 0x34, offset: 0x2FE9C, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x2780, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x2FED1, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x27B0, symSize: 0x0 }
|
||||
- { offsetInCU: 0x27, offset: 0x2FF0E, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1668, symSize: 0x89 }
|
||||
- { offsetInCU: 0x3C, offset: 0x2FF23, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1668, symSize: 0x89 }
|
||||
- { offsetInCU: 0x100, offset: 0x2FFE7, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x89, symBinAddr: 0x16F1, symSize: 0x5A }
|
||||
- { offsetInCU: 0x27, offset: 0x300C2, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x174C, symSize: 0x8A }
|
||||
- { offsetInCU: 0x155, offset: 0x301F0, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x174C, symSize: 0x8A }
|
||||
- { offsetInCU: 0x226, offset: 0x302C1, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x8A, symBinAddr: 0x17D6, symSize: 0x75 }
|
||||
- { offsetInCU: 0x2B3, offset: 0x3034E, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xFF, symBinAddr: 0x184B, symSize: 0xA }
|
||||
- { offsetInCU: 0x2E8, offset: 0x30383, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPrivateKey:]', symObjAddr: 0x109, symBinAddr: 0x1855, symSize: 0xA }
|
||||
- { offsetInCU: 0x325, offset: 0x303C0, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0x113, symBinAddr: 0x185F, symSize: 0xA }
|
||||
- { offsetInCU: 0x35A, offset: 0x303F5, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair setPublicKey:]', symObjAddr: 0x11D, symBinAddr: 0x1869, symSize: 0xA }
|
||||
- { offsetInCU: 0x397, offset: 0x30432, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0x127, symBinAddr: 0x1873, symSize: 0x81 }
|
||||
- { offsetInCU: 0x416, offset: 0x304B1, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:length:]', symObjAddr: 0x1A8, symBinAddr: 0x18F4, symSize: 0x35 }
|
||||
- { offsetInCU: 0x4B9, offset: 0x30554, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:length:mode:]', symObjAddr: 0x1DD, symBinAddr: 0x1929, symSize: 0x187 }
|
||||
- { offsetInCU: 0x6E3, offset: 0x3077E, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x364, symBinAddr: 0x1AB0, symSize: 0x2CC }
|
||||
- { offsetInCU: 0x9BE, offset: 0x30A59, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x630, symBinAddr: 0x1D7C, symSize: 0xB9 }
|
||||
- { offsetInCU: 0xADE, offset: 0x30B79, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x6E9, symBinAddr: 0x1E35, symSize: 0x313 }
|
||||
- { offsetInCU: 0xD90, offset: 0x30E2B, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0x9FC, symBinAddr: 0x2148, symSize: 0x308 }
|
||||
- { offsetInCU: 0x118E, offset: 0x31229, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:size:]', symObjAddr: 0xD04, symBinAddr: 0x2450, symSize: 0xEE }
|
||||
- { offsetInCU: 0x12FF, offset: 0x3139A, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:size:]', symObjAddr: 0xDF2, symBinAddr: 0x253E, symSize: 0xEE }
|
||||
- { offsetInCU: 0x34, offset: 0x2FE9C, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionString, symObjAddr: 0x0, symBinAddr: 0x3410, symSize: 0x0 }
|
||||
- { offsetInCU: 0x69, offset: 0x2FED1, size: 0x8, addend: 0x0, symName: _NSCWinterCGVersionNumber, symObjAddr: 0x30, symBinAddr: 0x3440, symSize: 0x0 }
|
||||
- { offsetInCU: 0x27, offset: 0x2FF0E, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1A0C, symSize: 0x89 }
|
||||
- { offsetInCU: 0x3C, offset: 0x2FF23, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) atob:]', symObjAddr: 0x0, symBinAddr: 0x1A0C, symSize: 0x89 }
|
||||
- { offsetInCU: 0x100, offset: 0x2FFE7, size: 0x8, addend: 0x0, symName: '+[NSString(WinterCG) btoa:]', symObjAddr: 0x89, symBinAddr: 0x1A95, symSize: 0x5A }
|
||||
- { offsetInCU: 0x27, offset: 0x300C2, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1AF0, symSize: 0x4D }
|
||||
- { offsetInCU: 0x15C, offset: 0x301F7, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair dealloc]', symObjAddr: 0x0, symBinAddr: 0x1AF0, symSize: 0x4D }
|
||||
- { offsetInCU: 0x1C0, offset: 0x3025B, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair initWithPrivateKey:andPublicKey:]', symObjAddr: 0x4D, symBinAddr: 0x1B3D, symSize: 0x62 }
|
||||
- { offsetInCU: 0x256, offset: 0x302F1, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair privateKey]', symObjAddr: 0xAF, symBinAddr: 0x1B9F, symSize: 0xA }
|
||||
- { offsetInCU: 0x28B, offset: 0x30326, size: 0x8, addend: 0x0, symName: '-[NSCCryptoKeyPair publicKey]', symObjAddr: 0xB9, symBinAddr: 0x1BA9, symSize: 0xA }
|
||||
- { offsetInCU: 0x2C0, offset: 0x3035B, size: 0x8, addend: 0x0, symName: '+[NSCCrypto randomUUID]', symObjAddr: 0xC3, symBinAddr: 0x1BB3, symSize: 0x81 }
|
||||
- { offsetInCU: 0x33F, offset: 0x303DA, size: 0x8, addend: 0x0, symName: '+[NSCCrypto getRandomValues:]', symObjAddr: 0x144, symBinAddr: 0x1C34, symSize: 0x8E }
|
||||
- { offsetInCU: 0x42A, offset: 0x304C5, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:]', symObjAddr: 0x1D2, symBinAddr: 0x1CC2, symSize: 0x262 }
|
||||
- { offsetInCU: 0x6E6, offset: 0x30781, size: 0x8, addend: 0x0, symName: '+[NSCCrypto digest:mode:completion:]', symObjAddr: 0x434, symBinAddr: 0x1F24, symSize: 0xD2 }
|
||||
- { offsetInCU: 0x84D, offset: 0x308E8, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke', symObjAddr: 0x506, symBinAddr: 0x1FF6, symSize: 0xB8 }
|
||||
- { offsetInCU: 0x935, offset: 0x309D0, size: 0x8, addend: 0x0, symName: '___36+[NSCCrypto digest:mode:completion:]_block_invoke_2', symObjAddr: 0x5BE, symBinAddr: 0x20AE, symSize: 0x15 }
|
||||
- { offsetInCU: 0x993, offset: 0x30A2E, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40b, symObjAddr: 0x5D3, symBinAddr: 0x20C3, symSize: 0x30 }
|
||||
- { offsetInCU: 0x9C8, offset: 0x30A63, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s, symObjAddr: 0x603, symBinAddr: 0x20F3, symSize: 0x25 }
|
||||
- { offsetInCU: 0x9FF, offset: 0x30A9A, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyHmac:length:]', symObjAddr: 0x628, symBinAddr: 0x2118, symSize: 0x2CC }
|
||||
- { offsetInCU: 0xCDA, offset: 0x30D75, size: 0x8, addend: 0x0, symName: '+[NSCCrypto verifyHmac:hash:signature:data:]', symObjAddr: 0x8F4, symBinAddr: 0x23E4, symSize: 0xB9 }
|
||||
- { offsetInCU: 0xDFA, offset: 0x30E95, size: 0x8, addend: 0x0, symName: '+[NSCCrypto signHmac:hash:data:]', symObjAddr: 0x9AD, symBinAddr: 0x249D, symSize: 0x313 }
|
||||
- { offsetInCU: 0x10AC, offset: 0x31147, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:]', symObjAddr: 0xCC0, symBinAddr: 0x27B0, symSize: 0x308 }
|
||||
- { offsetInCU: 0x14A3, offset: 0x3153E, size: 0x8, addend: 0x0, symName: '+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]', symObjAddr: 0xFC8, symBinAddr: 0x2AB8, symSize: 0x109 }
|
||||
- { offsetInCU: 0x161B, offset: 0x316B6, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke', symObjAddr: 0x10D1, symBinAddr: 0x2BC1, symSize: 0xD6 }
|
||||
- { offsetInCU: 0x175E, offset: 0x317F9, size: 0x8, addend: 0x0, symName: '___100+[NSCCrypto generateKeyRsa:modulusLength:publicExponent:size:hash:extractable:keyUsages:completion:]_block_invoke_2', symObjAddr: 0x11A7, symBinAddr: 0x2C97, symSize: 0x15 }
|
||||
- { offsetInCU: 0x17C0, offset: 0x3185B, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:]', symObjAddr: 0x11BC, symBinAddr: 0x2CAC, symSize: 0xD2 }
|
||||
- { offsetInCU: 0x1918, offset: 0x319B3, size: 0x8, addend: 0x0, symName: '+[NSCCrypto encryptRsa:key:hash:data:completion:]', symObjAddr: 0x128E, symBinAddr: 0x2D7E, symSize: 0x110 }
|
||||
- { offsetInCU: 0x1AB5, offset: 0x31B50, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x139E, symBinAddr: 0x2E8E, symSize: 0xC1 }
|
||||
- { offsetInCU: 0x1BC5, offset: 0x31C60, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto encryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x145F, symBinAddr: 0x2F4F, symSize: 0x15 }
|
||||
- { offsetInCU: 0x1C27, offset: 0x31CC2, size: 0x8, addend: 0x0, symName: ___copy_helper_block_e8_32s40s48b, symObjAddr: 0x1474, symBinAddr: 0x2F64, symSize: 0x44 }
|
||||
- { offsetInCU: 0x1C68, offset: 0x31D03, size: 0x8, addend: 0x0, symName: ___destroy_helper_block_e8_32s40s48s, symObjAddr: 0x14B8, symBinAddr: 0x2FA8, symSize: 0x2C }
|
||||
- { offsetInCU: 0x1CAB, offset: 0x31D46, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:]', symObjAddr: 0x14E4, symBinAddr: 0x2FD4, symSize: 0xD2 }
|
||||
- { offsetInCU: 0x1DFE, offset: 0x31E99, size: 0x8, addend: 0x0, symName: '+[NSCCrypto decryptRsa:key:hash:data:completion:]', symObjAddr: 0x15B6, symBinAddr: 0x30A6, symSize: 0x110 }
|
||||
- { offsetInCU: 0x1F9B, offset: 0x32036, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke', symObjAddr: 0x16C6, symBinAddr: 0x31B6, symSize: 0xC1 }
|
||||
- { offsetInCU: 0x20AB, offset: 0x32146, size: 0x8, addend: 0x0, symName: '___49+[NSCCrypto decryptRsa:key:hash:data:completion:]_block_invoke_2', symObjAddr: 0x1787, symBinAddr: 0x3277, symSize: 0x15 }
|
||||
...
|
||||
|
||||
@@ -239,11 +239,19 @@ export class SubtleCrypto {
|
||||
}
|
||||
|
||||
if (__IOS__) {
|
||||
const ab = NSCCrypto.digestLengthMode(data, data.byteLength, mode);
|
||||
if (!ab) {
|
||||
// todo throw failure
|
||||
}
|
||||
resolve(interop.bufferFromData(ab));
|
||||
const d = NSData.dataWithData(data as never);
|
||||
NSCCrypto.digestModeCompletion(d, mode, (ab, error) => {
|
||||
if (!ab) {
|
||||
// todo throw failure
|
||||
}
|
||||
|
||||
resolve(interop.bufferFromData(ab));
|
||||
});
|
||||
// const ab = NSCCrypto.digestMode(d, mode);
|
||||
// if (!ab) {
|
||||
// // todo throw failure
|
||||
// }
|
||||
// resolve(interop.bufferFromData(ab));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -257,12 +265,15 @@ export class SubtleCrypto {
|
||||
try {
|
||||
if (__IOS__) {
|
||||
const hash = parseHash(key.algorithm.hash.name);
|
||||
const ret = NSCCrypto.encryptRsaKeyHashDataSize(key.type === 'private', key[parent_], hash, data, data.byteLength);
|
||||
if (ret) {
|
||||
resolve(interop.bufferFromData(ret));
|
||||
} else {
|
||||
reject(new Error('Failed to encrypt data'));
|
||||
}
|
||||
const d = NSData.dataWithData(data as never);
|
||||
|
||||
NSCCrypto.encryptRsaKeyHashDataCompletion(key.type === 'private', key[parent_], hash, d, (ret, error) => {
|
||||
if (ret) {
|
||||
resolve(interop.bufferFromData(ret));
|
||||
} else {
|
||||
reject(new Error('Failed to encrypt data'));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (__ANDROID__) {
|
||||
@@ -300,13 +311,14 @@ export class SubtleCrypto {
|
||||
try {
|
||||
if (__IOS__) {
|
||||
const hash = parseHash(key.algorithm.hash.name);
|
||||
|
||||
const ret = NSCCrypto.decryptRsaKeyHashDataSize(key.type === 'private', key[parent_], hash, data, data.byteLength);
|
||||
if (ret) {
|
||||
resolve(interop.bufferFromData(ret));
|
||||
} else {
|
||||
reject(new Error('Failed to decrypt data'));
|
||||
}
|
||||
const d = NSData.dataWithData(data as never);
|
||||
NSCCrypto.decryptRsaKeyHashDataCompletion(key.type === 'private', key[parent_], hash, d, (ret, error) => {
|
||||
if (ret) {
|
||||
resolve(interop.bufferFromData(ret));
|
||||
} else {
|
||||
reject(new Error('Failed to decrypt data'));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (__ANDROID__) {
|
||||
@@ -527,6 +539,25 @@ export class SubtleCrypto {
|
||||
}
|
||||
const usages = parseUsages(keyUsages);
|
||||
|
||||
NSCCrypto.generateKeyRsaModulusLengthPublicExponentSizeHashExtractableKeyUsagesCompletion(2, algorithm.modulusLength, null, 0, hash, !!extractable, usages, (kp, error) => {
|
||||
if (!kp) {
|
||||
reject(new Error('Failed to generateKey'));
|
||||
} else {
|
||||
const ret = CryptoKeyPair.fromNative(kp);
|
||||
ret.privateKey[parent_] = kp;
|
||||
ret.privateKey[algorithm_] = { name: algorithm.name, hash: { name: algorithm.hash }, modulusLength: algorithm.modulusLength, publicExponent: new Uint8Array([1, 0, 1]) };
|
||||
ret.privateKey[type_] = 'private';
|
||||
ret.privateKey[extractable_] = extractable;
|
||||
|
||||
ret.publicKey[parent_] = kp;
|
||||
ret.publicKey[algorithm_] = { name: algorithm.name, hash: { name: algorithm.hash }, modulusLength: algorithm.modulusLength, publicExponent: new Uint8Array([1, 0, 1]) };
|
||||
ret.publicKey[type_] = 'public';
|
||||
ret.publicKey[extractable_] = extractable;
|
||||
|
||||
resolve(ret);
|
||||
}
|
||||
});
|
||||
/*
|
||||
// ignore publicExponent for now
|
||||
const kp = NSCCrypto.generateKeyRsaModulusLengthPublicExponentSizeHashExtractableKeyUsages(2, algorithm.modulusLength, null, 0, hash, !!extractable, usages);
|
||||
|
||||
@@ -546,6 +577,7 @@ export class SubtleCrypto {
|
||||
|
||||
resolve(ret);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
if (__ANDROID__) {
|
||||
|
||||
@@ -24,7 +24,12 @@ export class Crypto {
|
||||
(<any>org).nativescript.winter_cg.Crypto.getRandomValues(typedArray);
|
||||
}
|
||||
if (__IOS__) {
|
||||
NSCCrypto.getRandomValuesLength(typedArray, typedArray.byteLength);
|
||||
if (typedArray.BYTES_PER_ELEMENT !== 1) {
|
||||
typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);
|
||||
}
|
||||
const data = NSMutableData.dataWithBytesNoCopyLength(typedArray as never, typedArray.byteLength);
|
||||
|
||||
NSCCrypto.getRandomValues(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,22 +42,38 @@ typedef enum : NSUInteger {
|
||||
|
||||
|
||||
@interface NSCCryptoKeyPair : NSObject
|
||||
@property (nonatomic, nonnull) SecKeyRef privateKey;
|
||||
@property (nonatomic, nonnull) SecKeyRef publicKey;
|
||||
@property (nonatomic, readonly, nonnull) SecKeyRef privateKey;
|
||||
@property (nonatomic, readonly, nonnull) SecKeyRef publicKey;
|
||||
-(nonnull id)initWithPrivateKey:(nonnull SecKeyRef)privKey andPublicKey:(nonnull SecKeyRef)pubKey;
|
||||
@end
|
||||
|
||||
typedef void (^DigestCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^GenerateKeyCompletionHandler)(NSCCryptoKeyPair * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^DecryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
typedef void (^EncryptCompletionHandler)(NSData * _Nullable result,NSError * _Nullable error);
|
||||
|
||||
|
||||
@interface NSCCrypto:NSObject
|
||||
+ (nonnull NSString*)randomUUID;
|
||||
+ (nullable NSString*)getRandomValues:(nonnull void*)buffer length:(unsigned int)length;
|
||||
+ (nullable NSData*)digest:(nonnull void*)data length:(unsigned int)length mode:(int)mode;
|
||||
+ (nullable NSString*)getRandomValues:(nonnull NSMutableData*)buffer;
|
||||
+ (nullable NSData*)digest:(nonnull NSData*)data mode:(int)mode;
|
||||
+ (void)digest:(nonnull NSData*)data mode:(int)mode completion:(DigestCompletionHandler _Nonnull ) completion;
|
||||
+ (nullable NSData *)generateKeyHmac:(int)hash length:(int)length;
|
||||
+ (nullable NSData *)signHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
+ (BOOL)verifyHmac:(nonnull NSData*)key hash:(NSCCryptoHash)hash signature:(nonnull NSData*)signature data:(nonnull NSData*)data;
|
||||
|
||||
+ (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;
|
||||
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
|
||||
|
||||
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size;
|
||||
+ (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;
|
||||
|
||||
|
||||
|
||||
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
|
||||
+ (void)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(EncryptCompletionHandler _Nonnull ) completion;
|
||||
|
||||
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data;
|
||||
|
||||
+ (void)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(DecryptCompletionHandler _Nonnull ) completion;
|
||||
@end
|
||||
#endif /* NSCCrypto_h */
|
||||
|
||||
@@ -12,18 +12,18 @@
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
if(self.privateKey != NULL){
|
||||
CFRelease(self.privateKey);
|
||||
if(_privateKey){
|
||||
CFRelease(_privateKey);
|
||||
}
|
||||
if(self.publicKey != NULL){
|
||||
CFRelease(self.publicKey);
|
||||
if(_publicKey){
|
||||
CFRelease(_publicKey);
|
||||
}
|
||||
}
|
||||
- (nonnull id)initWithPrivateKey:(nonnull SecKeyRef)privKey andPublicKey:(nonnull SecKeyRef)pubKey {
|
||||
self = [super init];
|
||||
if(self){
|
||||
self.privateKey = privKey;
|
||||
self.publicKey = pubKey;
|
||||
_privateKey = (SecKeyRef)CFRetain(privKey);
|
||||
_publicKey = (SecKeyRef)CFRetain(pubKey);
|
||||
}
|
||||
return self;
|
||||
}
|
||||
@@ -37,9 +37,9 @@
|
||||
return [[[NSUUID UUID] UUIDString] lowercaseString];
|
||||
}
|
||||
|
||||
+ (NSString *)getRandomValues:(nonnull void *)buffer length:(unsigned int)length {
|
||||
+ (NSString *)getRandomValues:(nonnull NSMutableData *)buffer {
|
||||
if(buffer != nil){
|
||||
int result = SecRandomCopyBytes(kSecRandomDefault, length, buffer);
|
||||
int result = SecRandomCopyBytes(kSecRandomDefault, buffer.length, buffer.mutableBytes);
|
||||
if(result != errSecSuccess){
|
||||
return @"Failed to generate random values";
|
||||
}else {
|
||||
@@ -50,12 +50,12 @@
|
||||
return @"Failed to generate random values";
|
||||
}
|
||||
|
||||
+ (nullable NSData *)digest:(nonnull void *)data length:(unsigned int)length mode:(int)mode {
|
||||
+ (nullable NSData *)digest:(nonnull NSData *)data mode:(int)mode {
|
||||
switch (mode) {
|
||||
case 0:
|
||||
{
|
||||
NSData* hash = [NSMutableData dataWithLength:CC_SHA1_DIGEST_LENGTH];
|
||||
CC_SHA1(data, length, (unsigned char *)hash.bytes);
|
||||
CC_SHA1(data.bytes, (unsigned int)data.length, (unsigned char *)hash.bytes);
|
||||
return hash;
|
||||
}
|
||||
break;
|
||||
@@ -63,7 +63,7 @@
|
||||
case 1:
|
||||
{
|
||||
NSData* hash = [NSMutableData dataWithLength:CC_SHA256_DIGEST_LENGTH];
|
||||
CC_SHA256(data, length, (unsigned char *)hash.bytes);
|
||||
CC_SHA256(data.bytes, (unsigned int)data.length, (unsigned char *)hash.bytes);
|
||||
return hash;
|
||||
}
|
||||
|
||||
@@ -71,14 +71,14 @@
|
||||
case 2:
|
||||
{
|
||||
NSData* hash = [NSMutableData dataWithLength:CC_SHA384_DIGEST_LENGTH];
|
||||
CC_SHA384(data, length, (unsigned char *)hash.bytes);
|
||||
CC_SHA384(data.bytes, (unsigned int)data.length, (unsigned char *)hash.bytes);
|
||||
return hash;
|
||||
}
|
||||
|
||||
case 3:
|
||||
{
|
||||
NSData* hash = [NSMutableData dataWithLength:CC_SHA512_DIGEST_LENGTH];
|
||||
CC_SHA512(data, length, (unsigned char *)hash.bytes);
|
||||
CC_SHA512(data.bytes, (unsigned int)data.length, (unsigned char *)hash.bytes);
|
||||
return hash;
|
||||
}
|
||||
|
||||
@@ -87,6 +87,15 @@
|
||||
}
|
||||
}
|
||||
|
||||
+ (void)digest:(NSData *)data mode:(int)mode completion:(DigestCompletionHandler)completion {
|
||||
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
|
||||
NSData* ret = [NSCCrypto digest: data mode:mode];
|
||||
dispatch_async(dispatch_get_main_queue(), ^(void){
|
||||
completion(ret, nil);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+ (nullable NSData *)generateKeyHmac:(int)hash length:(int)length {
|
||||
NSMutableData* ret = nil;
|
||||
@@ -95,11 +104,11 @@
|
||||
{
|
||||
unsigned int len = length > 0 ? length / 8 : CC_SHA1_DIGEST_LENGTH;
|
||||
NSMutableData* data = [NSMutableData dataWithLength: len];
|
||||
int result = SecRandomCopyBytes(kSecRandomDefault, len, data.mutableBytes);
|
||||
if (result == errSecSuccess) {
|
||||
ret = data;
|
||||
}
|
||||
|
||||
int result = SecRandomCopyBytes(kSecRandomDefault, len, data.mutableBytes);
|
||||
if (result == errSecSuccess) {
|
||||
ret = data;
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -107,10 +116,10 @@
|
||||
{
|
||||
unsigned int len = length > 0 ? length / 8 : CC_SHA256_DIGEST_LENGTH;
|
||||
NSMutableData* data = [NSMutableData dataWithLength: len];
|
||||
int result = SecRandomCopyBytes(kSecRandomDefault, len, data.mutableBytes);
|
||||
if (result == errSecSuccess) {
|
||||
ret = data;
|
||||
}
|
||||
int result = SecRandomCopyBytes(kSecRandomDefault, len, data.mutableBytes);
|
||||
if (result == errSecSuccess) {
|
||||
ret = data;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -118,20 +127,20 @@
|
||||
{
|
||||
unsigned int len = length > 0 ? length / 8 : CC_SHA384_DIGEST_LENGTH;
|
||||
NSMutableData* data = [NSMutableData dataWithLength: len];
|
||||
int result = SecRandomCopyBytes(kSecRandomDefault, len, data.mutableBytes);
|
||||
if (result == errSecSuccess) {
|
||||
ret = data;
|
||||
}
|
||||
int result = SecRandomCopyBytes(kSecRandomDefault, len, data.mutableBytes);
|
||||
if (result == errSecSuccess) {
|
||||
ret = data;
|
||||
}
|
||||
}
|
||||
|
||||
case 3:
|
||||
{
|
||||
unsigned int len = length > 0 ? length / 8 : CC_SHA512_DIGEST_LENGTH;
|
||||
NSMutableData* data = [NSMutableData dataWithLength: len];
|
||||
int result = SecRandomCopyBytes(kSecRandomDefault, len, data.mutableBytes);
|
||||
if (result == errSecSuccess) {
|
||||
ret = data;
|
||||
}
|
||||
int result = SecRandomCopyBytes(kSecRandomDefault, len, data.mutableBytes);
|
||||
if (result == errSecSuccess) {
|
||||
ret = data;
|
||||
}
|
||||
}
|
||||
|
||||
default:
|
||||
@@ -149,15 +158,15 @@
|
||||
}
|
||||
case kNSCCryptoHashSHA256:
|
||||
{
|
||||
return [[NSCCrypto signHmac:key hash:hash data:data] isEqualToData:signature];
|
||||
return [[NSCCrypto signHmac:key hash:hash data:data] isEqualToData:signature];
|
||||
}
|
||||
case kNSCCryptoHashSHA384:
|
||||
{
|
||||
return [[NSCCrypto signHmac:key hash:hash data:data] isEqualToData:signature];
|
||||
return [[NSCCrypto signHmac:key hash:hash data:data] isEqualToData:signature];
|
||||
}
|
||||
case kNSCCryptoHashSHA512:
|
||||
{
|
||||
return [[NSCCrypto signHmac:key hash:hash data:data] isEqualToData:signature];
|
||||
return [[NSCCrypto signHmac:key hash:hash data:data] isEqualToData:signature];
|
||||
}
|
||||
default:
|
||||
return false;;
|
||||
@@ -205,7 +214,7 @@
|
||||
|
||||
NSData* exp;
|
||||
|
||||
if(exponent != NULL){
|
||||
if(exponent != nil){
|
||||
// todo
|
||||
exp = [NSData dataWithBytesNoCopy:exponent length:size];
|
||||
}
|
||||
@@ -258,95 +267,104 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
SecKeyRef publicKey = NULL;
|
||||
SecKeyRef privateKey = NULL;
|
||||
OSStatus status = SecKeyGeneratePair(keyPairAttrs, &publicKey, &privateKey);
|
||||
|
||||
CFRelease(privateKeyAttrs);
|
||||
CFRelease(publicKeyAttrs);
|
||||
CFRelease(keyPairAttrs);
|
||||
|
||||
if (status == errSecSuccess) {
|
||||
NSCCryptoKeyPair* pair = [[NSCCryptoKeyPair alloc] initWithPrivateKey:privateKey andPublicKey: publicKey];
|
||||
return pair;
|
||||
} else {
|
||||
if (publicKey) CFRelease(publicKey);
|
||||
if (privateKey) CFRelease(privateKey);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
SecKeyRef publicKey = NULL;
|
||||
SecKeyRef privateKey = NULL;
|
||||
OSStatus status = SecKeyGeneratePair(keyPairAttrs, &publicKey, &privateKey);
|
||||
|
||||
CFRelease(privateKeyAttrs);
|
||||
CFRelease(publicKeyAttrs);
|
||||
CFRelease(keyPairAttrs);
|
||||
|
||||
if (status == errSecSuccess) {
|
||||
NSCCryptoKeyPair* pair = [[NSCCryptoKeyPair alloc] initWithPrivateKey:privateKey andPublicKey: publicKey];
|
||||
return pair;
|
||||
} else {
|
||||
if (publicKey) CFRelease(publicKey);
|
||||
if (privateKey) CFRelease(privateKey);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size {
|
||||
NSData* toEncrypt = [NSData dataWithBytesNoCopy:data length:size];
|
||||
+ (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{
|
||||
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
|
||||
NSCCryptoKeyPair* ret = [NSCCrypto generateKeyRsa:name modulusLength:modulusLength publicExponent:exponent size:size hash:hash extractable:extractable keyUsages:usages];
|
||||
dispatch_async(dispatch_get_main_queue(), ^(void){
|
||||
completion(ret, nil);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+ (nullable NSData *)encryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data{
|
||||
NSData *cipherText = nil;
|
||||
CFErrorRef error = NULL;
|
||||
if(isPrivate){
|
||||
|
||||
|
||||
|
||||
switch (hash) {
|
||||
case kNSCCryptoHashSHA1:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA1;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.privateKey, algorithm, (__bridge CFDataRef)toEncrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.privateKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
case kNSCCryptoHashSHA256:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA256;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.privateKey, algorithm, (__bridge CFDataRef)toEncrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.privateKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
case kNSCCryptoHashSHA384:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA384;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.privateKey, algorithm, (__bridge CFDataRef)toEncrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.privateKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
case kNSCCryptoHashSHA512:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA512;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.privateKey, algorithm, (__bridge CFDataRef)toEncrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.privateKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}else {
|
||||
switch (hash) {
|
||||
case kNSCCryptoHashSHA1:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA1;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.publicKey, algorithm, (__bridge CFDataRef)toEncrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.publicKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
case kNSCCryptoHashSHA256:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA256;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.publicKey, algorithm, (__bridge CFDataRef)toEncrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.publicKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
case kNSCCryptoHashSHA384:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA384;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.publicKey, algorithm, (__bridge CFDataRef)toEncrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.publicKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
case kNSCCryptoHashSHA512:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA512;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.publicKey, algorithm, (__bridge CFDataRef)toEncrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateEncryptedData(key.publicKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -355,83 +373,91 @@
|
||||
}
|
||||
|
||||
if (!cipherText) {
|
||||
NSLog(@"Failed to encrypt message: %@", error);
|
||||
CFRelease(error);
|
||||
}
|
||||
NSLog(@"Failed to encrypt message: %@", error);
|
||||
CFRelease(error);
|
||||
}
|
||||
|
||||
return cipherText;
|
||||
}
|
||||
|
||||
+ (void)encryptRsa:(BOOL)isPrivate key:(NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(NSData *)data completion:(EncryptCompletionHandler)completion {
|
||||
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
|
||||
NSData* ret = [NSCCrypto encryptRsa:isPrivate key:key hash:hash data:data];
|
||||
dispatch_async(dispatch_get_main_queue(), ^(void){
|
||||
completion(ret, nil);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull void*)data size:(unsigned int) size {
|
||||
NSData* toDecrypt = [NSData dataWithBytesNoCopy:data length:size];
|
||||
|
||||
+ (nullable NSData *)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data {
|
||||
NSData *cipherText = nil;
|
||||
CFErrorRef error = NULL;
|
||||
if(isPrivate){
|
||||
|
||||
|
||||
|
||||
switch (hash) {
|
||||
case kNSCCryptoHashSHA1:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA1;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.privateKey, algorithm, (__bridge CFDataRef)toDecrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.privateKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
case kNSCCryptoHashSHA256:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA256;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.privateKey, algorithm, (__bridge CFDataRef)toDecrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.privateKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
case kNSCCryptoHashSHA384:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA384;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.privateKey, algorithm, (__bridge CFDataRef)toDecrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.privateKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
case kNSCCryptoHashSHA512:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA512;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.privateKey, algorithm, (__bridge CFDataRef)toDecrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.privateKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}else {
|
||||
switch (hash) {
|
||||
case kNSCCryptoHashSHA1:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA1;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.publicKey, algorithm, (__bridge CFDataRef)toDecrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.publicKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
case kNSCCryptoHashSHA256:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA256;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.publicKey, algorithm, (__bridge CFDataRef)toDecrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.publicKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
case kNSCCryptoHashSHA384:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA384;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.publicKey, algorithm, (__bridge CFDataRef)toDecrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.publicKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
case kNSCCryptoHashSHA512:
|
||||
{
|
||||
SecKeyAlgorithm algorithm = kSecKeyAlgorithmRSAEncryptionOAEPSHA512;
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.publicKey, algorithm, (__bridge CFDataRef)toDecrypt, &error));
|
||||
|
||||
cipherText = (NSData *)CFBridgingRelease(SecKeyCreateDecryptedData(key.publicKey, algorithm, (__bridge CFDataRef)data, &error));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -440,11 +466,21 @@
|
||||
}
|
||||
|
||||
if (!cipherText) {
|
||||
NSLog(@"Failed to encrypt message: %@", error);
|
||||
CFRelease(error);
|
||||
}
|
||||
NSLog(@"Failed to encrypt message: %@", error);
|
||||
CFRelease(error);
|
||||
}
|
||||
|
||||
return cipherText;
|
||||
}
|
||||
|
||||
|
||||
+ (void)decryptRsa:(BOOL)isPrivate key:(nonnull NSCCryptoKeyPair *)key hash:(NSCCryptoHash)hash data:(nonnull NSData*)data completion:(DecryptCompletionHandler _Nonnull)completion {
|
||||
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
|
||||
NSData* ret = [NSCCrypto decryptRsa:isPrivate key:key hash:hash data:data];
|
||||
dispatch_async(dispatch_get_main_queue(), ^(void){
|
||||
completion(ret, nil);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
//}
|
||||
|
||||
android {
|
||||
compileSdkVersion 33
|
||||
buildToolsVersion "33.0.0"
|
||||
compileSdkVersion 34
|
||||
buildToolsVersion "34.0.0"
|
||||
defaultConfig {
|
||||
minSdkVersion 23
|
||||
targetSdkVersion 33
|
||||
minSdkVersion 24
|
||||
targetSdkVersion 34
|
||||
generatedDensities = []
|
||||
}
|
||||
aaptOptions {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="__PACKAGE__"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
|
||||
|
||||
Reference in New Issue
Block a user