自己署名証明書を使用するサーバーを実装しています。証明書をクライアントに配布する最良の方法は何ですか? 証明書を Java キーストアにインポートして、クライアントをセットアップできました。しかし、すべてのクライアントが証明書を手動でインポートしないようにする方法はありますか? これはJavaクライアントによって自動的に実行できますか? JSSE リファレンスを調べましたが、これを行う方法がわかりませんでした。助けていただければ幸いです。
よろしく、サンパス。
自己署名証明書を使用するサーバーを実装しています。証明書をクライアントに配布する最良の方法は何ですか? 証明書を Java キーストアにインポートして、クライアントをセットアップできました。しかし、すべてのクライアントが証明書を手動でインポートしないようにする方法はありますか? これはJavaクライアントによって自動的に実行できますか? JSSE リファレンスを調べましたが、これを行う方法がわかりませんでした。助けていただければ幸いです。
よろしく、サンパス。
KeyStore
クラスをチェックしてください。これにより、Javaキーストアを操作できます。
コード例:
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(null, null); // Creates a new keystore
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("cert.cer")); // Or read from URL
CertificateFactory cf = CertificateFactory.getInstance("X.509");
Certificate cert = null;
if (bis.available() > 0) {
cert = cf.generateCertificate( bis );
ks.setCertificateEntry( "SGCert", cert );
}
ks.setCertificateEntry("SGCert", cert);
ks.store(new FileOutputStream("out.keystore"), "secret".toCharArray() );