事象
URLに対してcurlコマンドを発行した際に
$ curl https://test-output.hoge.jp
以下のエラーとなる
curl: (35) schannel: SNI or certificate check failed: SEC_E_WRONG_PRINCIPAL (0x80090322) - 対象のプリンシパル名が間違っています。
環境情報
- ingress:0.35.0_474_iks/ingress-auth
- curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL
解決策
--insecure
オプションを利用する。
以下、補足です。
補足
詳細メッセージを確認すると以下です。
$ curl -v https://test-output.hoge.jp * Trying xx... * TCP_NODELAY set * Connected to test-output.hoge.jp (xx) port 443 (#0) * schannel: SSL/TLS connection with test-output.hoge.jp port 443 (step 1/3) * schannel: checking server certificate revocation * schannel: sending initial handshake data: sending 194 bytes... * schannel: sent initial handshake data: sent 194 bytes * schannel: SSL/TLS connection with test-output.hoge.jp port 443 (step 2/3) * schannel: failed to receive handshake, need more data * schannel: SSL/TLS connection with test-output.hoge.jp port 443 (step 2/3) * schannel: encrypted data got 3191 * schannel: encrypted data buffer: offset 3191 length 4096 * schannel: SNI or certificate check failed: SEC_E_WRONG_PRINCIPAL (0x80090322) - 対象のプリンシパル名が間違っています。 * Closing connection 0 * schannel: shutting down SSL/TLS connection with test-output.hoge.jp port 443 * schannel: clear security context handle curl: (35) schannel: SNI or certificate check failed: SEC_E_WRONG_PRINCIPAL (0x80090322) - 対象のプリンシパル名が間違っています。
この「curl: (35) schannel」というメッセージは後続に他のエラーメッセージが出てくる際にも見られますが
curl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092013) - 失効サーバーがオフラインのため、失効の関数は失効を確認で きませんでした。
解決策に記載したオプションを利用すれば表示されません。
このオプションではマニュアルでいうところの以下にあたって
k, insecure Allow insecure server connections when using SSL
SSL通信における証明書に記載のあるホスト名と指定したドメインに差異がある場合のエラーを無視することができます。
以上、ご参考になれば幸いです。