Hi Colm

Thank you for your reply. I already tried with WSS4J 1.16.15 earlier. But
same error. I was almost losing hope on this before your reply.


I will re try with 1.6.16 as soon as I get the setup again and let you
know.


Thank you for your time .

On Wednesday, September 24, 2014, Colm O hEigeartaigh <[email protected]>
wrote:

>
> Could you try with a more recent version of WSS4J (1.6.16)?
>
> Colm.
>
> On Tue, Sep 23, 2014 at 6:18 PM, Anupam Nandan <[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
>
>> Hello
>>
>> Can some one please help me on this ?
>>
>> Thank you!
>>
>> On Sunday, September 21, 2014, Anupam Nandan <[email protected]
>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
>>
>>> Hi All,
>>>
>>> I am trying to write a java client program (servlet), which will
>>> generate and sign the SOAP request with the keys provided by thrid party
>>> (keystore.jks). When I deploy the Servlet on tomcat it just works fine. But
>>> on web sphere 8.5 I am getting "*RSA signature is not verified*" . I
>>> tried debugging the issue but not sure what is going wrong.
>>>
>>> I tried finding answer online and added IS_BSP_COMPLIANT as false but
>>> didnt help.
>>>
>>> Most likely the issue is with signature. Let me know how I can trouble
>>> this issue. Any suggestion would be very helpful.
>>>
>>>
>>> Thank you for your time and looking forward for some guidance.
>>>
>>> Code
>>>
>>>
>>> --------------------------------------------------------------------------------------------------------------------------------
>>>
>>> attstmt.getAttributes().add(attr);
>>>
>>> assertion.getAttributeStatements().add(attstmt);
>>>
>>>  AssertionWrapper assertionWrper = new AssertionWrapper(assertion);
>>>
>>> WSSecSAMLToken samlToken = new WSSecSAMLToken();
>>>
>>> samlToken.build(soapDocument, assertionWrper, header);
>>>
>>>  SoapMessageWithoutHeader = nodeToString(soapDocument);
>>>
>>> System.out.println("Anupam SOAP Message with SAML 2.0 Assertion :
>>> "+SoapMessageWithoutHeader);
>>>
>>>  // Inserting the wsu:Timestamp
>>>
>>>
>>> WSSecTimestamp timestamp = new WSSecTimestamp();
>>>
>>> timestamp.setTimeToLive(TIMESTAMP_VALIDATE_PERIOD);
>>>
>>>
>>> WSSecHeader timestampHeader = new WSSecHeader();
>>>
>>> timestampHeader.insertSecurityHeader(soapDocument);
>>>
>>> timestamp.build(soapDocument, timestampHeader);
>>>
>>>  SoapMessageWithoutHeader = nodeToString(soapDocument);
>>>
>>> System.out.println("Anupam SOAP Message with time stamp :
>>> "+SoapMessageWithoutHeader);
>>>
>>>  System.out.println("Anupam path to key store "+pathtoKeyStore);
>>>
>>>  WSSecSignature builder = new WSSecSignature();
>>>
>>> builder.setUserInfo(keyAlias, pwdValue);
>>>
>>> builder.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);
>>>
>>>   java.util.Properties prop = new java.util.Properties();
>>>
>>>
>>> *prop.setProperty("org.apache.ws.security.crypto.provider",
>>> "org.apache.ws.security.components.crypto.Merlin");*
>>>
>>> * prop.setProperty("org.apache.ws.security.crypto.merlin.keystore.type",
>>> "jks");*
>>>
>>> *
>>> prop.setProperty("org.apache.ws.security.crypto.merlin.keystore.base64.encoded",
>>> "false");*
>>>
>>> *
>>> prop.setProperty("org.apache.ws.security.crypto.merlin.keystore.password",
>>> pwdValue);*
>>>
>>> * prop.setProperty("org.apache.ws.security.crypto.merlin.file",
>>> pathtoKeyStore);*
>>>
>>> * prop.setProperty(WSHandlerConstants.IS_BSP_COMPLIANT, "false");*
>>>
>>> *
>>> //prop.setProperty(WSHandlerConstants.ALLOW_NAMESPACE_QUALIFIED_PASSWORD_TYPES,
>>> "true");*
>>>
>>> * Crypto crypto = CryptoFactory.getInstance(prop);*
>>>
>>> * builder.prepare(soapDocument, crypto, header);*
>>>
>>>
>>>  Vector parts = new Vector();
>>>
>>>
>>>
>>>
>>> parts.add(new WSEncryptionPart(TIMESTAMP_LOCALNAME, TIMESTAMP_QNAME,
>>> CONTENT));
>>>
>>> parts.add(new WSEncryptionPart(builder.getBSTTokenId()));
>>>
>>> parts.add(new WSEncryptionPart(ASSERTION_LOCALNAME, ASSERTION_QNAME
>>> ,ELEMENT));
>>>
>>> parts.add(new WSEncryptionPart(SOAPBODY_LOCALNAME,SOAPBODY_QNAME,CONTENT
>>> ));
>>>
>>>  builder.setParts(parts);
>>>
>>> builder.prependBSTElementToHeader(header);
>>>
>>> builder.computeSignature(builder.addReferencesToSign(parts,header));
>>>
>>>   Proxy proxy = new Proxy(Proxy.Type.HTTP, new
>>> InetSocketAddress("63.66.64.232",8080));
>>>
>>>  String jNetURL1= "https://XXX/";;
>>>
>>> URL endpoint = new URL(jNetURL1);
>>>
>>> HttpURLConnection con = (HttpURLConnection)
>>> endpoint.openConnection(proxy);
>>>
>>> con.setRequestMethod("POST");
>>>
>>> con.setRequestProperty("Content-type", "text/xml; charset=utf-8");
>>>
>>> con.setRequestProperty("SOAPAction", "http://jnet.XXX/XX";);
>>>
>>>
>>> con.setDoInput(true);
>>>
>>> con.setDoOutput(true);
>>>
>>>  OutputStream reqStream = con.getOutputStream();
>>>
>>>  if(con ==null){
>>>
>>> System.out.println("Connection to Jnet is null");
>>>
>>>  }
>>>
>>> String SoapMessageWithSign = nodeToString(soapDocument);
>>>
>>> System.out.println("Anupam SOAP Message with after signature :
>>> "+SoapMessageWithSign);
>>>
>>>  reqStream.write(SoapMessageWithSign.getBytes());
>>>
>>>
>>> String jNetresponse=null;
>>>
>>> try {
>>>
>>> BufferedReader httpReader = new BufferedReader(new InputStreamReader(
>>>
>>> con.getInputStream()));
>>>
>>>  String inputLine = null;
>>>
>>> StringBuffer buff = new StringBuffer();
>>>
>>> System.out.println("value of httpreader "+httpReader.ready());
>>>
>>> System.out.println("httpReader value "+httpReader.toString());
>>>
>>>  while ((inputLine = httpReader.readLine()) != null) {
>>>
>>> buff.append(inputLine);
>>>
>>> System.out.println("input line "+inputLine);
>>>
>>> }
>>>
>>>
>>> jNetresponse = buff.toString();
>>>
>>>
>>> //System.out.println("Anupam Post response:"+response);
>>>
>>>
>>> }catch(SOAPFaultException sfe){
>>>
>>> System.out.println(sfe.getMessage());
>>>
>>>  }
>>>
>>>
>>> Best regards,
>>> Anupam Nandan
>>>
>>
>>
>> --
>> Best regards,
>> Anupam Nandan
>> 201.920.0722
>>
>>
>
>
> --
> Colm O hEigeartaigh
>
> Talend Community Coder
> http://coders.talend.com
>


-- 
Best regards,
Anupam Nandan
201.920.0722

Reply via email to