1
証明書を必要とするWebサイトを開く統合Webブラウザを持つJavaFxに.netアプリケーションを移植しようとしています。 Windowsでは、提供された.pfxファイルとパスフレーズから証明書がインストールされました。 ブラウザがWebサイトを呼び出すと、ポップアップにインストールされている証明書が表示され、ユーザーが複数の証明書が存在し、Webサイトが開いている場合は正しい証明書が選択されます。 次のコードを使用して、証明書を使用して接続するWebサイトを開きます。JavaFX WebViewおよびクライアント証明書
private void Connect() throws NoSuchAlgorithmException, FileNotFoundException, KeyStoreException, IOException, CertificateException, UnrecoverableKeyException, KeyManagementException {
SSLContext ctx = SSLContext.getInstance("TLS");
KeyManager[] keyManagers;
KeyStore keyStore = KeyStore.getInstance("pkcs12");
FileInputStream keyStoreFile = new FileInputStream(new File("Certificate.pfx"));
String keyStorePassword = "password";
keyStore.load(keyStoreFile, keyStorePassword.toCharArray());
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(keyStore, keyStorePassword.toCharArray());
keyManagers = kmf.getKeyManagers();
ctx.init(keyManagers, null, new SecureRandom());
SSLSocketFactory sslSocketFactory = ctx.getSocketFactory();
URL url = new URL("https://example.com");
HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection();
urlConnection.setSSLSocketFactory(sslSocketFactory);
BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
in.close();
}
これをWebViewコントロールでどのように動作させることができますか?
ありがとうございました