因此,似乎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复制到命令中,然后立即返回结果。我没有从操作中得到错误。
这里发生了什么?
答案 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.
*/