@@ -22,46 +22,43 @@ package certificates
22
22
#cgo LDFLAGS: -framework Cocoa
23
23
#import <Cocoa/Cocoa.h>
24
24
25
- char *installCert(const char *path) {
25
+ const char *installCert(const char *path) {
26
26
NSURL *url = [NSURL fileURLWithPath:@(path) isDirectory:NO];
27
27
NSData *rootCertData = [NSData dataWithContentsOfURL:url];
28
28
29
29
OSStatus err = noErr;
30
- NSMutableString *errString = [NSMutableString new];
31
- char *errReturnString = "\0";
32
30
SecCertificateRef rootCert = SecCertificateCreateWithData(kCFAllocatorDefault, (CFDataRef) rootCertData);
33
31
34
32
CFTypeRef result;
35
33
36
34
NSDictionary* dict = [NSDictionary dictionaryWithObjectsAndKeys:
37
- (id)kSecClassCertificate, kSecClass,
38
- rootCert, kSecValueRef,
39
- nil];
35
+ (id)kSecClassCertificate, kSecClass,
36
+ rootCert, kSecValueRef,
37
+ nil];
40
38
41
39
err = SecItemAdd((CFDictionaryRef)dict, &result);
42
40
43
- if( err == noErr) {
41
+ if ( err == noErr) {
44
42
NSLog(@"Install root certificate success");
45
- } else if( err == errSecDuplicateItem ) {
46
- errString = [@"duplicate root certificate entry. Error: " stringByAppendingFormat:@"%d ",err];
47
- NSLog(errString);
48
- errReturnString = [errString cStringUsingEncoding:[NSString defaultCStringEncoding]];
49
- return errReturnString;
43
+ } else if (err == errSecDuplicateItem) {
44
+ NSString *errString = [@"duplicate root certificate entry. Error: " stringByAppendingFormat:@"%d", err];
45
+ NSLog(@"%@", errString);
46
+ return [errString cStringUsingEncoding:[NSString defaultCStringEncoding]];;
50
47
} else {
51
- errString = [@"install root certificate failure. Error: " stringByAppendingFormat:@"%d ",err];
52
- NSLog(errString);
53
- errReturnString = [errString cStringUsingEncoding:[NSString defaultCStringEncoding]];
54
- return errReturnString;
48
+ NSString *errString = [@"install root certificate failure. Error: " stringByAppendingFormat:@"%d", err];
49
+ NSLog(@"%@", errString);
50
+ return [errString cStringUsingEncoding:[NSString defaultCStringEncoding]];
55
51
}
56
52
57
53
NSDictionary *newTrustSettings = @{(id)kSecTrustSettingsResult: [NSNumber numberWithInt:kSecTrustSettingsResultTrustRoot]};
58
54
err = SecTrustSettingsSetTrustSettings(rootCert, kSecTrustSettingsDomainUser, (__bridge CFTypeRef)(newTrustSettings));
59
55
if (err != errSecSuccess) {
60
- errString = [@"Could not change the trust setting for a certificate. Error: " stringByAppendingFormat:@"%d ", err];
61
- NSLog(errString);
62
- errReturnString = [errString cStringUsingEncoding:[NSString defaultCStringEncoding]];
56
+ NSString * errString = [@"Could not change the trust setting for a certificate. Error: " stringByAppendingFormat:@"%d", err];
57
+ NSLog(@"%@", errString);
58
+ return [errString cStringUsingEncoding:[NSString defaultCStringEncoding]];
63
59
}
64
- return errReturnString;
60
+
61
+ return "";
65
62
}
66
63
67
64
*/
0 commit comments