Java源码示例:org.apache.ws.security.message.WSSecHeader

示例1
public SymmetricBindingHandler(WSSConfig config, 
                               SymmetricBinding binding,
                                SOAPMessage saaj,
                                WSSecHeader secHeader,
                                AssertionInfoMap aim,
                                SoapMessage message) {
    super(config, binding, saaj, secHeader, aim, message);
    this.sbinding = binding;
    tokenStore = getTokenStore();
    protectionOrder = binding.getProtectionOrder();
}
 
示例2
public AsymmetricBindingHandler(WSSConfig config,
                                AsymmetricBinding binding,
                                SOAPMessage saaj,
                                WSSecHeader secHeader,
                                AssertionInfoMap aim,
                                SoapMessage message) {
    super(config, binding, saaj, secHeader, aim, message);
    this.abinding = binding;
    protectionOrder = binding.getProtectionOrder();
}
 
示例3
public TransportBindingHandler(WSSConfig config,
                               TransportBinding binding,
                                SOAPMessage saaj,
                                WSSecHeader secHeader,
                                AssertionInfoMap aim,
                                SoapMessage message) {
    super(config, binding, saaj, secHeader, aim, message);
    this.tbinding = binding;
}
 
示例4
public AbstractBindingBuilder(
                       WSSConfig config,
                       Binding binding,
                       SOAPMessage saaj,
                       WSSecHeader secHeader,
                       AssertionInfoMap aim,
                       SoapMessage message) {
    this.wssConfig = config;
    this.binding = binding;
    this.aim = aim;
    this.secHeader = secHeader;
    this.saaj = saaj;
    this.message = message;
    message.getExchange().put(WSHandlerConstants.SEND_SIGV, signatures);
}
 
示例5
public SymmetricBindingHandler(WSSConfig config, 
                               SymmetricBinding binding,
                                SOAPMessage saaj,
                                WSSecHeader secHeader,
                                AssertionInfoMap aim,
                                SoapMessage message) {
    super(config, binding, saaj, secHeader, aim, message);
    this.sbinding = binding;
    tokenStore = getTokenStore();
    protectionOrder = binding.getProtectionOrder();
}
 
示例6
public AsymmetricBindingHandler(WSSConfig config,
                                AsymmetricBinding binding,
                                SOAPMessage saaj,
                                WSSecHeader secHeader,
                                AssertionInfoMap aim,
                                SoapMessage message) {
    super(config, binding, saaj, secHeader, aim, message);
    this.abinding = binding;
    protectionOrder = binding.getProtectionOrder();
}
 
示例7
public TransportBindingHandler(WSSConfig config,
                               TransportBinding binding,
                                SOAPMessage saaj,
                                WSSecHeader secHeader,
                                AssertionInfoMap aim,
                                SoapMessage message) {
    super(config, binding, saaj, secHeader, aim, message);
    this.tbinding = binding;
}
 
示例8
public AbstractBindingBuilder(
                       WSSConfig config,
                       Binding binding,
                       SOAPMessage saaj,
                       WSSecHeader secHeader,
                       AssertionInfoMap aim,
                       SoapMessage message) {
    this.wssConfig = config;
    this.binding = binding;
    this.aim = aim;
    this.secHeader = secHeader;
    this.saaj = saaj;
    this.message = message;
    message.getExchange().put(WSHandlerConstants.SEND_SIGV, signatures);
}
 
示例9
public SymmetricBindingHandler(WSSConfig config, 
                               SymmetricBinding binding,
                                SOAPMessage saaj,
                                WSSecHeader secHeader,
                                AssertionInfoMap aim,
                                SoapMessage message) {
    super(config, binding, saaj, secHeader, aim, message);
    this.sbinding = binding;
    tokenStore = getTokenStore();
    protectionOrder = binding.getProtectionOrder();
}
 
示例10
public AsymmetricBindingHandler(WSSConfig config,
                                AsymmetricBinding binding,
                                SOAPMessage saaj,
                                WSSecHeader secHeader,
                                AssertionInfoMap aim,
                                SoapMessage message) {
    super(config, binding, saaj, secHeader, aim, message);
    this.abinding = binding;
    protectionOrder = binding.getProtectionOrder();
}
 
示例11
public TransportBindingHandler(WSSConfig config,
                               TransportBinding binding,
                                SOAPMessage saaj,
                                WSSecHeader secHeader,
                                AssertionInfoMap aim,
                                SoapMessage message) {
    super(config, binding, saaj, secHeader, aim, message);
    this.tbinding = binding;
}
 
