0

したがって、ASIHTTPRequest を使用すると、https:// エンドポイントの証明書を無視できるようになります。私は現在 MKNetworkKit を使用しており、すべての呼び出しを実装しています。残念ながら、テスト サーバーは https 上にありますが、SSL 証明書はありません。

-k コマンドで curl を使用すると、正常に接続できます。NSURLAuthenticationChallenge を無視するために MKNetworkKit でさまざまなことを試しましたが、役に立ちませんでした。私が試した最新のことは次のとおりです。

op.authHandler = ^(NSURLAuthenticationChallenge *challenge)
{
    NSURLCredential *credential = [NSURLCredential credentialWithUser:_userName password:password persistence:NSURLCredentialPersistenceNone];
    [challenge.sender useCredential:credential forAuthenticationChallenge:challenge];
};

これにより、(空白ではなく) 実際に 401 エラーが返されるようになりました。curl 文字列を見ると、上記のブロックがヒットすると、MKNetworkKit がユーザー名とパスワードを削除します。それが進歩かどうかはわかりません。

SSL証明書を単に無視する方法を知っている人はいますか?

編集:

ShouldContinueWithInvalidCertificate新しいメソッドをオンにするために MKNetwork キットを更新する必要がMKNetworkOperationあり、テスト サーバーで certError が修正されました。

しかし、今、奇妙なエラーが発生しています。サーバー上の 2 つの特定のエンドポイントからまだ何も返されません。リクエストを見て、curl としてコマンドにコピーすると、すぐに結果が返されます。操作からもエラーは発生しません。

ここで何が起こっているのですか?

4

1 に答える 1

4

このクラスには、デフォルトで NO に設定さMKNetworkOperationれているというプロパティがあります。shouldContinueWithInvalidCertificateYES に設定するだけで、証明書は無視されます。

コメント:

/*!
 *  @abstract Boolean variable that states whether the operation should continue if the certificate is invalid.
 *  @property shouldContinueWithInvalidCertificate
 *
 *  @discussion
 *  If you set this property to YES, the operation will continue as if the certificate was valid (if you use Server Trust Auth)
 *  The default value is NO. MKNetworkKit will not run an operation with a server that is not trusted.
 */
于 2013-03-04T23:44:32.967 に答える