gpt4 book ai didi

iphone - 带 NSURLConnection 的 HTTPS - NSURLErrorServerCertificateUntrusted

转载 作者:太空宇宙 更新时间:2023-11-03 12:47:22 27 4
gpt4 key购买 nike

我有一个应用程序可以通过 http 正常连接。尝试 https 时,我收到错误消息,指出根证书不受信任。我找到了我的站点证书、它的 CA 证书和 CA 的根证书的 URL,并通过 Safari 将它们添加到手机中。现在,当我转到 Preferences -> General -> Profiles 时,我可以看到我所有的证书一直向上链。每张证书上都有一个红色的未签名标签。仍然在我连接时收到 NSURLErrorServerCertificateUntrusted 错误。我在想下一步该去哪里。

任何帮助都会很棒。唯一可能影响这一点的是我连接到一个奇怪的端口。所以我的网址是 www.domain.com:port。端口号是否创建证书-域名不匹配?

现在我已经使用 iPhone 配置实用程序将配置文件添加到手机。它有我的根证书、CA 证书和站点证书。电话上的个人资料显示已通过验证。在详细信息中,我可以看到我的三个证书。但是当我尝试连接时,我仍然收到不受信任的证书错误。有什么建议吗?

只是想看看是否还有其他人可以提供帮助?

最佳答案

有一个受支持的 API,用于在 NSURLConnection 加载期间忽略错误的证书。为此,只需将类似这样的内容添加到您的 NSURLConnection 委托(delegate)中:

- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace {
return [protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust];
}

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust])
if (... user allows connection despite bad certificate ...)
[challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];

[challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];
}

请注意 connection:didReceiveAuthenticationChallenge: 可以稍后将其消息发送到 challenge.sender,如有必要,在向用户显示对话框等之后。

关于iphone - 带 NSURLConnection 的 HTTPS - NSURLErrorServerCertificateUntrusted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1578121/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com