You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by Werner Dittmann <We...@t-online.de> on 2004/02/24 19:56:22 UTC
Fw: for information about chechin WSS4J - e-mail failure
----- Original Message -----
From: <MA...@apache.org>
To: <we...@apache.org>
Sent: Tuesday, February 24, 2004 1:45 PM
Subject: failure notice
> Hi. This is the qmail-send program at apache.org.
> I'm afraid I wasn't able to deliver your message to the following
addresses.
> This is a permanent error; I've given up. Sorry it didn't work out.
>
> <fx...@ws.apache.org>:
> Sorry, only subscribers may post. If you are a subscriber, please forward
this message to fx-dev-owner@ws.apache.org to get your new address included
(#5.7.2)
>
> --- Below this line is a copy of the message.
>
> Return-Path: <we...@apache.org>
> Received: (qmail 58250 invoked by uid 500); 24 Feb 2004 12:45:52 -0000
> Delivered-To: apmail-ws-fx-cvs@apache.org
> Received: (qmail 58183 invoked from network); 24 Feb 2004 12:45:51 -0000
> Received: from unknown (HELO minotaur.apache.org) (209.237.227.194)
> by daedalus.apache.org with SMTP; 24 Feb 2004 12:45:51 -0000
> Received: (qmail 64675 invoked by uid 1829); 24 Feb 2004 12:45:52 -0000
> Date: 24 Feb 2004 12:45:52 -0000
> Message-ID: <20...@minotaur.apache.org>
> From: werner@apache.org
> To: ws-fx-cvs@apache.org
> Subject: cvs commit: ws-fx/wss4j/test/wssec TestWSSecurity4.java
> X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N
>
> werner 2004/02/24 04:45:52
>
> Added: wss4j/test/wssec TestWSSecurity4.java
> Log:
> New testcase to test SKI function. Not yet included in package run
> because of missing cert that support SKI data
>
> Revision Changes Path
> 1.1 ws-fx/wss4j/test/wssec/TestWSSecurity4.java
>
> Index: TestWSSecurity4.java
> ===================================================================
> /*
> * Copyright 2003-2004 The Apache Software Foundation.
> *
> * Licensed under the Apache License, Version 2.0 (the "License");
> * you may not use this file except in compliance with the License.
> * You may obtain a copy of the License at
> *
> * http://www.apache.org/licenses/LICENSE-2.0
> *
> * Unless required by applicable law or agreed to in writing, software
> * distributed under the License is distributed on an "AS IS" BASIS,
> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
> * See the License for the specific language governing permissions and
> * limitations under the License.
> *
> */
> package wssec;
>
> import junit.framework.Test;
> import junit.framework.TestCase;
> import junit.framework.TestSuite;
> import org.apache.axis.Message;
> import org.apache.axis.MessageContext;
> import org.apache.axis.utils.XMLUtils;
> import org.apache.axis.client.AxisClient;
> import org.apache.axis.configuration.NullProvider;
> import org.apache.axis.message.SOAPEnvelope;
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> import org.apache.ws.axis.security.util.AxisUtil;
> import org.apache.ws.security.WSSecurityEngine;
> import org.apache.ws.security.WSConstants;
> import org.apache.ws.security.components.crypto.Crypto;
> import org.apache.ws.security.components.crypto.CryptoFactory;
> import org.apache.ws.security.message.WSSignEnvelope;
> import org.w3c.dom.Document;
>
> import java.io.ByteArrayInputStream;
> import java.io.InputStream;
> import java.io.PrintWriter;
>
>
> /**
> * WS-Security Test Case
> * <p/>
> *
> * @author Davanum Srinivas (dims@yahoo.com)
> * @author Werner Dittmann (Werner.Dittmann@siemens.com)
> */
> public class TestWSSecurity4 extends TestCase {
> private static Log log = LogFactory.getLog(TestWSSecurity4.class);
> static final String NS = "http://www.w3.org/2000/09/xmldsig#";
> static final String soapMsg = "<?xml version=\"1.0\"
encoding=\"UTF-8\"?>" + "<SOAP-ENV:Envelope
xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" +
"<SOAP-ENV:Body>" + "<add
xmlns=\"http://ws.apache.org/counter/counter_port_type\">" + "<value
xmlns=\"\">15</value>" + "</add>" + "</SOAP-ENV:Body>\r\n \r\n" +
"</SOAP-ENV:Envelope>";
> static final WSSecurityEngine secEngine = new WSSecurityEngine();
> static final Crypto crypto = CryptoFactory.getInstance();
>
> MessageContext msgContext;
> SOAPEnvelope unsignedEnvelope;
>
> /**
> * TestWSSecurity constructor
> * <p/>
> *
> * @param name name of the test
> */
> public TestWSSecurity4(String name) {
> super(name);
> }
>
> /**
> * JUnit suite
> * <p/>
> *
> * @return a junit test suite
> */
> public static Test suite() {
> return new TestSuite(TestWSSecurity4.class);
> }
>
> /**
> * Main method
> * <p/>
> *
> * @param args command line args
> */
> public static void main(String[] args) {
> junit.textui.TestRunner.run(suite());
> }
>
> /**
> * Setup method
> * <p/>
> *
> * @throws java.lang.Exception Thrown when there is a problem in
setup
> */
> protected void setUp() throws Exception {
> AxisClient tmpEngine = new AxisClient(new NullProvider());
> msgContext = new MessageContext(tmpEngine);
> unsignedEnvelope = getSOAPEnvelope();
> }
>
> /**
> * Constructs a soap envelope
> * <p/>
> *
> * @return soap envelope
> * @throws java.lang.Exception if there is any problem constructing
the soap envelope
> */
> protected SOAPEnvelope getSOAPEnvelope() throws Exception {
> InputStream in = new ByteArrayInputStream(soapMsg.getBytes());
> Message msg = new Message(in);
> msg.setMessageContext(msgContext);
> return msg.getSOAPEnvelope();
> }
>
> /**
> * Test that signs and verifies a WS-Security envelope
> * <p/>
> *
> * @throws java.lang.Exception Thrown when there is any problem in
signing or verification
> */
> public void testX509SignatureSKIDirect() throws Exception {
> SOAPEnvelope envelope = null;
> WSSignEnvelope builder = new WSSignEnvelope();
> builder.setUserInfo("16c73ab6-b892-458f-abf5-2f875f74882e",
"security");
> builder.setKeyIdentifierType(WSConstants.SKI_KEY_IDENTIFIER_DIRECT);
>
> // builder.setUserInfo("john", "keypass");
> log.info("Before Signing....");
> Document doc = unsignedEnvelope.getAsDocument();
> Document signedDoc = builder.build(doc, crypto);
>
> /*
> * convert the resulting document into a message first. The
toSOAPMessage()
> * mehtod performs the necessary c14n call to properly set up
the signed
> * document and convert it into a SOAP message. After that we
extract it
> * as a document again for further processing.
> */
>
> Message signedMsg = (Message) AxisUtil.toSOAPMessage(signedDoc);
> XMLUtils.PrettyElementToWriter(signedMsg.getSOAPEnvelope().getAsDOM(),
new PrintWriter(System.out));
>
> signedDoc = signedMsg.getSOAPEnvelope().getAsDocument();
> log.info("After Signing....");
> verify(signedDoc);
> }
>
> /**
> * Test that signs (twice) and verifies a WS-Security envelope
> * <p/>
> *
> * @throws java.lang.Exception Thrown when there is any problem in
signing or verification
> */
> public void testDoubleX509SignatureSKIDirect() throws Exception {
> SOAPEnvelope envelope = null;
> WSSignEnvelope builder = new WSSignEnvelope();
> builder.setUserInfo("16c73ab6-b892-458f-abf5-2f875f74882e",
"security");
> builder.setKeyIdentifierType(WSConstants.SKI_KEY_IDENTIFIER_DIRECT);
>
> // builder.setUserInfo("john", "keypass");
> Document doc = unsignedEnvelope.getAsDocument();
> Document signedDoc = builder.build(doc, crypto);
> Document signedDoc1 = builder.build(signedDoc, crypto);
> verify(signedDoc1);
> }
>
> /**
> * Verifies the soap envelope
> *
> * @param env soap envelope
> * @throws java.lang.Exception Thrown when there is a problem in
verification
> */
> private void verify(Document doc) throws Exception {
> secEngine.processSecurityHeader(doc, null, null, crypto);
> }
> }
>
>
>