2015-02-06 5 views
0

XAdES4j를 사용하여 XML 파일에 서명하려고했지만 서명 할 때 "서명 노드가 지정되지 않았습니다."라는 메시지가 나타납니다. 분명히 signatureParentnull입니다! 그것을 고치는 방법?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/javax/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;