8
8
#include < stddef.h>
9
9
#include < string>
10
10
11
- NSString * const kOperationalCredentialsIssuerKeypairStorage = @" ChipToolOpCredsCAKey" ;
11
+ #define CHIPPlugin_CAKeyTag " com.apple.matter.commissioner.ca.issuer.id"
12
+ #define Public_KeySize " 256"
13
+
14
+ static NSString * const kCHIPToolKeychainLabel = @" Chip Tool Keypair" ;
15
+ static NSString * const kOperationalCredentialsIssuerKeypairStorage = @" ChipToolOpCredsCAKey" ;
12
16
13
17
std::string StringToBase64 (const std::string & value)
14
18
{
@@ -62,7 +66,7 @@ - (NSData *)ECDSA_sign_hash:(NSData *)hash
62
66
CHIP_ERROR signing_error = _mKeyPair.ECDSA_sign_hash ((const uint8_t *) [hash bytes ], (const size_t )[hash length ], signature);
63
67
if (signing_error != CHIP_NO_ERROR)
64
68
return nil ;
65
- out_signature = [NSData dataWithBytes: signature length: sizeof ( signature)];
69
+ out_signature = [NSData dataWithBytes: signature. Bytes () length: signature. Length ( )];
66
70
return out_signature;
67
71
}
68
72
@@ -71,8 +75,11 @@ - (SecKeyRef)pubkey
71
75
chip::Crypto::P256PublicKey publicKey = _mKeyPair.Pubkey ();
72
76
NSData * publicKeyNSData = [NSData dataWithBytes: publicKey.Bytes () length: publicKey.Length ()];
73
77
NSDictionary * attributes = @{
74
- (__bridge NSString *) kSecAttrKeyType : (__bridge NSString *) kSecAttrKeyTypeECDSA ,
75
- (__bridge NSString *) kSecAttrKeyClass : (__bridge NSString *) kSecAttrKeyClassPublic
78
+ (__bridge NSString *) kSecAttrKeyClass : (__bridge NSString *) kSecAttrKeyClassPublic ,
79
+ (NSString *) kSecAttrKeyType : (NSString *) kSecAttrKeyTypeECSECPrimeRandom ,
80
+ (NSString *) kSecAttrKeySizeInBits : @Public_KeySize,
81
+ (NSString *) kSecAttrLabel : kCHIPToolKeychainLabel ,
82
+ (NSString *) kSecAttrApplicationTag : @CHIPPlugin_CAKeyTag,
76
83
};
77
84
return SecKeyCreateWithData ((__bridge CFDataRef ) publicKeyNSData, (__bridge CFDictionaryRef ) attributes, NULL );
78
85
}
0 commit comments