配置https证书

后台同事给的事.pem和.key文件,项目中要用cer证书,所以要转一下

pem证书转cer证书 命令:

1.openssl pkcs12 -export -out cacert.p12 -in cacert.pem -inkey cacert.key   先转p12

2.openssl pkcs12 -in cacert.p12 -out mycerts.crt -nokeys -clcerts    再转crt

3.openssl x509 -inform pem -in mycerts.crt -outform der -out mycerts.cer  最后转cer

引用证书代码:

   _sessionManager = [[AFHTTPSessionManager manager] initWithBaseURL:[NSURL URLWithString:ServerPath]];
    // 设置请求的超时时间
    _sessionManager.requestSerializer.timeoutInterval = 30.f;
    NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"teststudent" ofType:@"cer"];//证书的路径   
 NSData *cerData = [NSData dataWithContentsOfFile:cerPath];
    // 使用证书验证模式
    AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
    // 如果需要验证自建证书(无效证书),需要设置为YES
    securityPolicy.allowInvalidCertificates = YES;
    // 是否需要验证域名,默认为YES;
    securityPolicy.validatesDomainName = validatesDomainName;
    securityPolicy.pinnedCertificates = [[NSSet alloc] initWithObjects:cerData, nil];
    [_sessionManager setSecurityPolicy:securityPolicy];

AFHTTPSessionManager注意一定要 initWithBaseURL 添加baseurl,直接[AFHTTPSessionManager manager]会报错:

A security policy configured with `AFSSLPinningModeCertificate` can only be applied on a manager with a secure base URL (i.e. https)。闪退

 

转载于:https://www.cnblogs.com/frounk/p/9373360.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值