1

カバレッジのフラッシュ (修正済み) とテスト出力の消費 (修正されていない) に関連する一連の問題に遭遇した後、XCTest の代わりに Cedar と GH-Unit を試してみることにしました。

残念ながら、これにより新たな問題が発生します。

  • IDE から起動すると、すべてがうまくいきます。
  • コマンドラインから起動すると、SSL 証明書エラーが発生します

エラーの概要:

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

どうすればこれを修正できますか? (さらにポイントを追加) IDE から起動すると証明書が認識されるのに、コマンド ラインからは認識されないのはなぜですか?

4

1 に答える 1

1

コマンドラインから、無効な/自己署名 SSL 証明書を許可することを明示的に指定する必要があります。IDE 経由で実行するときにこれが必要でなかった理由はまだわかりませんが、それは別の質問です。

無効な証明書を受け入れる設定

  • コアの Apple 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 .. . . 
}];
于 2014-01-12T13:32:36.277 に答える