+1. That explains it :). Since you've created the Custom certificates I guess we can write an integration test so that we are done done with this feature. Please talk to Kasun about the integration test.
Note: I dont think I have handled all the OSCP response status values in the code. If you have time try to do some research on how to deal with response statuses like *tryLater*, *sigRequired* and *unauthorized.* Jeewantha On Fri, Mar 21, 2014 at 11:28 AM, Sudheera Palihakkara <sudhe...@wso2.com>wrote: > 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/ >>> >> >> > -- 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