簡體   English   中英

cmd行測試失敗,並顯示SSL證書錯誤

[英]cmd-line tests fail with SSL certificate error

在遇到與覆蓋率刷新(已修復)和測試輸出被消耗(未修復)有關的一系列問題后,我決定嘗試使用Cedar和GH-Unit作為XCTest的替代方法。

不幸的是,這帶來了一個新問題:

  • 從IDE啟動時,一切都會順利進行。
  • 從cmd行啟動時,出現SSL證書錯誤

錯誤摘要:

Error Domain=com.biasedbit.http Code=60 "Peer certificate cannot be authenticated with given CA certificates" 

我怎樣才能解決這個問題? (還有一些要點)為什么從IDE啟動而不是從命令行啟動時知道證書?

在cmd行中,有必要明確指定應允許使用無效/自簽名的SSL證書。 我仍然不確定為什么通過IDE運行時不需要這樣做,但這是另一個問題。

設置接受無效證書

  • 使用核心蘋果API可能會有些棘手。 它似乎是專用API或上述模塊。
  • AFNetworking支持此功能。

使用我正在使用的網絡堆棧(BBHTTP,順便說一句,它看起來非常不錯,而且似乎被低估了),它很簡單:

[[BBHTTPRequest postToURL:_serviceUrl data:[envelope data] contentType:@"text/xml"] setup:^(BBHTTPRequest* request)
{
    request.allowInvalidSSLCertificates = YES;
} execute:^(BBHTTPResponse* response)
{
    if (_logResponses)
    {
        LogDebug(@"\n\n$$$$$$$$$ Got response: %@", [[NSString alloc] initWithData:[response content] encoding:NSUTF8StringEncoding]);
    }

    //etc .. . . 

} error:^(NSError* error)
{
    //etc .. . . 
}];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM