忽略ssl认证MKNetworkKit

时间:2013-03-04 21:09:54

标签: ios mknetworkkit

因此,似乎ASIHTTPRequest允许您忽略https://端点上的证书。我目前正在使用MKNetworkKit并已实现了所有通话。不幸的是,我们的测试服务器是在https上,但没有SSL证书。

我可以使用curl和-k命令进行正常连接。我在MKNetworkKit中尝试了各种各样的东西来忽略NSURLAuthenticationChallenge,但无济于事。我尝试过的最新事情如下:

op.authHandler = ^(NSURLAuthenticationChallenge *challenge)
{
    NSURLCredential *credential = [NSURLCredential credentialWithUser:_userName password:password persistence:NSURLCredentialPersistenceNone];
    [challenge.sender useCredential:credential forAuthenticationChallenge:challenge];
};

这让我实际上得到了一个401错误(而不是空白)。查看卷曲字符串时,MKNetworkKit会在上面的块命中时删除我的用户名/密码。我不确定这是否有进展。

任何人都知道如何忽略SSL证书?

编辑:

我必须更新MKNetwork工具包以在ShouldContinueWithInvalidCertificate上获取新方法MKNetworkOperation,并且我的测试服务器修复了certError。

然而,现在我发生了一个奇怪的错误。我仍然无法从服务器上的两个特定端点获得任何返回。我查看请求,将其作为curl复制到命令中,然后立即返回结果。我没有从操作中得到错误。

这里发生了什么?

1 个答案:

答案 0 :(得分:4)

MKNetworkOperation类有一个名为shouldContinueWithInvalidCertificate的属性,默认为NO。您所要做的就是将其设置为YES,它将忽略证书。

评论:

/*!
 *  @abstract Boolean variable that states whether the operation should continue if the certificate is invalid.
 *  @property shouldContinueWithInvalidCertificate
 *
 *  @discussion
 *  If you set this property to YES, the operation will continue as if the certificate was valid (if you use Server Trust Auth)
 *  The default value is NO. MKNetworkKit will not run an operation with a server that is not trusted.
 */