2015-02-06 3 views
0

Я пришел, чтобы подписать XML-файл с XAdES4j, но при его проверке я всегда получаю «узел подписи не указан». По-видимому, signatureParent - null! Как это исправить?XADES4j - ошибка проверки подписи XML - узел подписи не указан

Вот мой код:

FileSystemDirectoryCertStore certStore = new FileSystemDirectoryCertStore("."); 
KeyStore trustAnchors = createAndLoadJKSKeyStore(".\\myStore", "mystorepass"); 
CertificateValidationProvider certValidator = new PKIXCertificateValidationProvider(trustAnchors, false, certStore.getStore()); 

XadesVerificationProfile p = new XadesVerificationProfile(certValidator); 
XadesVerifier v = p.newVerifier(); 

Document sourceDoc = Signapp.getDocument(".\\TEST.XML.FILE.xml"); 

Element signatureParent = (Element)sourceDoc.getElementsByTagNameNS(Constants.SignatureSpecNS, Constants._TAG_SIGNATURE).item(0);; 
XAdESVerificationResult r = v.verify(signatureParent,null); 
+0

Как вы получаете документ? Является ли набор DocumentBuilderFactory доступным для пространства имен? http://docs.oracle.com/javase/7/docs/api/javax/xml/parsers/DocumentBuilderFactory.html#setNamespaceAware(boolean) – lgoncalves

+0

привет, я отправил свой метод getDocument в качестве ответа ... не могли бы вы мне помочь. – Louay

ответ

0

вот мой метод GetDocument:

 File fXmlFile = new File(path); 
     DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 
     Document doc = dBuilder.parse(fXmlFile); 
     doc.getDocumentElement().normalize(); 
     return doc;