/** * This method adds references to the Signature. * * @param references The list of references to sign * @param secHeader The Security Header * @throws WSSecurityException */ public List<javax.xml.crypto.dsig.Reference> addReferencesToSign( List<WSEncryptionPart> references, WSSecHeader secHeader ) throws WSSecurityException { return addReferencesToSign( document, references, wsDocInfo, signatureFactory, secHeader, getWsConfig(), digestAlgo ); }
/** * Compute the Signature over the references. * * After references are set this method computes the Signature for them. * This method can be called any time after the references were set. See * <code>addReferencesToSign()</code>. * * @throws WSSecurityException */ public void computeSignature( List<javax.xml.crypto.dsig.Reference> referenceList ) throws WSSecurityException { computeSignature(referenceList, true, null); }
public WSSecDKSign(WSSConfig config) { super(config); init(); }
WSSecDKSign dkSig = new WSSecDKSign(); dkSig.setWsConfig(rmd.getConfig()); dkSig.setSigCanonicalization(rpd.getAlgorithmSuite().getInclusiveC14n()); dkSig.setSignatureAlgorithm(rpd.getAlgorithmSuite().getSymmetricSignature()); dkSig.setDerivedKeyLength(rpd.getAlgorithmSuite().getSignatureDerivedKeyLength()/8); dkSig.setExternalKey(encrKey.getEphemeralKey(), encrKey.getId()); dkSig.prepare(doc, rmd.getSecHeader()); dkSig.setParts(sigParts); = dkSig.addReferencesToSign(sigParts, rmd.getSecHeader()); dkSig.appendDKElementToHeader(rmd.getSecHeader()); dkSig.computeSignature(referenceList, false, null); return dkSig.getSignatureValue();
WSSecDKSign dkSign = new WSSecDKSign(); dkSign.setExternalKey(this.encryptedKeyValue, this.encryptedKeyId); dkSign.setSignatureAlgorithm(rpd.getAlgorithmSuite() .getSymmetricSignature()); dkSign.setDerivedKeyLength(rpd.getAlgorithmSuite() .getSignatureDerivedKeyLength() / 8); dkSign.setCustomValueType(WSConstants.SOAPMESSAGE_NS11 + "#" + WSConstants.ENC_KEY_VALUE_TYPE); try { dkSign.prepare(doc, rmd.getSecHeader()); dkSign.setParts(sigParts); = dkSign.addReferencesToSign(sigParts, rmd.getSecHeader()); this.getInsertionLocation(), dkSign.getdktElement()); this.setInsertionLocation(this.sigDKTElement); dkSign.computeSignature(referenceList, false, this.getInsertionLocation()); } else { this.sigDKTElement = RampartUtil.insertSiblingBefore(rmd, refList, dkSign.getdktElement()); this.setInsertionLocation(this.sigDKTElement); dkSign.computeSignature(referenceList, true, this.getInsertionLocation()); this.setInsertionLocation(dkSign.getSignatureElement()); } else {
public Document build(Document doc, WSSecHeader secHeader) throws WSSecurityException, ConversationException { prepare(doc, secHeader); String soapNamespace = WSSecurityUtil.getSOAPNamespace(doc.getDocumentElement()); if (parts == null) { addReferencesToSign(parts, secHeader); computeSignature(referenceList); prependDKElementToHeader(secHeader);
if (getWsConfig().isWsiBSPCompliant() && canonAlgo.equals(WSConstants.C14N_EXCL_OMIT_COMMENTS)) { List<String> prefixes = getInclusivePrefixes(secHeader.getSecurityHeader(), false); c14nSpec = new ExcC14NParameterSpec(prefixes); keyInfoUri = getWsConfig().getIdAllocator().createSecureId("KI-", keyInfo); strUri = getWsConfig().getIdAllocator().createSecureId("STR-", secRef); secRef.setID(strUri); ref.setURI("#" + dktId); String ns = ConversationConstants.getWSCNs(getWscVersion()) + ConversationConstants.TOKEN_TYPE_DERIVED_KEY_TOKEN; ref.setValueType(ns);
keyInfo, null, getWsConfig().getIdAllocator().createId("SIG-", null), null);
WSSecDKSign dkSign = new WSSecDKSign(); dkSign.setExternalKey(tok.getSecret(), (Element) doc.importNode((Element) ref, true)); } else { dkSign.setExternalKey(tok.getSecret(), tok.getId()); dkSign.setSignatureAlgorithm(algorithmSuite.getSymmetricSignature()); dkSign.setDerivedKeyLength(algorithmSuite.getSignatureDerivedKeyLength()); dkSign.prepare(doc); dkSign.appendDKElementToHeader(rmd.getSecHeader()); dkSign.setParts(sigParts); = dkSign.addReferencesToSign(sigParts, rmd.getSecHeader()); dkSign.computeSignature(referenceList, false, null); return dkSign.getSignatureValue();
if(policyToken.isDerivedKeys()) { try { WSSecDKSign dkSign = new WSSecDKSign(); dkSign.setWscVersion(ConversationConstants.VERSION_05_12); dkSign.setExternalKey(tok.getSecret(), (Element) doc.importNode((Element) ref, true)); } else if (!rmd.isInitiator() && policyToken.isDerivedKeys()) { dkSign.setExternalKey(tok.getSecret(), tokenRef.getElement()); dkSign.setExternalKey(tok.getSecret(), tok.getId()); dkSign.setSignatureAlgorithm(algorithmSuite.getSymmetricSignature()); dkSign.setDerivedKeyLength(algorithmSuite.getSignatureDerivedKeyLength()/8); dkSign.setCustomValueType(WSConstants.SOAPMESSAGE_NS11 + "#" + WSConstants.ENC_KEY_VALUE_TYPE); dkSign.prepare(doc, rmd.getSecHeader()); dkSign.setParts(sigParts); = dkSign.addReferencesToSign(sigParts, rmd.getSecHeader()); RampartUtil.insertSiblingBefore(rmd, this.mainRefListElement, dkSign.getdktElement()); dkSign.computeSignature(referenceList, true, dkSign.getdktElement());
public Document build(Document doc, WSSecHeader secHeader) throws WSSecurityException, ConversationException { prepare(doc, secHeader); String soapNamespace = WSSecurityUtil.getSOAPNamespace(doc.getDocumentElement()); if (parts == null) { addReferencesToSign(parts, secHeader); computeSignature(referenceList); prependDKElementToHeader(secHeader);
if (getWsConfig().isWsiBSPCompliant() && canonAlgo.equals(WSConstants.C14N_EXCL_OMIT_COMMENTS)) { List<String> prefixes = getInclusivePrefixes(secHeader.getSecurityHeader(), false); c14nSpec = new ExcC14NParameterSpec(prefixes); keyInfoUri = getWsConfig().getIdAllocator().createSecureId("KI-", keyInfo); strUri = getWsConfig().getIdAllocator().createSecureId("STR-", secRef); secRef.setID(strUri); ref.setURI("#" + dktId); String ns = ConversationConstants.getWSCNs(getWscVersion()) + ConversationConstants.TOKEN_TYPE_DERIVED_KEY_TOKEN; ref.setValueType(ns);
keyInfo, null, getWsConfig().getIdAllocator().createId("SIG-", null), null);
WSSecDKSign dkSign = new WSSecDKSign(); dkSign.setExternalKey(tok.getSecret(), (Element) doc.importNode((Element) ref, true)); } else { dkSign.setExternalKey(tok.getSecret(), tok.getId()); dkSign.setSignatureAlgorithm(algorithmSuite.getSymmetricSignature()); dkSign.setDerivedKeyLength(algorithmSuite.getSignatureDerivedKeyLength()); dkSign.prepare(doc); dkSign.appendDKElementToHeader(rmd.getSecHeader()); dkSign.setParts(sigParts); = dkSign.addReferencesToSign(sigParts, rmd.getSecHeader()); dkSign.computeSignature(referenceList, false, null); return dkSign.getSignatureValue();
/** * This method adds references to the Signature. * * @param references The list of references to sign * @param secHeader The Security Header * @throws WSSecurityException */ public List<javax.xml.crypto.dsig.Reference> addReferencesToSign( List<WSEncryptionPart> references, WSSecHeader secHeader ) throws WSSecurityException { return addReferencesToSign( document, references, wsDocInfo, signatureFactory, secHeader, getWsConfig(), digestAlgo ); }
/** * Compute the Signature over the references. * * After references are set this method computes the Signature for them. * This method can be called any time after the references were set. See * <code>addReferencesToSign()</code>. * * @throws WSSecurityException */ public void computeSignature( List<javax.xml.crypto.dsig.Reference> referenceList ) throws WSSecurityException { computeSignature(referenceList, true, null); }
public WSSecDKSign() { super(); init(); }
public WSSecDKSign() { super(); init(); }
public WSSecDKSign(WSSConfig config) { super(config); init(); }