saml.setIssuerKeyPassword("security");
saml.setSignAssertion(true);
saml.setCallbackHandler(callbackHandler);
AssertionWrapper assertion = saml.newAssertion();
WSSecSignatureSAML wsSign = new WSSecSignatureSAML();
wsSign.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);
wsSign.setUserInfo("wss40", "security");
Document doc = SOAPUtil.toSOAPPart(SOAPMSG);
WSSecHeader secHeader = new WSSecHeader();
secHeader.insertSecurityHeader(doc);
List<WSEncryptionPart> parts = new ArrayList<WSEncryptionPart>();
WSEncryptionPart encP =
new WSEncryptionPart("STRTransform", "", "Element");
parts.add(encP);
wsSign.setParts(parts);
//
// set up for keyHolder
//
Document signedDoc = wsSign.build(doc, userCrypto, assertion, null, null, null, secHeader);
if (LOG.isDebugEnabled()) {
LOG.debug("Signed SAML message (key holder):");
String outputString =
org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(signedDoc);