private void extractConfig(final Document doc, final XMLSignature xmlSignature) throws XPathExpressionException { if (!signatureConfig.isUpdateConfigOnValidate()) { return; } signatureConfig.setSigningCertificateChain(certChain); signatureConfig.setSignatureMethodFromUri(xmlSignature.getSignedInfo().getSignatureMethod().getAlgorithm()); final XPath xpath = XPathFactory.newInstance().newXPath(); xpath.setNamespaceContext(new XPathNSContext()); final Map<String,Consumer<String>> m = new HashMap(); m.put("//mdssi:SignatureTime/mdssi:Value", signatureConfig::setExecutionTime); m.put("//xd:ClaimedRole", signatureConfig::setXadesRole); m.put("//dsss:SignatureComments", signatureConfig::setSignatureDescription); m.put("//xd:QualifyingProperties//xd:SignedSignatureProperties//ds:DigestMethod/@Algorithm", signatureConfig::setXadesDigestAlgo); m.put("//ds:CanonicalizationMethod", signatureConfig::setCanonicalizationMethod); for (Map.Entry<String,Consumer<String>> me : m.entrySet()) { String val = (String)xpath.compile(me.getKey()).evaluate(doc, XPathConstants.STRING); me.getValue().accept(val); } }
private void extractConfig(final Document doc, final XMLSignature xmlSignature) throws XPathExpressionException { if (!signatureConfig.isUpdateConfigOnValidate()) { return; } signatureConfig.setSigningCertificateChain(certChain); signatureConfig.setSignatureMethodFromUri(xmlSignature.getSignedInfo().getSignatureMethod().getAlgorithm()); final XPath xpath = XPathFactory.newInstance().newXPath(); xpath.setNamespaceContext(new XPathNSContext()); final Map<String,Consumer<String>> m = new HashMap(); m.put("//mdssi:SignatureTime/mdssi:Value", signatureConfig::setExecutionTime); m.put("//xd:ClaimedRole", signatureConfig::setXadesRole); m.put("//dsss:SignatureComments", signatureConfig::setSignatureDescription); m.put("//xd:QualifyingProperties//xd:SignedSignatureProperties//ds:DigestMethod/@Algorithm", signatureConfig::setXadesDigestAlgo); m.put("//ds:CanonicalizationMethod", signatureConfig::setCanonicalizationMethod); for (Map.Entry<String,Consumer<String>> me : m.entrySet()) { String val = (String)xpath.compile(me.getKey()).evaluate(doc, XPathConstants.STRING); me.getValue().accept(val); } }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof SignatureMethod)) { return false; } SignatureMethod osm = (SignatureMethod)o; return getAlgorithm().equals(osm.getAlgorithm()) && paramsEqual(osm.getParameterSpec()); }
if ( pk == null || !algEquals ( sm.getAlgorithm (), pk.getAlgorithm () ) )
if ( pk == null || !algEquals ( sm.getAlgorithm (), pk.getAlgorithm () ) )
if (algEquals(sm.getAlgorithm(), pk.getAlgorithm())) if (algEquals(sm.getAlgorithm(), pk.getAlgorithm()))
public KeySelectorResult select(KeyInfo keyInfo, KeySelector.Purpose purpose, AlgorithmMethod method, XMLCryptoContext context) throws KeySelectorException { if (keyInfo == null) throw new KeySelectorException("Null KeyInfo model!"); SignatureMethod signMethod = (SignatureMethod) method; List list = keyInfo.getContent(); for (int i = 0; i < list.size(); i++) { XMLStructure xmlStructure = (XMLStructure) list.get(i); if (xmlStructure instanceof KeyValue) { PublicKey pk = null; try { pk = ((KeyValue)xmlStructure).getPublicKey(); } catch (KeyException ke) { throw new KeySelectorException(ke); } // Check if algorithm is compatible with Signature method if (algEquals(signMethod.getAlgorithm(), pk.getAlgorithm())) return new KeySelectorResultImpl(pk); } } throw new KeySelectorException("No KeyValue element found!"); }
final String sa = sm.getAlgorithm(); final String ka = pk.getAlgorithm(); if("DSA".equalsIgnoreCase(ka) && "http://www.w3.org/2000/09/xmldsig#dsa-sha1".equals(sa) ||
String signatureMethodAlgorithm = signatureMethod.getAlgorithm(); if (secVal && (ALGO_ID_MAC_HMAC_NOT_RECOMMENDED_MD5.equals(signatureMethodAlgorithm) || ALGO_ID_SIGNATURE_NOT_RECOMMENDED_RSA_MD5.equals(signatureMethodAlgorithm))) {
final String sa = sm.getAlgorithm(); final String ka = pk.getAlgorithm(); if("DSA".equalsIgnoreCase(ka) && "http://www.w3.org/2000/09/xmldsig#dsa-sha1".equals(sa) ||
public KeySelectorResult select(KeyInfo keyInfo, KeySelector.Purpose purpose, AlgorithmMethod method, XMLCryptoContext context) throws KeySelectorException { if (keyInfo == null) { throw new KeySelectorException("Null KeyInfo object!"); } SignatureMethod sm = (SignatureMethod) method; List list = keyInfo.getContent(); for (int i = 0; i < list.size(); i++) { XMLStructure xmlStructure = (XMLStructure) list.get(i); if (xmlStructure instanceof KeyValue) { PublicKey pk = null; try { pk = ((KeyValue) xmlStructure).getPublicKey(); } catch (KeyException ke) { throw new KeySelectorException(ke); } // make sure algorithm is compatible with method if (algEquals(sm.getAlgorithm(), pk.getAlgorithm())) { return new SimpleKeySelectorResult(pk); } } } throw new KeySelectorException("No KeyValue element found!"); }
if (pk!=null && algEquals(sm.getAlgorithm(), pk.getAlgorithm())) { return new SimpleKeySelectorResult (pk);
ref.setWsuId(uri); ref.setProtectedElement(se); ref.setAlgorithm(signedInfo.getSignatureMethod().getAlgorithm()); ref.setDigestAlgorithm(siRef.getDigestMethod().getAlgorithm());
ref.setWsuId(uri); ref.setProtectedElement(se); ref.setAlgorithm(signedInfo.getSignatureMethod().getAlgorithm()); ref.setDigestAlgorithm(siRef.getDigestMethod().getAlgorithm());
xmlSignature.getSignedInfo().getSignatureMethod().getAlgorithm(); checkSignatureMethod(signatureMethod);
xmlSignature.getSignedInfo().getSignatureMethod().getAlgorithm(); checkSignatureMethod(signatureMethod);
xmlSignature.getSignedInfo().getSignatureMethod().getAlgorithm(); checkSignatureMethod(signatureMethod);
xmlSignature.getSignedInfo().getSignatureMethod().getAlgorithm();
xmlSignature.getSignedInfo().getSignatureMethod().getAlgorithm();
xmlSignature.getSignedInfo().getSignatureMethod().getAlgorithm();