2012-03-14 2 views

답변

5

이이 doen 할 수있는 방법입니다 :

NSString* certPath = [[NSBundle mainBundle] pathForResource:@"myCertificate" ofType:@"cer"]; 
NSData* certData = [NSData dataWithContentsOfFile:certPath]; 
SecCertificateRef cert; 
if([certData length]) { 
    cert = SecCertificateCreateWithData(NULL, (__bridge CFDataRef)certData); 
    if(cert != NULL) { 
     CFStringRef certSummary = SecCertificateCopySubjectSummary(cert); 
     NSString* summaryString = [[NSString alloc] initWithString:(__bridge NSString*)certSummary]; 
     NSLog(@"CERT SUMMARY: %@", summaryString); 
     CFRelease(certSummary); 
    } else { 
     NSLog(@" *** ERROR *** trying to create the SSL certificate from data located at %@, but failed", certPath); 
    } 
} 
// play with cert here 

myCertificate.cer 응용 프로그램 번들에 있어야합니다. 나는 openssl로 cer 파일을 만든다. iOS 응용 프로그램에서이 프로그램을 사용하려는 경우 인증서에 필수 확장자가 포함되어 있는지 확인하고 here을 확인하십시오. 대답은 -1이지만,이 실행을 도왔습니다.

+0

안녕하세요, @lawick, 당신이 제안하는 솔루션은 기존 인증서 "myCertificate.cer"을 복사하는 것입니다. 내 질문에 대한 기존의 복사보다는 프로그래밍 방식으로 인증서를 만드는 것입니다. 필요한 세부 정보 (예 : 키, 사용자 세부 정보 등)가 있습니다. – Jamil

+0

죄송합니다. 질문에 대한 오해를했습니다. DER 데이터는 이미 인증서이므로 ** SecCertificateCreateWithData ** 메서드는이를 지원하지 않습니다. 왜 iOS로 인증서 자체를 만들고 싶습니까? – lawicko

+0

각 사용자마다 인증서가 필요합니다. 앱에서 OpenSSL을 사용하는 것이 더 쉬울 것이라고 생각하십니까? – Jamil

-1

SecKeyGeneratePair보세요.이게 당신이 찾고있는 것 같아요.

+0

이것은 질문에 대한 답변이 아니므로 의견을 제시해야합니다. –

관련 문제