示例12
public AbstractBindingBuilder(
                       WSSConfig config,
                       Binding binding,
                       SOAPMessage saaj,
                       WSSecHeader secHeader,
                       AssertionInfoMap aim,
                       SoapMessage message) {
    this.wssConfig = config;
    this.binding = binding;
    this.aim = aim;
    this.secHeader = secHeader;
    this.saaj = saaj;
    this.message = message;
    message.getExchange().put(WSHandlerConstants.SEND_SIGV, signatures);
}
 
示例13
public SymmetricBindingHandler(WSSConfig config, 
                               SymmetricBinding binding,
                                SOAPMessage saaj,
                                WSSecHeader secHeader,
                                AssertionInfoMap aim,
                                SoapMessage message) {
    super(config, binding, saaj, secHeader, aim, message);
    this.sbinding = binding;
    tokenStore = getTokenStore();
    protectionOrder = binding.getProtectionOrder();
}
 
示例14
public AsymmetricBindingHandler(WSSConfig config,
                                AsymmetricBinding binding,
                                SOAPMessage saaj,
                                WSSecHeader secHeader,
                                AssertionInfoMap aim,
                                SoapMessage message) {
    super(config, binding, saaj, secHeader, aim, message);
    this.abinding = binding;
    protectionOrder = binding.getProtectionOrder();
}
 
示例15
public TransportBindingHandler(WSSConfig config,
                               TransportBinding binding,
                                SOAPMessage saaj,
                                WSSecHeader secHeader,
                                AssertionInfoMap aim,
                                SoapMessage message) {
    super(config, binding, saaj, secHeader, aim, message);
    this.tbinding = binding;
}
 
示例16
public AbstractBindingBuilder(
                       WSSConfig config,
                       Binding binding,
                       SOAPMessage saaj,
                       WSSecHeader secHeader,
                       AssertionInfoMap aim,
                       SoapMessage message) {
    this.wssConfig = config;
    this.binding = binding;
    this.aim = aim;
    this.secHeader = secHeader;
    this.saaj = saaj;
    this.message = message;
    message.getExchange().put(WSHandlerConstants.SEND_SIGV, signatures);
}
 
示例17
public String signMessage(String soapMessage, String user, String password, boolean passwordDigest) {
	try {
		WSSecurityEngine secEngine = WSSecurityEngine.getInstance();
		WSSConfig config = secEngine.getWssConfig();
		config.setPrecisionInMilliSeconds(false);

		// create context
		AxisClient tmpEngine = new AxisClient(new NullProvider());
		MessageContext msgContext = new MessageContext(tmpEngine);

		InputStream in = new ByteArrayInputStream(soapMessage.getBytes(StreamUtil.DEFAULT_INPUT_STREAM_ENCODING));
		Message msg = new Message(in);
		msg.setMessageContext(msgContext);

		// create unsigned envelope
		SOAPEnvelope unsignedEnvelope = msg.getSOAPEnvelope();
		Document doc = unsignedEnvelope.getAsDocument();

		// create security header and insert it into unsigned envelope
		WSSecHeader secHeader = new WSSecHeader();
		secHeader.insertSecurityHeader(doc);

		// add a UsernameToken
		WSSecUsernameToken tokenBuilder = new WSSecUsernameToken();
		if (passwordDigest) {
			tokenBuilder.setPasswordType(WSConstants.PASSWORD_DIGEST);
		} else {
			tokenBuilder.setPasswordType(WSConstants.PASSWORD_TEXT);
		}
		tokenBuilder.setUserInfo(user, password);
		tokenBuilder.addNonce();
		tokenBuilder.addCreated();
		tokenBuilder.prepare(doc);

		WSSecSignature sign = new WSSecSignature();
		sign.setUsernameToken(tokenBuilder);
		sign.setKeyIdentifierType(WSConstants.UT_SIGNING);
		sign.setSignatureAlgorithm(XMLSignature.ALGO_ID_MAC_HMAC_SHA1);
		sign.build(doc, null, secHeader);

		tokenBuilder.prependToHeader(secHeader);

		// add a Timestamp
		WSSecTimestamp timestampBuilder = new WSSecTimestamp();
		timestampBuilder.setTimeToLive(300);
		timestampBuilder.prepare(doc);
		timestampBuilder.prependToHeader(secHeader);

		Document signedDoc = doc;

		return DOM2Writer.nodeToString(signedDoc);

	} catch (Exception e) {
		throw new RuntimeException("Could not sign message", e);
	}
}