KeyStore ks = KeyStore.getInstance("PKCS12");
FileInputStream fis = new FileInputStream("/path/to/file.p12");
ks.load(fis, "password".toCharArray());
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
kmf.init(ks, "password".toCharArray());
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(kmf.getKeyManagers(), null, null);
Этот код отлично работает. Но есть ли возможность использовать keystore.jks для этого случая? Например, я импортировал файл.p12 в keystore.jks, используя инструмент pkcs12import с некоторым псевдонимом. Затем я использую System.setProperty («javax.net.ssl.keyStore», «C: /Sun/SDK/jdk/jre/lib/security/keystore.jks»); а не писать путь сертификата и пароль в Java коде и принять от keystore.jks файлЗапросить URL-адрес, подтверждающий подлинность сертификата клиента
Вы также может указать системное свойство для типа хранилища, поэтому вам не нужно импортировать в JKS. – erickson
Возможный дубликат [java - путь к trustStore - свойство set не работает?] (Http://stackoverflow.com/questions/2138574/java-path-to-truststore-set-property-doesnt-work) – Marged
Для системного имущества Я использую keystore.jks, где я импортировал много сертификатов, поэтому я не могу его использовать. –