Apache/Tomcatで実行している自分のWebサーバー内からWebサービス呼び出しを実行する必要があります。 Linuxで実行されているApache/Tomcatは、SSLに内部認証局(CA)を使用するHTTPS経由でIISを実行しているMicrosoftサーバーを呼び出す必要があります。
Apache/TomcatがこのCAからの適切なルート証明書を信頼するようにするにはどうすればよいですか?
また、この信頼が機能していることをどのようにテストしますか? Apache/Tomcatをホストしているサーバーからのブラウザ要求では不十分だと思います。
すでにCA証明書を「internal-ca.pem」などのファイルにエクスポートしていると思います。また、IISサーバーへのSSL接続を開始するのはTomcatであると想定しています。
君は できる Java keytoolを使用して、Tomcatエンジンで使用されているJavaキーストアに証明書をインポートする必要があります。CA証明書のキーストアは$ Java_HOME/jreです。/lib/security/cacerts。新しいinternal-ca.pem証明書をこのキーストアにインポートするには、次を使用します。
$Java_HOME/bin/keytool -importcert \
-keystore $Java_HOME/jre/lib/security/cacerts \
-file /path/to/internal-ca.pem \
-trustcacerts -alias internal-ca-1
キーストアのデフォルトのパスワードは次のとおりです。changeit
証明書がキーストアにあることを確認します。
$Java_HOME/bin/keytool -list \
-keystore $Java_HOME/jre/lib/security/cacerts -v | less
サーバーへの接続をテストします。
openssl s_client -CAfile /path/to/internal-ca.pem -connect server:port
これにより、出力の終わり近くにあるはずです。
Verify return code: 0 (ok)
Tomcat内から信頼をテストする場合は、テストコードを記述して行う必要があります。申し訳ありませんが、Javaは知りません。 :-)
SSLProxyEngine on
SSLProxyCACertificateFile /etc/ssl/internal-ca.crt
SSLProxyVerify require