@@ -22,46 +22,43 @@ package certificates
2222#cgo LDFLAGS: -framework Cocoa
2323#import <Cocoa/Cocoa.h>
2424
25- char *installCert(const char *path) {
25+ const char *installCert(const char *path) {
2626 NSURL *url = [NSURL fileURLWithPath:@(path) isDirectory:NO];
2727 NSData *rootCertData = [NSData dataWithContentsOfURL:url];
2828
2929 OSStatus err = noErr;
30- NSMutableString *errString = [NSMutableString new];
31- char *errReturnString = "\0";
3230 SecCertificateRef rootCert = SecCertificateCreateWithData(kCFAllocatorDefault, (CFDataRef) rootCertData);
3331
3432 CFTypeRef result;
3533
3634 NSDictionary* dict = [NSDictionary dictionaryWithObjectsAndKeys:
37- (id)kSecClassCertificate, kSecClass,
38- rootCert, kSecValueRef,
39- nil];
35+ (id)kSecClassCertificate, kSecClass,
36+ rootCert, kSecValueRef,
37+ nil];
4038
4139 err = SecItemAdd((CFDictionaryRef)dict, &result);
4240
43- if( err == noErr) {
41+ if ( err == noErr) {
4442 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]];;
5047 } 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]];
5551 }
5652
5753 NSDictionary *newTrustSettings = @{(id)kSecTrustSettingsResult: [NSNumber numberWithInt:kSecTrustSettingsResultTrustRoot]};
5854 err = SecTrustSettingsSetTrustSettings(rootCert, kSecTrustSettingsDomainUser, (__bridge CFTypeRef)(newTrustSettings));
5955 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]];
6359 }
64- return errReturnString;
60+
61+ return "";
6562}
6663
6764*/
0 commit comments