6

OpenSSLのラッパーであるpyOpenSSLを使用しています。サーバーに接続しようとしているクライアントプログラムがあり、サーバーに繰り返しアクセスsslv3 alert bad certificateしていました。クライアントの時計が正しく設定されていないことが原因であることに気付くまで、問題を解決することはできませんでした. クライアントは、サーバーの証明書が「将来」の日付であると見なし、どういうわけかsslv3 alert bad certificateサーバー上で.

特定の証明書が失敗した理由について、より適切な説明を得る方法はありますか? この場合、時計が正しく設定されていないためにクライアント側で検証が失敗したと想定していますが、サーバー側のエラーは、不良な証明書が送信され、サーバー側で検証が失敗した場合と同じです。

4

2 に答える 2

3

残念ながら、問題の説明はかなり限られています。エラーは TLS アラートで送信されます。各アラートは、追加情報を含まない単なる数字であり、いくつかのアラートしか定義されていません。 http://en.wikipedia.org/wiki/Transport_Layer_Security#Alert_protocolを参照してください。たとえば、期限切れの証明書に関するアラートはありますが、まだ有効ではない証明書に関するアラートはありません。これはあなたの場合に必要です。したがって、クライアントが返信できるのは、証明書が正しくないということだけです。

于 2014-10-29T14:30:29.677 に答える