I have created a web service connector (as consumer) to an external service. The web service requires use of client authentication with SSL. I´ve got the external partners certificate, converted it from .pfx to der and managed to successfully import it into IS client certificates for Administrators and for SSL Authentication. I have verified that the PEM-file that was produced when converting to DER contains both public and private keys.
I restarted the IS after importing certificates.
If i try to run one of the newly created connectors to test communication I get the response:
com.wm.driver.comm.b2b.WmCommException: [[iaik.security.ssl.SSLException: Peer sent alert: Alert Fatal: bad certificate] iaik.security.ssl.SSLException: Peer sent alert: Alert Fatal: bad certificate] [iaik.security.ssl.SSLException: Peer sent alert: Alert Fatal: bad certificate] iaik.security.ssl.SSLException: Peer sent alert: Alert Fatal: bad certificate
After this I downloaded the external companies CA certificate from the site containing the WSDL and put it in IS CA directory.
After that I added a WS Security Handler with digital signature policy. Now i get this failure result when executing connector:
com.webmethods.ws.security.SecurityException: WS Security processing failed : Unable to resolve private key for signing or decrypting the message
Am I barking up the wrong tree here? Is there another or better way to enable client authorization?
I had to manually download the WSDL and change the XSD references to be able to create the web service descriptor. Also, In Firefox i couldn´t even view the WSDL before importing the previous mentioned certificate so that must be some kind of proof that there is nothing wrong with the certificate I´m using. Just the way I´m using it perhaps
I hope anyone know how to do this because I feel that the documentation doesn´t give me any answers nor does google.