2012-10-26 3 views
0

Я разрабатываю (java) приложение для проверки xml, которое необходимо подключить к хранилищу ключей Windows. На данный момент я застрял в следующем сообщении: CannotBuildCertificationPathExecption: Trust anchors Keystore не инициализируется.Как, с XAdES4j, доверять якорям к хранилищу ключей Windows?

Теперь я смог получить свой ключ из магазина, используя этот пример: http: //stackoverflow.com/questions/5476974/java-access-to-intermediate-cas-from-windows-keystores Что отлично работает , И дал мне надежду на использование XAdES4J.

код я использую следующее:

trustAnchors = KeyStore.getInstance("Windows-MY"); 
certValidator = new PKIXCertificateValidationProvider(trustAnchors, false); 
p = new XadesVerificationProfile(certValidator); 
v = p.newVerifier(); 

Element sigElem = (Element) signature.item(0); //Which contains the complete signature segment from the xml 

XAdESVerificationResult r; 
SignatureSpecificVerificationOptions options = new SignatureSpecificVerificationOptions().useBaseUri("http://www.ietf.org/rfc/"); 

r = v.verify(sigElem, options); 

Сертификат является x509. Метод шифрования XAdES-t.

Кто-нибудь знает, как получить надежное соединение с хранилищем ключей Windows? Есть ли информация о SignatureSpecificVerificationOptions. Я считаю, это действительно трудно понять руководство в контексте с фактическими параметрами, мне нужно использовать ..

ответ

0

Несмотря на то, что это хранилище ключей Wndows вам все еще нужно, чтобы загрузить его:

trustAnchors.load(null); 

PKIXCertificateValidationProvider не может этого сделать, потому что могут потребоваться параметры защиты.

Кроме того, вы можете использовать «Windows-ROOT» вместо «Windows-MY», чтобы получить доступ к доверенным сертификационным органам.

+0

Привет, Igon, ваш ответ очень помог. – user1389486

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