X509Certificate может быть создан только с использованием содержимого сертификата (файл .cer). Как создать экземпляр этого объекта с помощью файла .p12, который содержит как сертификат, так и закрытый ключ?
Как создать экземпляр объекта javax.security.X509Certficate из сертификата p12 (содержит сертификат + закрытый ключ)
Ответы (1)
Вот что вам нужно:
InputStream inStream = new FileInputStream("c:/certificate.p12");
KeyStore ks = KeyStore.getInstance("PKCS12");
ks.load(inStream, "password".toCharArray());
String alias = ks.aliases().nextElement();
certificate = (X509Certificate) ks.getCertificate(alias);
person
WellieeGee
schedule
10.11.2010
Это предполагает, что в хранилище ключей есть только один сертификат, в противном случае вам нужно будет указать псевдоним напрямую.
- person WellieeGee; 10.11.2010
Привет, Любая идея, как можно сделать это для Blackberry? Для Java в Blackberry класс KeyStore не имеет доступного метода getInstance(String). Я разместил отдельный вопрос для этого. stackoverflow.com/questions/13151134/
- person Gopalakrishnan Subramanian; 31.10.2012
Просто не забудьте использовать классы java.security.* вместо javax.security.*
- person Diego Plentz; 20.06.2014