List of usage examples for javax.xml.crypto.dsig Transform XPATH2
String XPATH2
To view the source code for javax.xml.crypto.dsig Transform XPATH2.
Click Source Link
From source file:org.apache.jcp.xml.dsig.internal.dom.DOMXMLSignature.java
private void digestReference(DOMReference ref, XMLSignContext signContext) throws XMLSignatureException { if (ref.isDigested()) { return;//from ww w .j a v a2 s . co m } // check dependencies String uri = ref.getURI(); if (Utils.sameDocumentURI(uri)) { String id = Utils.parseIdFromSameDocumentURI(uri); if (id != null && signatureIdMap.containsKey(id)) { XMLStructure xs = signatureIdMap.get(id); if (xs instanceof DOMReference) { digestReference((DOMReference) xs, signContext); } else if (xs instanceof Manifest) { Manifest man = (Manifest) xs; List manRefs = man.getReferences(); for (int i = 0, size = manRefs.size(); i < size; i++) { digestReference((DOMReference) manRefs.get(i), signContext); } } } // if uri="" and there are XPath Transforms, there may be // reference dependencies in the XPath Transform - so be on // the safe side, and skip and do at end in the final sweep if (uri.length() == 0) { @SuppressWarnings("unchecked") List<Transform> transforms = ref.getTransforms(); for (Transform transform : transforms) { String transformAlg = transform.getAlgorithm(); if (transformAlg.equals(Transform.XPATH) || transformAlg.equals(Transform.XPATH2)) { return; } } } } ref.digest(signContext); }