objective-c – 用于可信证书的AFNetworking pin公钥

前端之家收集整理的这篇文章主要介绍了objective-c – 用于可信证书的AFNetworking pin公钥前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用AFNetworking 2.3.1,我有一个值得信赖的证书,我想用它来固定公钥.

我有crt,key,pfx文件,所以我想我必须将它们添加到我的包中.

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]
    initWithRequest:request];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation,id responSEObject) {
    NSLog(@"Success");
} failure:^(AFHTTPRequestOperation *operation,NSError *error) {
    return [self processError:[operation response]];
}];
[operation start];

现在我如何告诉AFNetworking使用AFSSLPinningModePublicKey模式?
(我没有看到AFHTTPRequestOperation的setSSLPinningMode方法)

我如何告诉AFNetworking使用添加的密钥?我在文档中找不到任何示例.

解决方法

AFNetworking有一个AFSecurityPolicy对象具有安全功能的值,包括SSL固定模式.

您可以在AFHTTPRequestOperation上设置securityPolicy

AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModePublicKey];
operation.securityPolicy = securityPolicy;

您的证书必须具有扩展名cer而不是crt,并且应该是DER格式.将其添加到您的捆绑包中.您可以使用以下命令将其转换为终端中的正确格式:

openssl x509 -in domain.crt -out domain.cer -outform der

您不应在应用包中包含密钥,只需要证书.

猜你在找的C&C++相关文章