IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

Support for C14N Canonicalization Algorithm in WS Security Module of IS 8.2 SP2

  • 1.  Support for C14N Canonicalization Algorithm in WS Security Module of IS 8.2 SP2

    Posted Fri February 01, 2013 01:33 PM

    Hi All
    This is with reference to a custom WS Security implementation at our end which we are trying to replace with standard WSSecurity Module of Integration Server 8.2 SP2.Our partner requires us to send soap messages initialized with the parameters canonicalizationMethod=C14N_EXCL_OMIT_COMMENTS, keyIdentifierType=ISSUER_SERIAL but SAG webMethods documentation says there is no support for C14N Canonicalization Algorithm.Does anyone know if there is a way to achieve above in 8.2 SP2.

    Regards
    Anuj


    #Integration-Server-and-ESB
    #webMethods


  • 2.  RE: Support for C14N Canonicalization Algorithm in WS Security Module of IS 8.2 SP2

    Posted Mon January 27, 2014 07:23 AM

    Hi Anuj and all,
    has anyone yet achieved to implement the c14n method on the webMethods platform. Any hint would be appreciated…
    Frank


    #webMethods
    #Integration-Server-and-ESB


  • 3.  RE: Support for C14N Canonicalization Algorithm in WS Security Module of IS 8.2 SP2

    Posted Mon January 27, 2014 04:56 PM

    apache offer c14n API in

    you may want to drop their jars under the lib dir in WM to test it out. pls update how it goes.


    #Integration-Server-and-ESB
    #webMethods


  • 4.  RE: Support for C14N Canonicalization Algorithm in WS Security Module of IS 8.2 SP2

    Posted Mon January 27, 2014 05:21 PM

    Hi Frank
    Basically webMethods have support for canonicalization to the extent the underlying xml security library supports it and the underlying security implementation has been taken from Apache.

    In my case I tried with a custom policy file provided by the communicating partner as none of the webMethods provided out of the box policies were sufficient for my requirement.

    For more information you can refer to the details of SR which I raised to SAG.

    https://empower.softwareag.com/sl24sec/SecuredServices/KCFullTextASP/viewing/view.asp?KEY=482948-6141211&DSN=PIVOTAL&DST=SR&HL=1&QUERY=C14N|Canonicalization&SessionID=732495585

    Regards
    Anuj


    #webMethods
    #Integration-Server-and-ESB


  • 5.  RE: Support for C14N Canonicalization Algorithm in WS Security Module of IS 8.2 SP2

    Posted Tue February 04, 2014 04:11 AM

    Hi,

    so far I’ve loaded the xmlsec-1.5.6.jar to C:\SoftwareAG\IntegrationServer\lib\jars and then tried to use the c14n method in a java service, however the compile of the service fails with the error

    C:\SoftwareAG\IntegrationServer\packages\c14n\code\source\c14n.java:62: cannot find symbol symbol : constructor ByteArrayInputStream(java.lang.Object) location: class java.io.ByteArrayInputStream Document doc = documentBuilder.parse(new ByteArrayInputStream(node));

    My java code:
    import com.wm.data.*;
    import com.wm.app.b2b.server.ServiceException;
    import java.io.ByteArrayInputStream;
    import java.io.IOException;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import org.apache.xml.security.c14n.CanonicalizationException;
    import org.apache.xml.security.c14n.Canonicalizer;
    import org.apache.xml.security.c14n.InvalidCanonicalizerException;
    import org.w3c.dom.Document;
    import org.xml.sax.SAXException;

    public final class canonDirect_SVC
    {
    public static final void canonDirect(IData pipeline) throws ServiceException {
    org.apache.xml.security.Init.init();

    	DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
    
    dfactory.setNamespaceAware(true);
    dfactory.setValidating(true);
    
    DocumentBuilder documentBuilder = null;
    try {
    documentBuilder = dfactory.newDocumentBuilder();
    } catch (ParserConfigurationException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    
    // this is to throw away all validation warnings
    documentBuilder.setErrorHandler(new org.apache.xml.security.utils.IgnoreAllErrorHandler());
    
    String myString = "<start>Hello</start>";
    ByteArrayInputStream stream = new ByteArrayInputStream(myString.getBytes());	
    Document doc = null;
    try {
    doc = documentBuilder.parse(stream);
    } catch (SAXException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    

    Any idea what I could be missing here ?


    #webMethods
    #Integration-Server-and-ESB


  • 6.  RE: Support for C14N Canonicalization Algorithm in WS Security Module of IS 8.2 SP2

    Posted Mon October 06, 2014 05:05 AM

    Hi Frank/Others,

    were you able to implement C14N in wM. Can you please share your comments.

    Even I am trying to implement the same on webMethods 7. Any comments/suggestion is highly appreciated.


    #webMethods
    #Integration-Server-and-ESB


  • 7.  RE: Support for C14N Canonicalization Algorithm in WS Security Module of IS 8.2 SP2

    Posted Sat October 11, 2014 03:22 AM

    I was able to implement C14N myself :slight_smile:


    #Integration-Server-and-ESB
    #webMethods


  • 8.  RE: Support for C14N Canonicalization Algorithm in WS Security Module of IS 8.2 SP2

    Posted Mon October 13, 2014 10:11 AM

    Hi.

    I saw it was implemented this weekend on Tundra too: GitHub - Permafrost/Tundra: ❄ A package of cool services for webMethods Integration Server 7.1 and higher.

    How does it compare with yours?

    Best Regards.


    #webMethods
    #Integration-Server-and-ESB


  • 9.  RE: Support for C14N Canonicalization Algorithm in WS Security Module of IS 8.2 SP2

    Posted Mon October 13, 2014 11:48 AM

    Hi,

    Yes you are right this was added weekend.

    My project requirement was to implement Exclusive XML Canonicalization 1.0 With Comments algorithm and I did the same with a simple JAVA service and it working as expected on wM 7.

    Myself and Lachlan had a discussion offline in regards to this subject and he found it to be a good candidate for Tundra. I gave him the required details (Apache Santuario XML Security library). In addition, he has implemented the below algorithm :

    Canonical XML Version 1.0
    Canonical XML Version 1.0 With Comments
    Canonical XML Version 1.1
    Canonical XML Version 1.1 With Comments
    Exclusive Canonical XML Version 1.0
    Exclusive Canonical XML Version 1.0 With Comments

    For more information refer: http://www.w3.org/standards/techs/xmlc14n#w3c_all


    #webMethods
    #Integration-Server-and-ESB