Hi, I have debugged the code, In OCSPverifier line no 84 ocspResponse.getStatus() returns integer 6 which is defined as OCSPRespStatus.UNAUTHORIZED. According to ietf<http://www.ietf.org/rfc/rfc2560.txt>this is because the client is not authorized to make the query to the server.
On Fri, Mar 21, 2014 at 10:20 PM, Sudheera Palihakkara <sudhe...@wso2.com>wrote: > Yeah I've added the url, cert param have these extentions at the runtime > > Certificate Extensions: 2 > [1]: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false > AuthorityInfoAccess [ > [ > accessMethod: ocsp > accessLocation: URIName: http://ocsp.digicert.com > ] > ] > > [2]: ObjectId: 2.5.29.31 Criticality=false > CRLDistributionPoints [ > [DistributionPoint: > [URIName: http://crl3.digicert.com/ca3-g17.crl] > ]] > > > I'll try debugging. :) > > > > On Fri, Mar 21, 2014 at 9:48 PM, Jeewantha Dharmaparakrama < > jeewan...@wso2.com> wrote: > >> Well first ESB tries with OCSP. If the CA does not support OCSP it tries >> with CRL. Both protocols do the same thing but OCSP is newer. Thats why ESB >> tries OCSP first. >> >> Did you add the OCSP url in the certificate properly? IINM Digicert >> should support OCSP. If OCSP url is added properly, try to debug the code >> and find where it get fails. >> >> Jeewantha. >> >> >> On Fri, Mar 21, 2014 at 9:57 AM, Sudheera Palihakkara >> <sudhe...@wso2.com>wrote: >> >>> Hi Jeewantha, >>> >>> I have created CA and client certificates like you asked. And using curl >>> did the request. Here's what I got at the server log. >>> >>> INFO - CacheManager OCSPCache Cache Manager Started >>> INFO - CacheManager CRLCache Cache Manager Started >>> INFO - RevocationVerificationManager OCSPVerifier failed. >>> INFO - CRLVerifier Trying to get CRL for URL: >>> http://crl3.digicert.com/ca3-g17.crl >>> INFO - CRLCache Before set- HashMap size 0 >>> INFO - CRLCache After set - HashMap size 1 >>> INFO - PathChecker Certificate status is: Good >>> INFO - CertificatePathValidator Certificate path validated >>> INFO - RevocationVerificationManager Path verification Successful. Took >>> 1075 ms. >>> >>> >>> looks like OCSPVerifier has failed, what do you think? is it because a >>> issue in the source or the certificate created by me? >>> >>> >>> On Thu, Mar 20, 2014 at 11:01 PM, Jeewantha Dharmaparakrama < >>> jeewan...@wso2.com> wrote: >>> >>>> +1. >>>> >>>> So when you invoke the HTTPS service with client auth enabled, the >>>> connection should be rejected since there is no OCSP/CRL information in the >>>> client certificate. >>>> >>>> But we should test this with some custom made certificates. Create a >>>> self signed *CA certificate* and a *User certificate* signed by that >>>> CA. You can use the tool *openssl* for this. (No need to create an >>>> intermediate CA cert) [1]. Before giving the Certificate signing >>>> request(CSR) to the CA you have to give the proper X509Extensions >>>> *Authority >>>> Information Access* [2] and *Crl Distribution Points* [3] so that the >>>> URLs for OCSP and CRL servers will be added to the certificate you create. >>>> You will have to create an *openssl.cnf* file with the following >>>> information to be given to *openssl* with the CSR as an extension file. >>>> >>>> authorityInfoAccess = OCSP;URI: http://ocsp.digicert.com >>>> crlDistributionPoints=URI:http://crl3.digicert.com/ca3-g17.crl >>>> >>>> >>>> >>>> The above urls are from the CA which has signed WSO2 certificates >>>> (Digicert). Please check the certificate. Now you can add the created >>>> certificates to wso2carbon.jks (Both keystore and truststore) : see online >>>> resources on how to do that. Once configured, call the HTTPS service with >>>> client auth enabled. Use curl to send the getQuote request. >>>> >>>> curl -X POST -H 'Content-Type: text/xml; charset=UTF-8' -H 'SOAPAction: >>>> "urn:getQuote"' -d @request_file.xml --cacert ca.crt --cert user.crt -v >>>> https://localhost:8243 >>>> >>>> >>>> >>>> >>>> Now the ESB should do OCSP/CRL validations and since there are no >>>> revocation information with Digicert on the certificate you created, the >>>> HTTPS connection should be established. >>>> >>>> Please ask if you have any questions. >>>> >>>> [1] >>>> http://blog.didierstevens.com/2008/12/30/howto-make-your-own-cert-with-openssl/ >>>> [2] >>>> http://www.oracle.com/technetwork/articles/soa/patil-certrevoc-1873528.html >>>> [3] http://stackoverflow.com/a/12023746/1411653 >>>> >>>> Thanks, >>>> Jeewantha >>>> >>>> >>>> On Wed, Mar 19, 2014 at 10:50 PM, Sudheera Palihakkara < >>>> sudhe...@wso2.com> wrote: >>>> >>>>> Hi Jeewantha, >>>>> >>>>> I have moved ServerConnFactoryBuilder and ClientConnFactoryBuilder >>>>> from /transport/nhttp/config/ to /transport/http/config/ because those >>>>> two >>>>> classed are common to both nhttp and passthru transports. >>>>> >>>>> Here are the diff files of the two files that I edited. >>>>> >>>>> I used an online tool to generate ServerConnFactoryBuilder.diff >>>>> because I did not committed the changes after I moved the file to http >>>>> directory so the format of the diff file may different. >>>>> >>>>> thanks. >>>>> >>>>> >>>>> >>>>> On Wed, Mar 19, 2014 at 8:57 PM, Jeewantha Dharmaparakrama < >>>>> jeewan...@wso2.com> wrote: >>>>> >>>>>> [Adding @dev] >>>>>> >>>>>> Hi Sudheera, >>>>>> >>>>>> Did you remove ServerConnFactoryBuilder and ClientConnFactoryBuilder >>>>>> from the source and added the changed classes again? Its difficult to see >>>>>> which lines have changed in the patch file. >>>>>> Please remove ServerConnFactoryBuilder and ClientConnFactoryBuilder >>>>>> from your local source, svn up again, and then do the changes in those >>>>>> files and create the patch file. >>>>>> >>>>>> Thanks, >>>>>> Jeewantha >>>>>> >>>>>> >>>>>> On Wed, Mar 19, 2014 at 3:00 AM, Sudheera Palihakkara < >>>>>> sudhe...@wso2.com> wrote: >>>>>> >>>>>>> Hi ayya, >>>>>>> >>>>>>> I have done some coding ServerSSLSetupHander.java and >>>>>>> ServerConnFactoryBuilder.java as they did in the backend side. I think >>>>>>> the >>>>>>> logic is ok but it's hard to test since we don't have certificate chain >>>>>>> that signed by a CA. I used wso2carbon.jks for client and the request >>>>>>> get >>>>>>> failed since both ocsp and crl verification get failed for >>>>>>> wso2carbon.jks . >>>>>>> I have attached the diff file. Can you take a look. >>>>>>> >>>>>>> >>>>>>> thanks. >>>>>>> >>>>>>> >>>>>>> On Wed, Mar 19, 2014 at 11:43 AM, Sudheera Palihakkara < >>>>>>> sudhe...@wso2.com> wrote: >>>>>>> >>>>>>>> Hi ayya, >>>>>>>> >>>>>>>> In ServerConnFactoryBuilder.java file line 202 >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> * ServerSSLSetupHandler sslSetupHandler = >>>>>>>> (clientAuth != null || httpsProtocols != >>>>>>>> null) ? new >>>>>>>> ServerSSLSetupHandler(clientAuth,httpsProtocols) : null;* >>>>>>>> >>>>>>>> it seems like if SSLVerifyClient parameter not defined then >>>>>>>> *ServerSSLSetupHandler()* isn't get invoked. Do we need this >>>>>>>> "SSLVerifyClient" parameter set to "required" in order to verify ocsp >>>>>>>> and >>>>>>>> crl ? >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Sat, Mar 15, 2014 at 12:20 AM, Jeewantha Dharmaparakrama < >>>>>>>> jeewan...@wso2.com> wrote: >>>>>>>> >>>>>>>>> Hi Sudheera, >>>>>>>>> >>>>>>>>> You don't need SSL Profiles to talk to HTTPS backends. SSL >>>>>>>>> profiles are to define different SSL configurations (Trust stores, >>>>>>>>> Keystores) to different backends. And according to the logs, the >>>>>>>>> connection >>>>>>>>> is not made to an HTTPS backend. Error occurs during SSL handshake. >>>>>>>>> >>>>>>>>> To make an HTTPS connection just host your service in some server >>>>>>>>> (doesnt matter which) and in the ESB define the endpoint to connect >>>>>>>>> to the >>>>>>>>> https port with the correct HTTPS endpoint URL. >>>>>>>>> >>>>>>>>> However to test OCSP/CRL you cant use a carbon server which runs >>>>>>>>> in your local macine. The reason is, the certificates defined in the >>>>>>>>> Carbon >>>>>>>>> Servers are fake (Self signed). That's why the web browser says >>>>>>>>> "Untrusted >>>>>>>>> connection" when you try connect to the management console of a >>>>>>>>> locally >>>>>>>>> running carbon server. And in those fake certificates, the CRL/OCSP >>>>>>>>> urls >>>>>>>>> are not defined. So you cant test OCSP/CRL feature that way. >>>>>>>>> >>>>>>>>> So don't run the backend in your local machine. Instead, use some >>>>>>>>> HTTPS backend like https://www.facebook.com or if you need a >>>>>>>>> webservice use the echo service in Stratos Live[1] . Stratos live uses >>>>>>>>> valid WSO2 certificates signed by Digicert, a valid CA which has its >>>>>>>>> OCSP/CRL servers running[2]. >>>>>>>>> >>>>>>>>> [1] https://stratoslive.wso2.com/services/echo?wsdl >>>>>>>>> [2] http://www.digicert.com/ >>>>>>>>> >>>>>>>>> If you have more questions please ask on @Dev to be more visible >>>>>>>>> to the public. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Jeewantha >>>>>>>>> >>>>>>>>> >>>>>>>>> On Fri, Mar 14, 2014 at 2:09 AM, Sudheera Palihakkara < >>>>>>>>> sudhe...@wso2.com> wrote: >>>>>>>>> >>>>>>>>>> Hi ayya. >>>>>>>>>> >>>>>>>>>> I'm trying to invoke the already implemented ocsp at the >>>>>>>>>> transport sender and get an idea about the flow. But I'm having some >>>>>>>>>> difficulties during the process. here's what I've done >>>>>>>>>> >>>>>>>>>> 1 . followed this >>>>>>>>>> [1<http://pathberiya.blogspot.com/2010/07/ssl-profiles-in-wso2-esb.html>] >>>>>>>>>> document to create the SSL profiles. (used same axis2.xml with >>>>>>>>>> password as >>>>>>>>>> *wso2carbon* ) >>>>>>>>>> 2. Started a separate DSS with clientAuth="true" in >>>>>>>>>> catalina-server.xml >>>>>>>>>> 3. created a proxy service in ESB to invoke *echo service*deployed >>>>>>>>>> at DSS with use of >>>>>>>>>> *https* in the endppoint. >>>>>>>>>> >>>>>>>>>> When I invoked the proxy service I'm getting this error >>>>>>>>>> >>>>>>>>>> *[2014-03-14 13:11:10,725] ERROR - TargetHandler I/O error: >>>>>>>>>> Unrecognized SSL message, plaintext connection?* >>>>>>>>>> >>>>>>>>>> Full error log[2 <http://pastebin.com/5VMK4cnT>]. >>>>>>>>>> >>>>>>>>>> Can you help me out please. I there any other way to test this, I >>>>>>>>>> might need something similar for transport listener too. thank you >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> [1] >>>>>>>>>> http://pathberiya.blogspot.com/2010/07/ssl-profiles-in-wso2-esb.html >>>>>>>>>> [2] http://pastebin.com/5VMK4cnT >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Jeewantha Dharmaparakrama >>>>>>>>> Software Engineer; WSO2, Inc.; http://wso2.com/ >>>>>>>>> Phone : (+94) 774726790 >>>>>>>>> Skype : prasad.jeewantha >>>>>>>>> LinkedIn : http://www.linkedin.com/in/jeewanthad >>>>>>>>> Twitter: https://twitter.com/jeewamp >>>>>>>>> Blog: http://jeewanthad.blogspot.com/ >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Jeewantha Dharmaparakrama >>>>>> Software Engineer; WSO2, Inc.; http://wso2.com/ >>>>>> Phone : (+94) 774726790 >>>>>> Skype : prasad.jeewantha >>>>>> LinkedIn : http://www.linkedin.com/in/jeewanthad >>>>>> Twitter: https://twitter.com/jeewamp >>>>>> Blog: http://jeewanthad.blogspot.com/ >>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Jeewantha Dharmaparakrama >>>> Software Engineer; WSO2, Inc.; http://wso2.com/ >>>> Phone : (+94) 774726790 >>>> Skype : prasad.jeewantha >>>> LinkedIn : http://www.linkedin.com/in/jeewanthad >>>> Twitter: https://twitter.com/jeewamp >>>> Blog: http://jeewanthad.blogspot.com/ >>>> >>> >>> >> >> >> -- >> Jeewantha Dharmaparakrama >> Software Engineer; WSO2, Inc.; http://wso2.com/ >> Phone : (+94) 774726790 >> Skype : prasad.jeewantha >> LinkedIn : http://www.linkedin.com/in/jeewanthad >> Twitter: https://twitter.com/jeewamp >> Blog: http://jeewanthad.blogspot.com/ >> > >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev