Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private String assinaCancelametoInutilizacao(String xml,
- String certificado, String senha, String tagCancInut)
- throws Exception {
- Document document = documentFactory(xml);
- XMLSignatureFactory signatureFactory = XMLSignatureFactory
- .getInstance("DOM");
- ArrayList<Transform> transformList = signatureFactory(signatureFactory);
- loadCertificates(certificado, senha, signatureFactory);
- NodeList elements = document.getElementsByTagName(tagCancInut);
- org.w3c.dom.Element el = (org.w3c.dom.Element) elements.item(0);
- String id = el.getAttribute("Id");
- Reference ref = signatureFactory.newReference("#" + id,
- signatureFactory.newDigestMethod(DigestMethod.SHA1, null),
- transformList, null, null);
- SignedInfo si = signatureFactory.newSignedInfo(signatureFactory
- .newCanonicalizationMethod(CanonicalizationMethod.INCLUSIVE,
- (C14NMethodParameterSpec) null), signatureFactory
- .newSignatureMethod(SignatureMethod.RSA_SHA1, null),
- Collections.singletonList(ref));
- XMLSignature signature = signatureFactory.newXMLSignature(si, keyInfo);
- DOMSignContext dsc = new DOMSignContext(privateKey, document.getFirstChild());
- signature.sign(dsc);
- return outputXML(document);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement