我已经写了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);
}
}
非常感谢。