iOS如何在app中加载证书文件(crt)匹配来连接https服务器

时间:2016-04-11 02:35:57

标签: ios objective-c iphone openssl certificate

我已经写了https连接。

我自己签署了证书文件。

所以我生成了keystore和crt文件。密钥库文件使用tomcat并直接使用https服务器。

crt文件可以从服务器下载以安装在iPhone设备中。

但现在我想将crt文件包装在我的应用程序代码中。

如何在app中加载crt文件并加密数据,然后服务器可以检查密钥并且密钥库匹配。

我没有从iPhone服务器安装下载crt文件的内容,它将更多的设置上传或下载数据。

我的https方法如下:

 -(void) URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable))completionHandler{

 NSURLSessionAuthChallengeDisposition disposition =      NSURLSessionAuthChallengePerformDefaultHandling;
__block NSURLCredential *credential = nil;

if( [challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]){
    MYLog(@"server is trust certificate credential:%@",credential);
    if(credential){
        disposition = NSURLSessionAuthChallengeUseCredential;
    }else{

        disposition = NSURLSessionAuthChallengePerformDefaultHandling;


         }
     }else{
         disposition =      NSURLSessionAuthChallengeCancelAuthenticationChallenge;

     }

     if(completionHandler){
         completionHandler(disposition,credential);
     }

 }

非常感谢。

0 个答案:

没有答案