List<Reference> signedInfoReferences = signedInfo.getReferences(); for (Reference signedInfoReference : signedInfoReferences) { DOMReference domReference = (DOMReference)signedInfoReference;
@SuppressWarnings("unchecked") public static List<Reference> getSignedInfoReferences(SignedInfo si) { return si.getReferences(); }
@SuppressWarnings("unchecked") public static String findReferenceUri(XMLSignature xmlSignature, String type) { SignedInfo signedInfo = xmlSignature.getSignedInfo(); List<Reference> references = signedInfo.getReferences(); for (Reference reference : references) { if (type.equals(reference.getType())) { return reference.getURI(); } } return null; }
private void checkIntegrity(XMLSignature xmlSignature, byte[] document, byte[] originalDocument) throws IOException { if (null != originalDocument) { throw new IllegalArgumentException( "cannot perform original document verifications"); } Set<String> dsReferenceUris = new HashSet<String>(); SignedInfo signedInfo = xmlSignature.getSignedInfo(); @SuppressWarnings("unchecked") List<Reference> references = signedInfo.getReferences(); for (Reference reference : references) { String referenceUri = reference.getURI(); dsReferenceUris.add(referenceUri); } ZipInputStream odfZipInputStream = new ZipInputStream( new ByteArrayInputStream(document)); ZipEntry zipEntry; while (null != (zipEntry = odfZipInputStream.getNextEntry())) { if (false == ODFUtil.isToBeSigned(zipEntry)) { continue; } String uri = zipEntry.getName().replaceAll(" ", "%20"); if (false == dsReferenceUris.contains(uri)) { LOG.warn("no ds:Reference for ODF entry: " + zipEntry.getName()); throw new RuntimeException("no ds:Reference for ODF entry: " + zipEntry.getName()); } } } }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof SignedInfo)) { return false; } SignedInfo osi = (SignedInfo)o; boolean idEqual = id == null ? osi.getId() == null : id.equals(osi.getId()); return canonicalizationMethod.equals(osi.getCanonicalizationMethod()) && signatureMethod.equals(osi.getSignatureMethod()) && references.equals(osi.getReferences()) && idEqual; }
System.out.println("signature validation status: " + sv); Iterator i = signature.getSignedInfo().getReferences().iterator(); for (int j=0; i.hasNext(); j++) { boolean refValid =
/** {@inheritDoc} */ @Override protected boolean doExecute(@Nonnull final Item<Element> item) throws StageProcessingException { Element element = item.unwrap(); XMLSignature signature = xmlSigFactory.newXMLSignature(buildSignedInfo(element), buildKeyInfo()); try { XMLSignContext context = new DOMSignContext(privKey, element, element.getFirstChild()); // Enable caching reference values if required for debugging. if (isDebugPreDigest() && log.isDebugEnabled()) { context.setProperty("javax.xml.crypto.dsig.cacheReference", Boolean.TRUE); } // Perform the signature operation signature.sign(context); // Log the pre-digest data for debugging if (isDebugPreDigest() && log.isDebugEnabled()) { Reference ref = (Reference) signature.getSignedInfo().getReferences().get(0); String preDigest = CharStreams.toString(new InputStreamReader(ref.getDigestInputStream(), "UTF-8")); log.debug("pre digest: {}", preDigest); } } catch (Exception e) { log.error("Unable to create signature for element", e); throw new StageProcessingException("Unable to create signature for element", e); } return true; }
log.trace("Signature validation status: " + sv); List<Reference> references = signature.getSignedInfo().getReferences(); for (Reference ref : references)
log.trace("Signature validation status: " + sv); List<Reference> references = signature.getSignedInfo().getReferences(); for (Reference ref : references)
) throws WSSecurityException { java.util.Iterator<?> referenceIterator = xmlSignature.getSignedInfo().getReferences().iterator(); CallbackLookup callbackLookup = wsDocInfo.getCallbackLookup(); if (callbackLookup == null) {
) throws WSSecurityException { java.util.Iterator<?> referenceIterator = xmlSignature.getSignedInfo().getReferences().iterator(); CallbackLookup callbackLookup = wsDocInfo.getCallbackLookup(); if (callbackLookup == null) {
Iterator<Reference> i = signature.getSignedInfo().getReferences().iterator(); for (int j=0; i.hasNext(); j++)
checkC14nAlgorithm(c14nMethod); for (Object refObject : xmlSignature.getSignedInfo().getReferences()) { Reference reference = (Reference)refObject;
logger.trace("Signature validation status: " + sv); List<Reference> references = signature.getSignedInfo().getReferences(); for (Reference ref : references) { logger.trace("[Ref id=" + ref.getId() + ":uri=" + ref.getURI() + "]validity status:" + ref.validate(valContext));
xmlSignature.getSignedInfo().getSignatureMethod().getAlgorithm(); for (Object refObject : xmlSignature.getSignedInfo().getReferences()) { Reference reference = (Reference)refObject;
logger.trace("Signature validation status: " + sv); List<Reference> references = signature.getSignedInfo().getReferences(); for (Reference ref : references) { logger.trace("[Ref id=" + ref.getId() + ":uri=" + ref.getURI() + "]validity status:" + ref.validate(valContext));
logger.trace("Signature validation status: " + sv); List<Reference> references = signature.getSignedInfo().getReferences(); for (Reference ref : references) { logger.trace("[Ref id=" + ref.getId() + ":uri=" + ref.getURI() + "]validity status:" + ref.validate(valContext));
xmlSignature.getSignedInfo().getSignatureMethod().getAlgorithm(); for (Object refObject : xmlSignature.getSignedInfo().getReferences()) { Reference reference = (Reference)refObject;
xmlSignature.getSignedInfo().getSignatureMethod().getAlgorithm(); for (Object refObject : xmlSignature.getSignedInfo().getReferences()) { Reference reference = (Reference)refObject;
public void constructSignaturePolicy(SignedInfo signedInfo, boolean isBSP,SignaturePolicy policy){ List referencesList = signedInfo.getReferences(); //SignatureMethod sm = signedInfo.getSignatureMethod(); CanonicalizationMethod cm = signedInfo.getCanonicalizationMethod(); policy.isBSP(isBSP); SignaturePolicy.FeatureBinding featureBinding = (SignaturePolicy.FeatureBinding )policy.getFeatureBinding(); featureBinding.setCanonicalizationAlgorithm(cm.getAlgorithm()); Iterator itr = referencesList.iterator(); while(itr.hasNext()){ Reference ref = (Reference) itr.next(); SignatureTarget.Transform transform = getSignatureTransform(ref); SignatureTarget target = new SignatureTarget(); target.isBSP(isBSP); if(transform != null){ target.addTransform(transform); } target.setDigestAlgorithm(ref.getDigestMethod().getAlgorithm()); if(ref.getURI().length() >0){ target.setValue(SecurableSoapMessage.getIdFromFragmentRef(ref.getURI())); }else{ target.setValue(ref.getURI()); } target.setType(SignatureTarget.TARGET_TYPE_VALUE_URI); featureBinding.addTargetBinding(target); } }