SSL証明書が一致しない

SSL証明書が一致しないエラーのDSEトラブルシューティング。

SSL証明書を生成するために使用するコモン・ネーム(CN)は、DNSの解決可能なホスト名と一致している必要があります。CNとノード・ホスト名が一致していない場合、例外が生じ、接続は拒否されます。dsetoolやその他のクラスターにコマンドを発行するツールの場合、エラー・メッセージが出ることは、環境が正しく構成されていないことが原因です。例を次に示します。
dsetool -h 10.236.136.55 reload_core keyspace_name.table_name deleteAll=true reindex=true distributed=false
...
javax.net.ssl.SSLException: Certificate for <node35.foo.com> doesn't match any of the subject alternative names: clustercert.foo.com
...

このメッセージは、10.236.136.55node35.foo.comに解決され、ノードnode35.foo.comに対して、clustercert.foo.comというCNで発行された汎用証明書が要求されています。 セキュリティ上の理由から、SSLはnode35.foo.comclustercert.foo.comが一致することを確認します。一致しない場合は、証明書の不一致エラーが発生します。各ノードには、それぞれ異なる名前が付けられているため、複数のノードにまたがって汎用証明書を使用しないでください。node35.foo.comに発行されている証明書を別のノードにコピーしないでください。

ノードは、証明書CNと一致する正しい名前で構成する必要があります。名前付き証明書、または、SSL規格で許可されているその他のマッチング機構では、CN = *.foo.com*のように、ワイルドカードを使用することができます。名前が一致しない他のすべての構成は、エラーになります。

他のツールとの接続をテストするときは、それらをセキュアな設定で有効にしてください。名前の一致を必要としない、セキュアでない設定ではテストしないでください。たとえば、curl --insecureです。これらのセキュアでない設定では、証明書の不一致が識別されず、DSEツールでサポートされません。