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.com@tomcat.apache.org
[mailto:users-return-225336-STEVEN.J.ADAMUS=saic.com@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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@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-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org