・環境
OS:Windows2016
Apache Tomcat/7.0.85
tomcatを使用したWebサイトを構築しておりますが、クライアント証明書要求を有効に
させる設定がうまくいかず、構築に難航しております。
クライアント証明書設定が無効【clientAuth="false"】状態だと接続できるのですが、
有効状態にして接続すると
『このページに安全に接続できません
サイトで古いか安全でない TLS セキュリティ設定が使用されている可能性があります。
この問題が解決しない場合は、Web サイトの所有者に連絡してください。』
が表示され、接続に失敗しております。
※本来はクライアント証明書の選択画面が表示するはずですが、それも表示されません
設定した手順は以下となります。
1.鍵ストアと鍵ペアの生成
keytool -genkey -alias Alias名 -keyalg RSA -keysize 2048 -ext EKU=serverAuth,clientAuth -keystore キーストアファイル
2.CSRを生成し、サーバ証明書を発行
keytool -certreq -sigalg SHA256withRSA -alias tomcat -file CSRファイル -keystore キーストアファイル
3.発行されたサーバ証明書とルート証明書を連結し、インストール
keytool -import -alias Alias名 -file 連結したファイル.cer -keystore キーストアファイル
4.【server.xml】を編集し、クライアント証明書を有効化
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="true" sslProtocol="TLS"
keystoreFile="キーストアファイル"
keystorePass="パスワード"
keyAlias="Alias名"
truststoreFile="キーストアファイル"
truststorePass="パスワード"
sslEnabledProtocols="TLS"
/>
5.【web.xml】を編集し、アプリ側にクライアント証明書要求を設定
<login-config>
<auth-method>CLIENT-CERT</auth-method>
</login-config>
6.tomcatのJavaOptionに以下を追加
-Djavax.net.ssl.keyStore=キーストアファイル
-Djavax.net.ssl.keyStorePassword=パスワード
-Djavax.net.ssl.trustStore=キーストアファイル
-Djavax.net.ssl.trustStorePassword=パスワード
7.tomcatを再起動
となります。
設定に何か問題があると思われるのですが、どこが原因なのかが掴めない状況
となっております。
このような現象の場合の原因や対応方法について、何か情報がありましたら
教えていただけるようお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/06 05:17
2018/09/06 05:48
2018/09/06 07:33
2018/09/06 10:30