SSL_get_verify_result
関数 " "
について提示されたオープン SSL ドキュメントから
:
http://www.openssl.org/docs/ssl/SSL_get_verify_result.html /apps/verify.html
SSL ホストの不一致エラーが発生した場合、これらのエラーのうちどれが呼び出されるのでしょうか? つまり、証明書のホスト名とリクエストのホスト名が異なりますか?
また、実際に無視しても安全なエラーはどれですか?
SSL_get_verify_result
関数 " "
について提示されたオープン SSL ドキュメントから
:
http://www.openssl.org/docs/ssl/SSL_get_verify_result.html /apps/verify.html
SSL ホストの不一致エラーが発生した場合、これらのエラーのうちどれが呼び出されるのでしょうか? つまり、証明書のホスト名とリクエストのホスト名が異なりますか?
また、実際に無視しても安全なエラーはどれですか?
SSL_get_verify_resultは、ホスト名の不一致の検索を行いません。証明書に含まれる複数のCNとサブジェクト代替名(SAN)を考慮して、手動で行う必要があります。
複数のCNを処理するために使用できる関数は次のとおりです。
int lastpos = -1; lastpos = X509_NAME_get_index_by_NID(X509_get_subject_name(cert)、NID_commonName、lastpos); X509_NAME_get_entry(X509_get_subject_name(cert)、lastpos);
新しいlastposを使用してX509_NAME_get_index_by_NIDを再度呼び出すと、使用可能なCNがもうないことを示す-1が返されるまで、次のCNが得られます。
この関数は、を使用X509_NAME_ENTRY *
するように変換できるを提供します。char *
ASN1_STRING_to_UTF8
SANおよびCNに含まれるワイルドカードを必ず考慮してください。