Modified: webservices/wss4j/trunk/test/wssec/TestWSSecurityNew15.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/test/wssec/TestWSSecurityNew15.java?rev=700768&r1=700767&r2=700768&view=diff
==============================================================================
--- webservices/wss4j/trunk/test/wssec/TestWSSecurityNew15.java (original)
+++ webservices/wss4j/trunk/test/wssec/TestWSSecurityNew15.java Wed Oct  1 
06:56:10 2008
@@ -68,190 +68,190 @@
  * @author Werner Dittmann ([EMAIL PROTECTED])
  */
 public class TestWSSecurityNew15 extends TestCase implements CallbackHandler {
-       private static Log log = LogFactory.getLog(TestWSSecurityNew15.class);
+    private static Log log = LogFactory.getLog(TestWSSecurityNew15.class);
 
-       static final String soapMsg = "<?xml version=\"1.0\" 
encoding=\"UTF-8\"?>"
-                       + "<soapenv:Envelope 
xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"; 
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"; 
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\";>"
-                       + "   <soapenv:Body>"
-                       + "      <ns1:testMethod 
xmlns:ns1=\"uri:LogTestService2\"></ns1:testMethod>"
-                       + "   </soapenv:Body>" + "</soapenv:Envelope>";
-
-       static final WSSecurityEngine secEngine = new WSSecurityEngine();
-
-       static final Crypto crypto = CryptoFactory
-                       .getInstance("cryptoSKI.properties");
-
-       MessageContext msgContext;
-
-       Message message;
-
-       /**
-        * TestWSSecurity constructor <p/>
-        * 
-        * @param name
-        *            name of the test
-        */
-       public TestWSSecurityNew15(String name) {
-               super(name);
-       }
-
-       /**
-        * JUnit suite <p/>
-        * 
-        * @return a junit test suite
-        */
-       public static Test suite() {
-               return new TestSuite(TestWSSecurityNew15.class);
-       }
-
-       /**
-        * Main method <p/>
-        * 
-        * @param args
-        *            command line args
-        */
-       public static void main(String[] args) {
-               junit.textui.TestRunner.run(suite());
-       }
-
-       /**
-        * Setup method <p/>
-        * 
-        * @throws Exception
-        *             Thrown when there is a problem in setup
-        */
-       protected void setUp() throws Exception {
-               AxisClient tmpEngine = new AxisClient(new NullProvider());
-               msgContext = new MessageContext(tmpEngine);
-               message = getSOAPMessage();
-       }
-
-       /**
-        * Constructs a soap envelope <p/>
-        * 
-        * @return soap envelope
-        * @throws Exception
-        *             if there is any problem constructing the soap envelope
-        */
-       protected Message getSOAPMessage() throws Exception {
-               InputStream in = new ByteArrayInputStream(soapMsg.getBytes());
-               Message msg = new Message(in);
-               msg.setMessageContext(msgContext);
-               return msg;
-       }
-
-       /**
-        * Test that encrypt and decrypt a WS-Security envelope.
-        * 
-        * This test uses the RSA_15 alogrithm to transport (wrap) the symmetric
-        * key.
-        * 
-        * @throws Exception
-        *             Thrown when there is any problem in signing or 
verification
-        */
-       public void testEncryptionDecryptionRSA15() throws Exception {
-               SOAPEnvelope unsignedEnvelope = message.getSOAPEnvelope();
-               WSSecEncrypt builder = new WSSecEncrypt();
-               builder.setUserInfo("wss4jcert");
-               builder.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);
-               builder.setSymmetricEncAlgorithm(WSConstants.TRIPLE_DES);
-               Document doc = unsignedEnvelope.getAsDocument();
-               WSSecHeader secHeader = new WSSecHeader();
-               secHeader.insertSecurityHeader(doc);
-               log.info("Before Encryption Triple DES....");
-
-               /*
-                * Prepare the Encrypt object with the token, setup data 
structure
-                */
-               builder.prepare(doc, crypto);
-
-               /*
-                * Set up the parts structure to encrypt the body
-                */
-               SOAPConstants soapConstants = 
WSSecurityUtil.getSOAPConstants(doc
-                               .getDocumentElement());
-               Vector parts = new Vector();
-               WSEncryptionPart encP = new WSEncryptionPart(soapConstants
-                               .getBodyQName().getLocalPart(), 
soapConstants.getEnvelopeURI(),
-                               "Content");
-               parts.add(encP);
-
-               /*
-                * Encrypt the parts (Body), create EncrypedData elements that 
reference
-                * the EncryptedKey, and get a ReferenceList that can be put 
into the
-                * Security header. Be sure that the ReferenceList is after the
-                * EncryptedKey element in the Security header (strict layout)
-                */
-               Element refs = builder.encryptForExternalRef(null, parts);
-               builder.addExternalRefElement(refs, secHeader);
-
-               /*
-                * now add (prepend) the EncryptedKey element, then a
-                * BinarySecurityToken if one was setup during prepare
-                */
-               builder.prependToHeader(secHeader);
-
-               builder.prependBSTElementToHeader(secHeader);
-
-               Document encryptedDoc = doc;
-               log.info("After Encryption Triple DES....");
-
-               /*
-                * convert the resulting document into a message first. The
-                * toAxisMessage() method performs the necessary c14n call to 
properly
-                * set up the signed document and convert it into a SOAP 
message. Check
-                * that the contents can't be read (checking if we can find a 
specific
-                * substring). After that we extract it as a document again for 
further
-                * processing.
-                */
-
-               Message encryptedMsg = SOAPUtil.toAxisMessage(encryptedDoc);
-               if (log.isDebugEnabled()) {
-                       log.debug("Encrypted message, RSA-15 keytransport, 
3DES:");
-                       
XMLUtils.PrettyElementToWriter(encryptedMsg.getSOAPEnvelope()
-                                       .getAsDOM(), new 
PrintWriter(System.out));
-               }
-               String encryptedString = encryptedMsg.getSOAPPartAsString();
-               assertTrue(encryptedString.indexOf("LogTestService2") == -1 ? 
true
-                               : false);
-               encryptedDoc = encryptedMsg.getSOAPEnvelope().getAsDocument();
-               verify(encryptedDoc);
-       }
-
-       /**
-        * Verifies the soap envelope <p/>
-        * 
-        * @param envelope
-        * @throws Exception
-        *             Thrown when there is a problem in verification
-        */
-       private void verify(Document doc) throws Exception {
-               secEngine.processSecurityHeader(doc, null, this, crypto);
-               SOAPUtil.updateSOAPMessage(doc, message);
-               String decryptedString = message.getSOAPPartAsString();
-               if (log.isDebugEnabled()) {
-                       System.out.println("\n" + decryptedString + "\n");
-               }
-               assertTrue(decryptedString.indexOf("LogTestService2") > 0 ? true
-                               : false);
-       }
-
-       public void handle(Callback[] callbacks) throws IOException,
-                       UnsupportedCallbackException {
-               for (int i = 0; i < callbacks.length; i++) {
-                       if (callbacks[i] instanceof WSPasswordCallback) {
-                               WSPasswordCallback pc = (WSPasswordCallback) 
callbacks[i];
-                               /*
-                                * here call a function/method to lookup the 
password for the
-                                * given identifier (e.g. a user name or 
keystore alias) e.g.:
-                                * 
pc.setPassword(passStore.getPassword(pc.getIdentfifier)) for
-                                * Testing we supply a fixed name here.
-                                */
-                               pc.setPassword("security");
-                       } else {
-                               throw new 
UnsupportedCallbackException(callbacks[i],
-                                               "Unrecognized Callback");
-                       }
-               }
-       }
+    static final String soapMsg = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+            + "<soapenv:Envelope 
xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"; 
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"; 
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\";>"
+            + "   <soapenv:Body>"
+            + "      <ns1:testMethod 
xmlns:ns1=\"uri:LogTestService2\"></ns1:testMethod>"
+            + "   </soapenv:Body>" + "</soapenv:Envelope>";
+
+    static final WSSecurityEngine secEngine = new WSSecurityEngine();
+
+    static final Crypto crypto = CryptoFactory
+            .getInstance("cryptoSKI.properties");
+
+    MessageContext msgContext;
+
+    Message message;
+
+    /**
+     * TestWSSecurity constructor <p/>
+     * 
+     * @param name
+     *            name of the test
+     */
+    public TestWSSecurityNew15(String name) {
+        super(name);
+    }
+
+    /**
+     * JUnit suite <p/>
+     * 
+     * @return a junit test suite
+     */
+    public static Test suite() {
+        return new TestSuite(TestWSSecurityNew15.class);
+    }
+
+    /**
+     * Main method <p/>
+     * 
+     * @param args
+     *            command line args
+     */
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(suite());
+    }
+
+    /**
+     * Setup method <p/>
+     * 
+     * @throws Exception
+     *             Thrown when there is a problem in setup
+     */
+    protected void setUp() throws Exception {
+        AxisClient tmpEngine = new AxisClient(new NullProvider());
+        msgContext = new MessageContext(tmpEngine);
+        message = getSOAPMessage();
+    }
+
+    /**
+     * Constructs a soap envelope <p/>
+     * 
+     * @return soap envelope
+     * @throws Exception
+     *             if there is any problem constructing the soap envelope
+     */
+    protected Message getSOAPMessage() throws Exception {
+        InputStream in = new ByteArrayInputStream(soapMsg.getBytes());
+        Message msg = new Message(in);
+        msg.setMessageContext(msgContext);
+        return msg;
+    }
+
+    /**
+     * Test that encrypt and decrypt a WS-Security envelope.
+     * 
+     * This test uses the RSA_15 alogrithm to transport (wrap) the symmetric
+     * key.
+     * 
+     * @throws Exception
+     *             Thrown when there is any problem in signing or verification
+     */
+    public void testEncryptionDecryptionRSA15() throws Exception {
+        SOAPEnvelope unsignedEnvelope = message.getSOAPEnvelope();
+        WSSecEncrypt builder = new WSSecEncrypt();
+        builder.setUserInfo("wss4jcert");
+        builder.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);
+        builder.setSymmetricEncAlgorithm(WSConstants.TRIPLE_DES);
+        Document doc = unsignedEnvelope.getAsDocument();
+        WSSecHeader secHeader = new WSSecHeader();
+        secHeader.insertSecurityHeader(doc);
+        log.info("Before Encryption Triple DES....");
+
+        /*
+         * Prepare the Encrypt object with the token, setup data structure
+         */
+        builder.prepare(doc, crypto);
+
+        /*
+         * Set up the parts structure to encrypt the body
+         */
+        SOAPConstants soapConstants = WSSecurityUtil.getSOAPConstants(doc
+                .getDocumentElement());
+        Vector parts = new Vector();
+        WSEncryptionPart encP = new WSEncryptionPart(soapConstants
+                .getBodyQName().getLocalPart(), soapConstants.getEnvelopeURI(),
+                "Content");
+        parts.add(encP);
+
+        /*
+         * Encrypt the parts (Body), create EncrypedData elements that 
reference
+         * the EncryptedKey, and get a ReferenceList that can be put into the
+         * Security header. Be sure that the ReferenceList is after the
+         * EncryptedKey element in the Security header (strict layout)
+         */
+        Element refs = builder.encryptForExternalRef(null, parts);
+        builder.addExternalRefElement(refs, secHeader);
+
+        /*
+         * now add (prepend) the EncryptedKey element, then a
+         * BinarySecurityToken if one was setup during prepare
+         */
+        builder.prependToHeader(secHeader);
+
+        builder.prependBSTElementToHeader(secHeader);
+
+        Document encryptedDoc = doc;
+        log.info("After Encryption Triple DES....");
+
+        /*
+         * convert the resulting document into a message first. The
+         * toAxisMessage() method performs the necessary c14n call to properly
+         * set up the signed document and convert it into a SOAP message. Check
+         * that the contents can't be read (checking if we can find a specific
+         * substring). After that we extract it as a document again for further
+         * processing.
+         */
+
+        Message encryptedMsg = SOAPUtil.toAxisMessage(encryptedDoc);
+        if (log.isDebugEnabled()) {
+            log.debug("Encrypted message, RSA-15 keytransport, 3DES:");
+            XMLUtils.PrettyElementToWriter(encryptedMsg.getSOAPEnvelope()
+                    .getAsDOM(), new PrintWriter(System.out));
+        }
+        String encryptedString = encryptedMsg.getSOAPPartAsString();
+        assertTrue(encryptedString.indexOf("LogTestService2") == -1 ? true
+                : false);
+        encryptedDoc = encryptedMsg.getSOAPEnvelope().getAsDocument();
+        verify(encryptedDoc);
+    }
+
+    /**
+     * Verifies the soap envelope <p/>
+     * 
+     * @param envelope
+     * @throws Exception
+     *             Thrown when there is a problem in verification
+     */
+    private void verify(Document doc) throws Exception {
+        secEngine.processSecurityHeader(doc, null, this, crypto);
+        SOAPUtil.updateSOAPMessage(doc, message);
+        String decryptedString = message.getSOAPPartAsString();
+        if (log.isDebugEnabled()) {
+            System.out.println("\n" + decryptedString + "\n");
+        }
+        assertTrue(decryptedString.indexOf("LogTestService2") > 0 ? true
+                : false);
+    }
+
+    public void handle(Callback[] callbacks) throws IOException,
+            UnsupportedCallbackException {
+        for (int i = 0; i < callbacks.length; i++) {
+            if (callbacks[i] instanceof WSPasswordCallback) {
+                WSPasswordCallback pc = (WSPasswordCallback) callbacks[i];
+                /*
+                 * here call a function/method to lookup the password for the
+                 * given identifier (e.g. a user name or keystore alias) e.g.:
+                 * pc.setPassword(passStore.getPassword(pc.getIdentfifier)) for
+                 * Testing we supply a fixed name here.
+                 */
+                pc.setPassword("security");
+            } else {
+                throw new UnsupportedCallbackException(callbacks[i],
+                        "Unrecognized Callback");
+            }
+        }
+    }
 }

Modified: webservices/wss4j/trunk/xdocs/index.xml
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/xdocs/index.xml?rev=700768&r1=700767&r2=700768&view=diff
==============================================================================
--- webservices/wss4j/trunk/xdocs/index.xml (original)
+++ webservices/wss4j/trunk/xdocs/index.xml Wed Oct  1 06:56:10 2008
@@ -110,10 +110,10 @@
                 </p>
                 <br/>
             </subsection>
-                       <subsection name="Rampart: WS-Security Implementation 
module for Axis2">
+            <subsection name="Rampart: WS-Security Implementation module for 
Axis2">
                 <p style="margin-left: 40px;">Please refer to the 
-                               <a 
href="http://ws.apache.org/axis2/modules/rampart/1_2/security-module.html";>
-                               Rampart configuration guide</a> for 
configuration information.<br/>
+                <a 
href="http://ws.apache.org/axis2/modules/rampart/1_2/security-module.html";>
+                Rampart configuration guide</a> for configuration 
information.<br/>
                 </p>
                 <br/>
             </subsection>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to