首页新闻找找看学习计划

iOS 关于证书 我怎么把它引入app的bundle里面

0
[待解决问题]

解决方法。AFNetworking2是允许内嵌证书的,通过内嵌证书,AFNetworking2就通过比对服务器端证书、内嵌的证书、站点域名是否一致来验证连接的服务器是否正确。由于CA证书验证是通过站点域名进行验证的,如果你的服务器后端有绑定的域名,这是最方便的。将你的服务器端证书,如果是pem格式的,用下面的命令转成cer格式

1
openssl x509 -in <你的服务器证书>.pem -outform der -out server.cer

然后将生成的server.cer文件,如果有自建ca,再加上ca的cer格式证书,引入到app的bundle里,AFNetworking2在

1
2
3
4
AFSecurityPolicy *securityPolicy = [AFSecurityPolicy AFSSLPinningModeCertificate];
或者
AFSecurityPolicy *securityPolicy = [AFSecurityPolicy AFSSLPinningModePublicKey];
securityPolicy.allowInvalidCertificates = YES; //还是必须设成YES

情况下,会自动扫描bundle中.cer的文件,并引入,这样就可以通过自签证书来验证服务器唯一性了。

应有梦的主页 应有梦 | 菜鸟二级 | 园豆:205
提问于:2015-09-12 10:26
< >
分享
所有回答(1)
0

亲,  解决了吗

1018328249 | 园豆:202 (菜鸟二级) | 2015-12-02 15:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册