2016-09-29 7 views
0
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-адрес, подтверждающий подлинность сертификата клиента

+0

Вы также может указать системное свойство для типа хранилища, поэтому вам не нужно импортировать в JKS. – erickson

+0

Возможный дубликат [java - путь к trustStore - свойство set не работает?] (Http://stackoverflow.com/questions/2138574/java-path-to-truststore-set-property-doesnt-work) – Marged

+0

Для системного имущества Я использую keystore.jks, где я импортировал много сертификатов, поэтому я не могу его использовать. –

ответ

0

Да, можно использовать JKS хранилище ключей для обработки сертификатов, пример этого можно найти here

 Смежные вопросы

  • Нет связанных вопросов^_^