gpt4 book ai didi

objective-c - sendSynchronousRequest 使用安装在 Mac OS X keychain for Mac 上的自签名证书

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:50 26 4
gpt4 key购买 nike

我正在使用 Mac OS X(不是 iphone)向 Web 服务器同步发送 https 请求

NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response   error:&error];

但是我收到了错误代码=-1202 - “不受信任的服务器证书”

我有一个来自服务器的自签名证书,我安装在我的 Mac 钥匙串(keychain)上(并验证来自浏览器的 https 请求正常)。

我不想通过异步发送数据和处理didReceiveAuthenticationChallenge来忽略证书

如果证书安装在钥匙串(keychain)中,sendSynchronousRequest 应该不起作用。我错过了什么吗?

最佳答案

据我所知,您无法通过同步请求执行此操作。至少不使用 NSURLConnection。你可以使用 ASIHTTPRequest它看起来像这样:

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setValidatesSecureCertificate:NO]
[request startSynchronous];

谈到第三方库时,AFNetworking也可以(以多种方式)做到这一点,并且它还可以选择同步工作。

#ifdef DEBUG
#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_
#endif

最后但同样重要的是,您可以使用 CFNetworking 本身来降低级别并使用它(您可以查看 ASIHTTPRequest 代码如何执行此操作),但这可能会添加比使用 NSURLConnectionDelegate 更多的样板代码。

我还提到了第 3 方库,因为它们使用不同的方法来异步化 HTTP 请求。我鼓励你看看它们,因为它们可能更符合你不想使用 NSURLConnectionDelegate 的原因。

关于objective-c - sendSynchronousRequest 使用安装在 Mac OS X keychain for Mac 上的自签名证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8528462/

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