相关疑难解决方法(0)

为NSURLConnection身份验证挑战创建SecCertificateRef

我从我的应用程序尝试连接的服务器收到身份验证质询,因此我实现了该connection:didReceiveAuthenticationChallenge:方法.我需要发一个SecCertificateRef和一个SecIdentityRef.身份正在运行,但证书需要作为一个发送NSArray,我无法弄清楚如何将a转换CFArrayRef为a NSArray.

这是我创建身份和证书的方法:

// Returns an array containing the certificate
- (CFArrayRef)getCertificate {
  SecCertificateRef certificate = nil;
  NSString *thePath = [[NSBundle mainBundle] pathForResource:@"CertificateName" ofType:@"p12"];
  NSData *PKCS12Data = [[NSData alloc] initWithContentsOfFile:thePath];
  CFDataRef inPKCS12Data = (__bridge CFDataRef)PKCS12Data;
  certificate = SecCertificateCreateWithData(nil, inPKCS12Data);
  SecCertificateRef certs[1] = { certificate };
  CFArrayRef array = CFArrayCreate(NULL, (const void **) certs, 1, NULL);

  SecPolicyRef myPolicy   = SecPolicyCreateBasicX509();
  SecTrustRef myTrust;

  OSStatus status = SecTrustCreateWithCertificates(array, myPolicy, &myTrust);
  if (status …
Run Code Online (Sandbox Code Playgroud)

iphone ios5.1

6
推荐指数
1
解决办法
6499
查看次数

标签 统计

ios5.1 ×1

iphone ×1