We switched from JSSE to the APR and OpenSSL about 6 months.  We
converted all existing keys and certs to the format required by OpenSSL.
It was not hard.  Some people say it can't be done, but they're wrong.
After 6 months with openSSL, I say it's easier to use than JSSE.  We use
not only server-side certs, we also require client certificate
authentication and perform certificate revocation checking. 

-----Original Message-----
From: users-return-225336-STEVEN.J.ADAMUS=saic....@tomcat.apache.org
[mailto:users-return-225336-STEVEN.J.ADAMUS=saic....@tomcat.apache.org]
On Behalf Of Pid
Sent: Friday, June 10, 2011 1:37 PM
To: Tomcat Users List
Subject: Re: My web application to use SSL (JSSE - RSA)

On 10/06/2011 21:29, Patrick Flaherty wrote:
> Hi,
> 
> Is APR/native Connector dramatically faster then Java Nio Blocking 
> Connector or is it marginal ?

APR+SSL is a little faster, if I remember correctly, Chris?

> I'd love faster SSL but all my keys and certs are java based
(keytool).
> Will APR ever support Java SSL ?

No.

> I find Java keytool to be reasonably easy to use. Is OpenSSL as easy 
> to use ?

Yes.


p

> Thanks for any input.
> 
> Pat
> 
> On Jun 10, 2011, at 3:59 PM, Christopher Schultz wrote:
> 
> Charles,
> 
> On 6/10/2011 9:25 AM, Charles Van Damme wrote:
>>>> 10-jun-2011 15:14:11 org.apache.catalina.core.AprLifecycleListener 
>>>> init
>>>> INFO: The APR based Apache Tomcat Native library which allows 
>>>> optimal performance in production environments was not found on the
>>>> java.library.path: [...]
> 
> FWIW, that's just an INFO message, but if you are going to be using 
> SSL, you might want to go ahead and install the APR library: your 
> performance will improve measurably. Note that <Connector> 
> configuration for an APR connector using SSL is completely different 
> if you choose to go this route.
> 
> If you are not going to be using APR, you can disable the APR 
> lifecycle listener because you aren't using it.
> 
>>>> java.security.NoSuchAlgorithmException: RSA SSLContext not 
>>>> available
> 
> As Pid points out, it's pretty obvious that "RSA" is not a valid 
> algorithm in this situation:
> 
>>>>     at
sun.security.jca.GetInstance.getInstance(GetInstance.java:142)
>>>>     at javax.net.ssl.SSLContext.getInstance(SSLContext.java:125)
>>>>     at
>>>> org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSSLContext(
>>>> JSSESocketFactory.java:490)
>>>>
> 
> So, it's an SSL configuration problem. Let's look at your SSL
> <Connector>:
> 
>>>>     <!-- Define a non-blocking Java SSL Coyote HTTP/1.1 Connector 
>>>> on port
>>>> 443 -->
>>>>     <Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
>>>> port="443"
>>>>                maxThreads="150" scheme="https" secure="true"
>>>> SSLEnabled="true"
>>>>                keystoreFile="C:/Documents and
Settings/Papa/.keystore"
>>>> keystorePass="changeit"
>>>>                clientAuth="false" sslProtocol="RSA" />
> 
> SO, you have sslProtocol="RSA"... seems like a good place to look. If 
> you check the <Connector> documentation, you can see that there are 
> only a few recognized protocols you can choose.
> 
> http://tomcat.apache.org/tomcat-7.0-doc/config/http.html#SSL_Support
> 
> Note that "protocol" refers to the protocol used for SSL, not for any 
> specific cipher, key exchange strategy, etc. Unfortunately, the Tomcat

> documentation does not list all the available protocols, nor should
it:
> the protocols available to you are determined by JVM support.
> 
> The Javadoc for javax.net.ssl.SSLContext.getInstance has a pointer to 
> documentation for "standard names" (which takes you through several 
> hops
> to) here:
> http://download.oracle.com/javase/6/docs/technotes/guides/security/Sta
> ndardNames.html#SSLContext
> 
> 
> Those are the valid ssl protocol names you can choose.
> 
> If you want use only ciphers that use the RSA algorithm (which is 
> really limiting, IMO), you can look up their names here (after 
> scrolling a bit
> downward):
> 
> http://download.oracle.com/javase/6/docs/technotes/guides/security/Sta
> ndardNames.html#jssenames
> 
> 
> Just look for stuff like SSL_DH_DSS_blah_blah_blah.
> 
> Of course, support for a certain algorithm might not be available in 
> your environment. It's best to find out what your JVM supports and use

> that.
> 
> I wrote a short bit of code a while back to determine the supported 
> algorithms and the default cipher suite for an SSLSocketFactory. I'll 
> try to dig it up and post it.
> 
>>>>     <!-- Define an AJP 1.3 Connector on port 8009 -->
>>>>     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" 
>>>> />
> 
> If you aren't using AJP, then disable the extra connector.
> 
>>>> Hoping you are not overwhelmed. Anything else ?
> 
> You had other errors in the log file. After you get SSL working 
> properly, stop Tomcat, delete all your logs and re-launch it. Anything

> that looks like an error should be investigated and fixed.
> 
> Feel free to come back to the list for help on those additional
issues:
> just remember start a new thread if you do.
> 
> -chris
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org
>>

> Patrick Flaherty       

> Rampage Systems Inc.       
> 411 Waverley Oaks Rd.       
> Suite 138
> Waltham, MA. 02452-8405
> 781-891-9400 x239   







> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to