@@ -139,11 +139,14 @@ + (SecKeyRef)loadCAPrivateKey
139
139
return NULL ;
140
140
}
141
141
142
- CFErrorRef error = NULL ;
142
+ CFErrorRef cfError = NULL ;
143
143
SecKeyRef key = SecKeyCreateWithData (
144
- (__bridge CFDataRef ) keyData, (__bridge CFDictionaryRef )[FabricKeys privateKeyCreationParams ], &error);
145
- if (error) {
146
- NSLog (@" Could not reconstruct private key %@ " , (__bridge NSError *) error);
144
+ (__bridge CFDataRef ) keyData,
145
+ (__bridge CFDictionaryRef )[FabricKeys privateKeyCreationParams ],
146
+ &cfError);
147
+
148
+ if (!key) {
149
+ NSLog (@" Could not reconstruct private key %@ " , (__bridge_transfer NSError *) cfError);
147
150
return NULL ;
148
151
}
149
152
@@ -159,16 +162,19 @@ + (SecKeyRef)generateCAPrivateKey
159
162
// item at all.
160
163
SecItemDelete ((__bridge CFDictionaryRef ) query);
161
164
162
- CFErrorRef error = NULL ;
163
- SecKeyRef key = SecKeyCreateRandomKey ((__bridge CFDictionaryRef )[FabricKeys privateKeyCreationParams ], &error);
164
- if (error) {
165
- NSLog (@" Could not generate private key: %@ " , (__bridge NSError *) error);
165
+ CFErrorRef cfError = NULL ;
166
+ SecKeyRef key = SecKeyCreateRandomKey (
167
+ (__bridge CFDictionaryRef )[FabricKeys privateKeyCreationParams ],
168
+ &cfError);
169
+
170
+ if (!key) {
171
+ NSLog (@" Could not generate private key: %@ " , (__bridge_transfer NSError *) cfError);
166
172
return NULL ;
167
173
}
168
174
169
- NSData * keyData = (__bridge_transfer NSData *) SecKeyCopyExternalRepresentation (key, &error );
170
- if (error ) {
171
- NSLog (@" Could not get key external representation: %@ " , (__bridge NSError *) error );
175
+ NSData * keyData = (__bridge_transfer NSData *) SecKeyCopyExternalRepresentation (key, &cfError );
176
+ if (!keyData ) {
177
+ NSLog (@" Could not get key external representation: %@ " , (__bridge_transfer NSError *) cfError );
172
178
CFRelease (key);
173
179
return NULL ;
174
180
}
@@ -209,13 +215,18 @@ - (instancetype)init
209
215
210
216
- (NSData *)signMessageECDSA_DER : (NSData *)message
211
217
{
212
- CFErrorRef error = NULL ;
213
- CFDataRef outData
214
- = SecKeyCreateSignature (_privateKey, kSecKeyAlgorithmECDSASignatureMessageX962SHA256 , (__bridge CFDataRef ) message, &error);
215
-
216
- if (error != noErr ) {
217
- NSLog (@" Failed to sign cert: %@ " , (__bridge NSError *) error);
218
+ CFErrorRef cfError = NULL ;
219
+ CFDataRef cfData = SecKeyCreateSignature (
220
+ _privateKey,
221
+ kSecKeyAlgorithmECDSASignatureMessageX962SHA256 ,
222
+ (__bridge CFDataRef ) message,
223
+ &cfError);
224
+
225
+ if (!cfData) {
226
+ NSLog (@" Failed to sign cert: %@ " , (__bridge_transfer NSError *) cfError);
227
+ return nil ;
218
228
}
229
+
219
230
return (__bridge_transfer NSData *) outData;
220
231
}
221
232
0 commit comments