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/ >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev