![](/img/trans.png)
[英]I want to delete all items in my self created KeyChain on Mac OS X
[英]sendSynchronousRequest using self signed certificate installed on Mac OS X keychain for Mac
我正在使用Mac OS X (而不是iphone)向Web服務器發送https請求
NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
但是我收到錯誤代碼= -1202 - “不受信任的服務器證書”
我有來自服務器的自簽名證書,我在Mac的鑰匙串上安裝了證書(並驗證了來自瀏覽器的https請求正常)。
我不想通過異步發送數據和處理didReceiveAuthenticationChallenge
來忽略證書
如果證書安裝在鑰匙串中, sendSynchronousRequest
應該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添加更多的樣板代碼。
我還提到了第三方庫,因為它們使用不同的方法來異步HTTP請求。 我鼓勵你看看它們,因為它們可能更適合你不想使用NSURLConnectionDelegate的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.