クライアントのキーストアとして CAC カードを使用する 2way SSL で Java クライアントを実行しようとしています。クライアント プログラムに次のシステム プロパティを追加して機能させ、java.securityファイルを変更してpcks11プロバイダーを追加しました。
System.setProperty("javax.net.ssl.keyStoreType", "pkcs11");
System.setProperty("javax.net.debug", "ssl");
プログラムは正常に動作し、ハンドシェイクは正常に行われます。ただし、CAC カードに複数の信頼できる証明書がある場合、デフォルトの証明書が使用されます。クライアント認証を行うために使用する証明書を指定したいのですが (おそらくエイリアス名を指定して)、それを行うためのシステム プロパティが見つかりませんでした。
2way SSL がクライアント認証にエイリアス名を使用するように、エイリアス名をシステム プロパティとして指定するにはどうすればよいですか?
エイリアス名を指定する別の方法はありますか? たとえば、任意のブラウザーからサーバー URL にアクセスすると、証明書の選択プロンプトが表示され、選択した証明書で接続が確立されます。