SAMLCallback samlCallback = new SAMLCallback();
SAMLUtil.doSAMLCallback(callbackHandler, samlCallback);
SamlAssertionWrapper samlAssertion = new SamlAssertionWrapper(samlCallback);
Crypto issuerCrypto = CryptoFactory.getInstance("saml/samlissuer.properties");
samlAssertion.signAssertion("samlissuer", "default", issuerCrypto, false);
WSSecSignatureSAML wsSign = new WSSecSignatureSAML();
wsSign.setUserInfo("transmitter", "default");
wsSign.setUseDirectReferenceToAssertion(true);
wsSign.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);