there is also a bug fixed for the support of TLS1.1 and TLS1.2 by Marcel
Šebek. may be that need to apply
https://issues.apache.org/bugzilla/show_bug.cgi?id=53952#c1



On Sun, Jan 5, 2014 at 8:18 AM, Sanaullah <sanaulla...@gmail.com> wrote:

> you can create the ECC self singed certificates using the below two
> commands of Openssl
>
> openssl ecparam -out sinful.key -name prime256v1 -genkey
> openssl req -x509 -new -key sinful.key -out sinful-ca.pem -outform PEM
> -days 3650
>
> root@ubuntu:/# openssl s_client -connect localhost:8443
> CONNECTED(00000003)
> Server certificate
> -----BEGIN CERTIFICATE-----
> MIIB5zCCAY6gAwIBAgIJAIgQsiTjPbouMAkGByqGSM49BAEwUTELMAkGA1UEBhMC
> TVgxEzARBgNVBAgMClNvbWUtU3RhdGUxDDAKBgNVBAoMA3VuaTEOMAwGA1UECwwF
> YWRtaW4xDzANBgNVBAMMBnVidW50dTAeFw0xNDAxMDUwMjE0NDZaFw0yNDAxMDMw
> MjE0NDZaMFExCzAJBgNVBAYTAk1YMRMwEQYDVQQIDApTb21lLVN0YXRlMQwwCgYD
> VQQKDAN1bmkxDjAMBgNVBAsMBWFkbWluMQ8wDQYDVQQDDAZ1YnVudHUwWTATBgcq
> hkjOPQIBBggqhkjOPQMBBwNCAAQMy2uSVwbPg1wPOXrqsnvE7YZZ46k1HzMGlpJg
> +aPFJOKAbYuMYG6f5PY634Qn6qWBuyeorj8epZBlY1f573Kko1AwTjAdBgNVHQ4E
> FgQU6k2A1GIkIUw+BkDRJLV+664BKQYwHwYDVR0jBBgwFoAU6k2A1GIkIUw+BkDR
> JLV+664BKQYwDAYDVR0TBAUwAwEB/zAJBgcqhkjOPQQBA0gAMEUCIQCYpIAwCJ+p
> X/C2F6Cqa3xU6dpfuFnwqHL4PfQX4Yv+TQIgewShairhIVKvpWicOnuChYY72RjZ
> EmVg3uQq9XxPfiI=
> -----END CERTIFICATE-----
>
> ---
> SSL handshake has read 836 bytes and written 453 bytes
> ---
> New, TLSv1/SSLv3, Cipher is ECDH-ECDSA-AES256-SHA
> Server public key is 256 bit
> Secure Renegotiation IS supported
>
> Compression: NONE
> Expansion: NONE
> SSL-Session:
>     Protocol  : TLSv1
>     Cipher    : ECDH-ECDSA-AES256-SHA
>     Session-ID:
> 0BC1B06C5FF21C1AF5E303269E3FF71D4ADBD65F2D9C89E82E1C7EF5A285EC12
>     Session-ID-ctx:
>     Master-Key:
> 7C86159B8A5003E2812D464FD59BD1ED05B87FE68123BAE0B3F5C7C773ACD76133F109E3525560DCFF9687C6DFB764D1
>
>     Key-Arg   : None
>     PSK identity: None
>     PSK identity hint: None
>     SRP username: None
>     TLS session ticket lifetime hint: 7200 (seconds)
>     TLS session ticket:
>     0000 - 39 18 5f 31 c0 e2 a0 1e-78 b8 66 7d 47 7b 1c de
> 9._1....x.f}G{..
>     0010 - 84 88 b3 25 b3 15 0c ca-d1 37 73 be 50 b8 8e 3e
> ...%.....7s.P..>
>     0020 - e5 51 62 04 8f 84 c6 b5-a9 6d aa 36 97 85 e9 05
> .Qb......m.6....
>     0030 - 71 5e d5 83 c3 88 fb 34-c2 98 5b b4 18 09 89 1f
> q^.....4..[.....
>     0040 - 5c 3f 6d cf 16 a5 3b 7f-dc 36 0d 3f fa 8d 55 b4
> \?m...;..6.?..U.
>     0050 - 48 37 73 8f 75 22 88 da-28 e7 16 06 7c b2 ad 36
> H7s.u"..(...|..6
>     0060 - 44 16 de e3 12 31 33 6e-51 19 4f 5e b7 d9 08 ab
> D....13nQ.O^....
>     0070 - 90 ce 7b eb 69 e4 8a 77-ca 3a de 6a ec f9 30 7c
> ..{.i..w.:.j..0|
>     0080 - eb a0 e6 3f 8c 16 61 c4-2d 58 4b 9b fc 14 b5 84
> ...?..a.-XK.....
>     0090 - 49 4c 22 6d 56 a5 55 e4-16 27 7a 3f a4 d8 96 91
> IL"mV.U..'z?....
>     00a0 - a1 b6 bd 9c ef e9 fd 4e-77 e4 b2 22 13 d0 95 68
> .......Nw.."...h
>
>     Start Time: 1388891510
>     Timeout   : 300 (sec)
>     Verify return code: 18 (self signed certificate)
> ---
>
>
> I am also unable to initialize any TLS1.1 or TLS1.2 related ECC Ciphers
>
> Here is my config
> tomcat 7.0.47
> libapr 1.5.0-1
> tcnative 1.1.29-1
>
> <Connector port="8443"
>                SSLEnabled="true"
>                maxThreads="150" scheme="https" secure="true"
>                clientAuth="false" sslProtocol="TLS"
>                SSLProtocol="all"
>                SSLCertificateFile="/home/san/sinful.pem"
>                SSLCertificateKeyFile="/home/san/sinful.key" />
>
>
>
>
> On Sun, Jan 5, 2014 at 6:02 AM, Christopher Schultz <
> ch...@christopherschultz.net> wrote:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA256
>>
>> Mark,
>>
>> On 1/4/14, 6:37 PM, Mark Eggers wrote:
>> > On 1/4/2014 1:18 PM, Christopher Schultz wrote:
>> >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
>> >>
>> >> Musassir,
>> >>
>> >> On 1/4/14, 4:08 PM, Christopher Schultz wrote:
>> >>> Musassir,
>> >>>
>> >>> On 1/3/14, 5:27 PM, Mudassir Aftab wrote:
>> >>>> Again, we have to submit this as a bug.....TLS 1.2 is not
>> >>>> working in Tomcat
>> >>>
>> >>> Tomcat 7.0.74 Oracle Java 1.7.0_45 tcnative 1.1.29 trunk
>> >>> (essentially 1.2.29
>> >>>
>> >>> tcnative$ make clean tcnative$ ./configure --with-apr=`which
>> >>> apr-config` --with-java-home=/usr/local/java-7 --with-ssl
>> >>> tcnative$ time make [...] make[1]: Leaving directory
>> >>> `/home/cschultz/projects/tomcat-native-1.1.x/native'
>> >>>
>> >>> real    0m14.790s user    0m15.300s sys    0m1.840s
>> >>>
>> >>> tcnative$ cp -d .libs/* $CATALINA_HOME/bin
>> >>>
>> >>> tcnative$ cd $CATALINA_BASE
>> >>>
>> >>> tomcat$ cat conf/server.xml
>> >>>
>> >>> [...] <Connector port="8218"
>> >>> protocol="org.apache.coyote.http11.Http11AprProtocol"
>> >>> SSLEnabled="true" secure="true" scheme="https"
>> >>> SSLCertificateKeyFile="[...]" SSLCertificateFile="[...]"
>> >>> SSLCertificateChainFile="[...]" SSLProtocol="all"
>> >>> executor="tomcatThreadPool" URIEncoding="UTF-8" /> [...]
>> >>>
>> >>> tomcat$ bin/startup.sh
>> >>>
>> >>> [...] Jan 04, 2014 3:17:26 PM
>> >>> org.apache.catalina.core.AprLifecycleListener init INFO: Loaded
>> >>> APR based Apache Tomcat Native library 1.1.30 using APR version
>> >>> 1.4.6. Jan 04, 2014 3:17:26 PM
>> >>> org.apache.catalina.core.AprLifecycleListener init INFO: APR
>> >>> capabilities: IPv6 [true], sendfile [true], accept filters
>> >>> [false], random [true]. Jan 04, 2014 3:17:26 PM
>> >>> org.apache.catalina.core.AprLifecycleListener initializeSSL
>> >>> INFO: OpenSSL successfully initialized (OpenSSL 1.0.1e 11 Feb
>> >>> 2013) [...]
>> >>>
>> >>> tomcat$ openssl s_client -connect myhost:8218 [...] verify
>> >>> error:num=19:self signed certificate in certificate chain
>> >>> [...] SSL-Session: Protocol  : TLSv1.2 Cipher    :
>> >>> DHE-RSA-AES256-GCM-SHA384 [...]
>> >>>
>> >>> *disconnect*
>> >>>
>> >>> I can confirm that Mozilla Firefox 26 on Mac OS X 10.9 can
>> >>> connect using TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA cipher.
>> >>>
>> >>> Looks like TLS1.2 works just fine in the default configuration
>> >>> (SSLProtocol="all" is the default).
>> >>>
>> >>> Let's try your configuration. I'm only going to change
>> >>> SSLProtocol from "all" to "TLSv1":
>> >>>
>> >>> <Connector port="8218"
>> >>> protocol="org.apache.coyote.http11.Http11AprProtocol"
>> >>> SSLEnabled="true" secure="true" scheme="https"
>> >>> SSLCertificateKeyFile="[...]" SSLCertificateFile="[...]"
>> >>> SSLCertificateChainFile="[...]" SSLProtocol="TLSv1"
>> >>> executor="tomcatThreadPool" URIEncoding="UTF-8" />
>> >>>
>> >>> * Restart Tomcat*
>> >>>
>> >>> tomcat$ openssl s_client -connect myhost:8218 [...]
>> >>> SSL-Session: Protocol  : TLSv1 Cipher    : DHE-RSA-AES256-SHA
>> >>> [...]
>> >>>
>> >>> Trying again with Firefox 26 give me
>> >>> cipher=TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA.
>> >>>
>> >>> Let's try restricting to only your cipher. Let's make sure that
>> >>> my OpenSSL version supports it, first:
>> >>>
>> >>> tomcat$ openssl ciphers -v | grep ECDHE-ECDSA-AES128-SHA256
>> >>> ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA
>> >>> Enc=AES(128) Mac=SHA256
>> >>>
>> >>>
>> >>> Yup. Let's configure it in Tomcat:
>> >>>
>> >>> <Connector port="8218"
>> >>> protocol="org.apache.coyote.http11.Http11AprProtocol"
>> >>> SSLEnabled="true" secure="true" scheme="https"
>> >>> SSLCipherSuite="ECDHE-ECDSA-AES128-SHA256"
>> >>> SSLCertificateKeyFile="[...]" SSLCertificateFile="[...]"
>> >>> SSLCertificateChainFile="[...]" SSLProtocol="TLSv1"
>> >>> executor="tomcatThreadPool" URIEncoding="UTF-8" />
>> >>>
>> >>>
>> >>> $ openssl s_client -connect myhost:8218 CONNECTED(00000003)
>> >>> 139718306563752:error:14077410:SSL
>> >>> routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake
>> >>> failure:s23_clnt.c:741:
>> >>>
>> >>> $ openssl s_client -tls1 -connect myhost:8218
>> >>> CONNECTED(00000003) 139965071759016:error:14094410:SSL
>> >>> routines:SSL3_READ_BYTES:sslv3 alert handshake
>> >>> failure:s3_pkt.c:1256:SSL alert number 40
>> >>> 139965071759016:error:1409E0E5:SSL
>> >>> routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:596:
>> >>>
>> >>> $ openssl s_client -tls1_1 -connect myhost:8218
>> >>> CONNECTED(00000003) 140680041133736:error:1408F10B:SSL
>> >>> routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:337:
>> >>>
>> >>> $ openssl s_client -tls1_2 -connect myhost:8218
>> >>> CONNECTED(00000003) 139976873068200:error:1408F10B:SSL
>> >>> routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:337:
>> >>>
>> >>> Firefox also fails with "ssl_error_no_cypher_overlap".
>> >>>
>> >>> $ $ sslscan myhost:8218 _ ___ ___| |___  ___ __ _ _ __ / __/
>> >>> __| / __|/ __/ _` | '_ \ \__ \__ \ \__ \ (_| (_| | | | |
>> >>> |___/___/_|___/\___\__,_|_| |_|
>> >>>
>> >>> Version 1.8.2 http://www.titania.co.uk Copyright Ian
>> >>> Ventura-Whiting 2009
>> >>>
>> >>> Testing SSL server myhost on port 8218
>> >>>
>> >>> Supported Server Cipher(s): Failed    SSLv3  256 bits
>> >>> ECDHE-RSA-AES256-GCM-SHA384 Failed    SSLv3  256 bits
>> >>> ECDHE-ECDSA-AES256-GCM-SHA384 Failed    SSLv3  256 bits
>> >>> ECDHE-RSA-AES256-SHA384 Failed    SSLv3  256 bits
>> >>> ECDHE-ECDSA-AES256-SHA384 Rejected  SSLv3  256 bits
>> >>> ECDHE-RSA-AES256-SHA Rejected  SSLv3  256 bits
>> >>> ECDHE-ECDSA-AES256-SHA Rejected  SSLv3  256 bits
>> >>> SRP-DSS-AES-256-CBC-SHA Rejected  SSLv3  256 bits
>> >>> SRP-RSA-AES-256-CBC-SHA Failed    SSLv3  256 bits
>> >>> DHE-DSS-AES256-GCM-SHA384 Failed    SSLv3  256 bits
>> >>> DHE-RSA-AES256-GCM-SHA384 Failed    SSLv3  256 bits
>> >>> DHE-RSA-AES256-SHA256 Failed    SSLv3  256 bits
>> >>> DHE-DSS-AES256-SHA256 Rejected  SSLv3  256 bits
>> >>> DHE-RSA-AES256-SHA Rejected  SSLv3  256 bits
>> >>> DHE-DSS-AES256-SHA Rejected  SSLv3  256 bits
>> >>> DHE-RSA-CAMELLIA256-SHA Rejected  SSLv3 256 bits
>> >>> DHE-DSS-CAMELLIA256-SHA Rejected  SSLv3  256 bits
>> >>> AECDH-AES256-SHA Rejected  SSLv3  256 bits
>> >>> SRP-AES-256-CBC-SHA Failed    SSLv3  256 bits
>> >>> ADH-AES256-GCM-SHA384 Failed    SSLv3 256 bits
>> >>> ADH-AES256-SHA256 Rejected  SSLv3  256 bits ADH-AES256-SHA
>> >>> Rejected  SSLv3  256 bits  ADH-CAMELLIA256-SHA Failed    SSLv3
>> >>> 256 bits  ECDH-RSA-AES256-GCM-SHA384 Failed SSLv3  256 bits
>> >>> ECDH-ECDSA-AES256-GCM-SHA384 Failed    SSLv3  256 bits
>> >>> ECDH-RSA-AES256-SHA384 Failed    SSLv3  256 bits
>> >>> ECDH-ECDSA-AES256-SHA384 Rejected  SSLv3  256 bits
>> >>> ECDH-RSA-AES256-SHA Rejected  SSLv3  256 bits
>> >>> ECDH-ECDSA-AES256-SHA Failed    SSLv3  256 bits
>> >>> AES256-GCM-SHA384 Failed    SSLv3  256 bits  AES256-SHA256
>> >>> Rejected  SSLv3  256 bits AES256-SHA Rejected  SSLv3  256 bits
>> >>> CAMELLIA256-SHA Failed SSLv3  256 bits  PSK-AES256-CBC-SHA
>> >>> Rejected  SSLv3  168 bits ECDHE-RSA-DES-CBC3-SHA Rejected
>> >>> SSLv3  168 bits ECDHE-ECDSA-DES-CBC3-SHA Rejected  SSLv3  168
>> >>> bits SRP-DSS-3DES-EDE-CBC-SHA Rejected  SSLv3  168 bits
>> >>> SRP-RSA-3DES-EDE-CBC-SHA Rejected  SSLv3  168 bits
>> >>> EDH-RSA-DES-CBC3-SHA Rejected  SSLv3  168 bits
>> >>> EDH-DSS-DES-CBC3-SHA Rejected  SSLv3  168 bits
>> >>> AECDH-DES-CBC3-SHA Rejected  SSLv3  168 bits
>> >>> SRP-3DES-EDE-CBC-SHA Rejected  SSLv3 168 bits  ADH-DES-CBC3-SHA
>> >>> Rejected  SSLv3  168 bits ECDH-RSA-DES-CBC3-SHA Rejected  SSLv3
>> >>> 168 bits ECDH-ECDSA-DES-CBC3-SHA Rejected  SSLv3  168 bits
>> >>> DES-CBC3-SHA Failed    SSLv3  168 bits  PSK-3DES-EDE-CBC-SHA
>> >>> Failed    SSLv3 128 bits  ECDHE-RSA-AES128-GCM-SHA256 Failed
>> >>> SSLv3  128 bits ECDHE-ECDSA-AES128-GCM-SHA256 Failed    SSLv3
>> >>> 128 bits ECDHE-RSA-AES128-SHA256 Failed    SSLv3  128 bits
>> >>> ECDHE-ECDSA-AES128-SHA256 Rejected  SSLv3  128 bits
>> >>> ECDHE-RSA-AES128-SHA Rejected  SSLv3  128 bits
>> >>> ECDHE-ECDSA-AES128-SHA Rejected  SSLv3  128 bits
>> >>> SRP-DSS-AES-128-CBC-SHA Rejected  SSLv3  128 bits
>> >>> SRP-RSA-AES-128-CBC-SHA Failed    SSLv3  128 bits
>> >>> DHE-DSS-AES128-GCM-SHA256 Failed    SSLv3  128 bits
>> >>> DHE-RSA-AES128-GCM-SHA256 Failed    SSLv3  128 bits
>> >>> DHE-RSA-AES128-SHA256 Failed    SSLv3  128 bits
>> >>> DHE-DSS-AES128-SHA256 Rejected  SSLv3  128 bits
>> >>> DHE-RSA-AES128-SHA Rejected  SSLv3  128 bits
>> >>> DHE-DSS-AES128-SHA Rejected  SSLv3  128 bits  DHE-RSA-SEED-SHA
>> >>> Rejected  SSLv3  128 bits  DHE-DSS-SEED-SHA Rejected  SSLv3
>> >>> 128 bits DHE-RSA-CAMELLIA128-SHA Rejected  SSLv3  128 bits
>> >>> DHE-DSS-CAMELLIA128-SHA Rejected  SSLv3  128 bits
>> >>> AECDH-AES128-SHA Rejected  SSLv3  128 bits
>> >>> SRP-AES-128-CBC-SHA Failed    SSLv3  128 bits
>> >>> ADH-AES128-GCM-SHA256 Failed    SSLv3 128 bits
>> >>> ADH-AES128-SHA256 Rejected  SSLv3  128 bits ADH-AES128-SHA
>> >>> Rejected  SSLv3  128 bits  ADH-SEED-SHA Rejected SSLv3  128
>> >>> bits  ADH-CAMELLIA128-SHA Failed    SSLv3  128 bits
>> >>> ECDH-RSA-AES128-GCM-SHA256 Failed    SSLv3  128 bits
>> >>> ECDH-ECDSA-AES128-GCM-SHA256 Failed    SSLv3  128 bits
>> >>> ECDH-RSA-AES128-SHA256 Failed    SSLv3  128 bits
>> >>> ECDH-ECDSA-AES128-SHA256 Rejected  SSLv3  128 bits
>> >>> ECDH-RSA-AES128-SHA Rejected  SSLv3  128 bits
>> >>> ECDH-ECDSA-AES128-SHA Failed    SSLv3  128 bits
>> >>> AES128-GCM-SHA256 Failed    SSLv3  128 bits  AES128-SHA256
>> >>> Rejected  SSLv3  128 bits AES128-SHA Rejected  SSLv3  128 bits
>> >>> SEED-SHA Rejected  SSLv3  128 bits  CAMELLIA128-SHA Failed
>> >>> SSLv3  128 bits PSK-AES128-CBC-SHA Rejected  SSLv3  128 bits
>> >>> ECDHE-RSA-RC4-SHA Rejected  SSLv3  128 bits
>> >>> ECDHE-ECDSA-RC4-SHA Rejected  SSLv3  128 bits  AECDH-RC4-SHA
>> >>> Rejected  SSLv3  128 bits  ADH-RC4-MD5 Rejected SSLv3  128 bits
>> >>> ECDH-RSA-RC4-SHA Rejected  SSLv3  128 bits ECDH-ECDSA-RC4-SHA
>> >>> Rejected  SSLv3  128 bits  RC4-SHA Rejected SSLv3  128 bits
>> >>> RC4-MD5 Failed    SSLv3  128 bits  PSK-RC4-SHA Rejected  SSLv3
>> >>> 56 bits   EDH-RSA-DES-CBC-SHA Rejected  SSLv3  56 bits
>> >>> EDH-DSS-DES-CBC-SHA Rejected  SSLv3  56 bits ADH-DES-CBC-SHA
>> >>> Rejected  SSLv3  56 bits   DES-CBC-SHA Rejected SSLv3  40 bits
>> >>> EXP-EDH-RSA-DES-CBC-SHA Rejected  SSLv3  40 bits
>> >>> EXP-EDH-DSS-DES-CBC-SHA Rejected  SSLv3  40 bits
>> >>> EXP-ADH-DES-CBC-SHA Rejected  SSLv3  40 bits   EXP-DES-CBC-SHA
>> >>> Rejected  SSLv3  40 bits   EXP-RC2-CBC-MD5 Rejected  SSLv3  40
>> >>> bits EXP-ADH-RC4-MD5 Rejected  SSLv3  40 bits   EXP-RC4-MD5
>> >>> Rejected SSLv3  0 bits    ECDHE-RSA-NULL-SHA Rejected  SSLv3  0
>> >>> bits ECDHE-ECDSA-NULL-SHA Rejected  SSLv3  0 bits
>> >>> AECDH-NULL-SHA Rejected  SSLv3  0 bits    ECDH-RSA-NULL-SHA
>> >>> Rejected  SSLv3  0 bits    ECDH-ECDSA-NULL-SHA Failed    SSLv3
>> >>> 0 bits    NULL-SHA256 Rejected  SSLv3  0 bits    NULL-SHA
>> >>> Rejected  SSLv3  0 bits NULL-MD5 Failed    TLSv1  256 bits
>> >>> ECDHE-RSA-AES256-GCM-SHA384 Failed    TLSv1  256 bits
>> >>> ECDHE-ECDSA-AES256-GCM-SHA384 Failed TLSv1  256 bits
>> >>> ECDHE-RSA-AES256-SHA384 Failed    TLSv1  256 bits
>> >>> ECDHE-ECDSA-AES256-SHA384 Rejected  TLSv1  256 bits
>> >>> ECDHE-RSA-AES256-SHA Rejected  TLSv1  256 bits
>> >>> ECDHE-ECDSA-AES256-SHA Rejected  TLSv1  256 bits
>> >>> SRP-DSS-AES-256-CBC-SHA Rejected  TLSv1  256 bits
>> >>> SRP-RSA-AES-256-CBC-SHA Failed    TLSv1  256 bits
>> >>> DHE-DSS-AES256-GCM-SHA384 Failed    TLSv1  256 bits
>> >>> DHE-RSA-AES256-GCM-SHA384 Failed    TLSv1  256 bits
>> >>> DHE-RSA-AES256-SHA256 Failed    TLSv1  256 bits
>> >>> DHE-DSS-AES256-SHA256 Rejected  TLSv1  256 bits
>> >>> DHE-RSA-AES256-SHA Rejected  TLSv1  256 bits
>> >>> DHE-DSS-AES256-SHA Rejected  TLSv1  256 bits
>> >>> DHE-RSA-CAMELLIA256-SHA Rejected  TLSv1 256 bits
>> >>> DHE-DSS-CAMELLIA256-SHA Rejected  TLSv1  256 bits
>> >>> AECDH-AES256-SHA Rejected  TLSv1  256 bits
>> >>> SRP-AES-256-CBC-SHA Failed    TLSv1  256 bits
>> >>> ADH-AES256-GCM-SHA384 Failed    TLSv1 256 bits
>> >>> ADH-AES256-SHA256 Rejected  TLSv1  256 bits ADH-AES256-SHA
>> >>> Rejected  TLSv1  256 bits  ADH-CAMELLIA256-SHA Failed    TLSv1
>> >>> 256 bits  ECDH-RSA-AES256-GCM-SHA384 Failed TLSv1  256 bits
>> >>> ECDH-ECDSA-AES256-GCM-SHA384 Failed    TLSv1  256 bits
>> >>> ECDH-RSA-AES256-SHA384 Failed    TLSv1  256 bits
>> >>> ECDH-ECDSA-AES256-SHA384 Rejected  TLSv1  256 bits
>> >>> ECDH-RSA-AES256-SHA Rejected  TLSv1  256 bits
>> >>> ECDH-ECDSA-AES256-SHA Failed    TLSv1  256 bits
>> >>> AES256-GCM-SHA384 Failed    TLSv1  256 bits  AES256-SHA256
>> >>> Rejected  TLSv1  256 bits AES256-SHA Rejected  TLSv1  256 bits
>> >>> CAMELLIA256-SHA Failed TLSv1  256 bits  PSK-AES256-CBC-SHA
>> >>> Rejected  TLSv1  168 bits ECDHE-RSA-DES-CBC3-SHA Rejected
>> >>> TLSv1  168 bits ECDHE-ECDSA-DES-CBC3-SHA Rejected  TLSv1  168
>> >>> bits SRP-DSS-3DES-EDE-CBC-SHA Rejected  TLSv1  168 bits
>> >>> SRP-RSA-3DES-EDE-CBC-SHA Rejected  TLSv1  168 bits
>> >>> EDH-RSA-DES-CBC3-SHA Rejected  TLSv1  168 bits
>> >>> EDH-DSS-DES-CBC3-SHA Rejected  TLSv1  168 bits
>> >>> AECDH-DES-CBC3-SHA Rejected  TLSv1  168 bits
>> >>> SRP-3DES-EDE-CBC-SHA Rejected  TLSv1 168 bits  ADH-DES-CBC3-SHA
>> >>> Rejected  TLSv1  168 bits ECDH-RSA-DES-CBC3-SHA Rejected  TLSv1
>> >>> 168 bits ECDH-ECDSA-DES-CBC3-SHA Rejected  TLSv1  168 bits
>> >>> DES-CBC3-SHA Failed    TLSv1  168 bits  PSK-3DES-EDE-CBC-SHA
>> >>> Failed    TLSv1 128 bits  ECDHE-RSA-AES128-GCM-SHA256 Failed
>> >>> TLSv1  128 bits ECDHE-ECDSA-AES128-GCM-SHA256 Failed    TLSv1
>> >>> 128 bits ECDHE-RSA-AES128-SHA256 Failed    TLSv1  128 bits
>> >>> ECDHE-ECDSA-AES128-SHA256 Rejected  TLSv1  128 bits
>> >>> ECDHE-RSA-AES128-SHA Rejected  TLSv1  128 bits
>> >>> ECDHE-ECDSA-AES128-SHA Rejected  TLSv1  128 bits
>> >>> SRP-DSS-AES-128-CBC-SHA Rejected  TLSv1  128 bits
>> >>> SRP-RSA-AES-128-CBC-SHA Failed    TLSv1  128 bits
>> >>> DHE-DSS-AES128-GCM-SHA256 Failed    TLSv1  128 bits
>> >>> DHE-RSA-AES128-GCM-SHA256 Failed    TLSv1  128 bits
>> >>> DHE-RSA-AES128-SHA256 Failed    TLSv1  128 bits
>> >>> DHE-DSS-AES128-SHA256 Rejected  TLSv1  128 bits
>> >>> DHE-RSA-AES128-SHA Rejected  TLSv1  128 bits
>> >>> DHE-DSS-AES128-SHA Rejected  TLSv1  128 bits  DHE-RSA-SEED-SHA
>> >>> Rejected  TLSv1  128 bits  DHE-DSS-SEED-SHA Rejected  TLSv1
>> >>> 128 bits DHE-RSA-CAMELLIA128-SHA Rejected  TLSv1  128 bits
>> >>> DHE-DSS-CAMELLIA128-SHA Rejected  TLSv1  128 bits
>> >>> AECDH-AES128-SHA Rejected  TLSv1  128 bits
>> >>> SRP-AES-128-CBC-SHA Failed    TLSv1  128 bits
>> >>> ADH-AES128-GCM-SHA256 Failed    TLSv1 128 bits
>> >>> ADH-AES128-SHA256 Rejected  TLSv1  128 bits ADH-AES128-SHA
>> >>> Rejected  TLSv1  128 bits  ADH-SEED-SHA Rejected TLSv1  128
>> >>> bits  ADH-CAMELLIA128-SHA Failed    TLSv1  128 bits
>> >>> ECDH-RSA-AES128-GCM-SHA256 Failed    TLSv1  128 bits
>> >>> ECDH-ECDSA-AES128-GCM-SHA256 Failed    TLSv1  128 bits
>> >>> ECDH-RSA-AES128-SHA256 Failed    TLSv1  128 bits
>> >>> ECDH-ECDSA-AES128-SHA256 Rejected  TLSv1  128 bits
>> >>> ECDH-RSA-AES128-SHA Rejected  TLSv1  128 bits
>> >>> ECDH-ECDSA-AES128-SHA Failed    TLSv1  128 bits
>> >>> AES128-GCM-SHA256 Failed    TLSv1  128 bits  AES128-SHA256
>> >>> Rejected  TLSv1  128 bits AES128-SHA Rejected  TLSv1  128 bits
>> >>> SEED-SHA Rejected  TLSv1  128 bits  CAMELLIA128-SHA Failed
>> >>> TLSv1  128 bits PSK-AES128-CBC-SHA Rejected  TLSv1  128 bits
>> >>> ECDHE-RSA-RC4-SHA Rejected  TLSv1  128 bits
>> >>> ECDHE-ECDSA-RC4-SHA Rejected  TLSv1  128 bits  AECDH-RC4-SHA
>> >>> Rejected  TLSv1  128 bits  ADH-RC4-MD5 Rejected TLSv1  128 bits
>> >>> ECDH-RSA-RC4-SHA Rejected  TLSv1  128 bits ECDH-ECDSA-RC4-SHA
>> >>> Rejected  TLSv1  128 bits  RC4-SHA Rejected TLSv1  128 bits
>> >>> RC4-MD5 Failed    TLSv1  128 bits  PSK-RC4-SHA Rejected  TLSv1
>> >>> 56 bits   EDH-RSA-DES-CBC-SHA Rejected  TLSv1  56 bits
>> >>> EDH-DSS-DES-CBC-SHA Rejected  TLSv1  56 bits ADH-DES-CBC-SHA
>> >>> Rejected  TLSv1  56 bits   DES-CBC-SHA Rejected TLSv1  40 bits
>> >>> EXP-EDH-RSA-DES-CBC-SHA Rejected  TLSv1  40 bits
>> >>> EXP-EDH-DSS-DES-CBC-SHA Rejected  TLSv1  40 bits
>> >>> EXP-ADH-DES-CBC-SHA Rejected  TLSv1  40 bits   EXP-DES-CBC-SHA
>> >>> Rejected  TLSv1  40 bits   EXP-RC2-CBC-MD5 Rejected  TLSv1  40
>> >>> bits EXP-ADH-RC4-MD5 Rejected  TLSv1  40 bits   EXP-RC4-MD5
>> >>> Rejected TLSv1  0 bits    ECDHE-RSA-NULL-SHA Rejected  TLSv1  0
>> >>> bits ECDHE-ECDSA-NULL-SHA Rejected  TLSv1  0 bits
>> >>> AECDH-NULL-SHA Rejected  TLSv1  0 bits    ECDH-RSA-NULL-SHA
>> >>> Rejected  TLSv1  0 bits    ECDH-ECDSA-NULL-SHA Failed    TLSv1
>> >>> 0 bits    NULL-SHA256 Rejected  TLSv1  0 bits    NULL-SHA
>> >>> Rejected  TLSv1  0 bits NULL-MD5
>> >>>
>> >>> The cipher appears to be supported by both client (OpenSSL
>> >>> s_client) and server (Also using the same version of OpenSSL)
>> >>> but the handshake cannot complete.
>> >>>
>> >>> Let's try another cipher. How about one that worked before:
>> >>> DHE-RSA-AES256-SHA
>> >>>
>> >>>
>> >>> <Connector port="8218"
>> >>> protocol="org.apache.coyote.http11.Http11AprProtocol"
>> >>> SSLEnabled="true" secure="true" scheme="https"
>> >>> SSLCipherSuite="DHE-RSA-AES256-SHA"
>> >>> SSLCertificateKeyFile="[...]" SSLCertificateFile="[...]"
>> >>> SSLCertificateChainFile="[...]" SSLProtocol="TLSv1"
>> >>> executor="tomcatThreadPool" URIEncoding="UTF-8" />
>> >>>
>> >>> $ openssl c_client -connect myhost:8218 [...] SSL-Session:
>> >>> Protocol : TLSv1 Cipher    : DHE-RSA-AES256-SHA [...]
>> >>>
>> >>> Works. Firefox 26 also works.
>> >>>
>> >>> There must be some kind of problem with configuring
>> >>> ECDHE-ECDSA-AES128-SHA256 specifically. Try another cipher?
>> >>
>> >> Oh, I also tried this:
>> >>
>> >> <Connector port="8218"
>> >> protocol="org.apache.coyote.http11.Http11AprProtocol"
>> >> SSLEnabled="true" secure="true" scheme="https"
>> >> SSLCertificateKeyFile="[...]" SSLCertificateFile="[...]"
>> >> SSLCertificateChainFile="[...]" SSLProtocol="TLSv1"
>> >> executor="tomcatThreadPool" URIEncoding="UTF-8" />
>> >>
>> >> $ openssl s_client -connect myhost:8218 -cipher
>> >> ECDHE-ECDSA-AES128-SHA256 CONNECTED(00000003)
>> >> 140418231797416:error:14077410:SSL
>> >> routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake
>> >> failure:s23_clnt.c:741:
>> >>
>> >> (Try some other cipher) $ openssl s_client -connect myhost:8218
>> >> -cipher DHE-RSA-AES256-SHA
>> >>
>> >> [...] SSL-Session: Protocol  : TLSv1 Cipher    :
>> >> DHE-RSA-AES256-SHA [...]
>> >>
>> >> $ sslscan myhost:8218 | grep ECDHE-ECDSA Failed    SSLv3  256
>> >> bits  ECDHE-ECDSA-AES256-GCM-SHA384 Failed    SSLv3  256 bits
>> >> ECDHE-ECDSA-AES256-SHA384 Rejected  SSLv3  256 bits
>> >> ECDHE-ECDSA-AES256-SHA Rejected  SSLv3  168 bits
>> >> ECDHE-ECDSA-DES-CBC3-SHA Failed    SSLv3  128 bits
>> >> ECDHE-ECDSA-AES128-GCM-SHA256 Failed    SSLv3  128 bits
>> >> ECDHE-ECDSA-AES128-SHA256 Rejected  SSLv3  128 bits
>> >> ECDHE-ECDSA-AES128-SHA Rejected  SSLv3  128 bits
>> >> ECDHE-ECDSA-RC4-SHA Rejected  SSLv3  0 bits
>> >> ECDHE-ECDSA-NULL-SHA Failed    TLSv1  256 bits
>> >> ECDHE-ECDSA-AES256-GCM-SHA384 Failed    TLSv1  256 bits
>> >> ECDHE-ECDSA-AES256-SHA384 Rejected  TLSv1  256 bits
>> >> ECDHE-ECDSA-AES256-SHA Rejected  TLSv1  168 bits
>> >> ECDHE-ECDSA-DES-CBC3-SHA Failed    TLSv1  128 bits
>> >> ECDHE-ECDSA-AES128-GCM-SHA256 Failed    TLSv1  128 bits
>> >> ECDHE-ECDSA-AES128-SHA256 Rejected  TLSv1  128 bits
>> >> ECDHE-ECDSA-AES128-SHA Rejected  TLSv1  128 bits
>> >> ECDHE-ECDSA-RC4-SHA Rejected  TLSv1  0 bits
>> >> ECDHE-ECDSA-NULL-SHA
>> >>
>> >> It looks like there is something wrong with the ECDHE-ECDSA
>> >> suites. If anything, this is an OpenSSL problem and not a Tomcat
>> >> one: Tomcat doesn't do anything with the crypto, here.
>> >>
>> >> - -chris
>> >
>> > Did you make an ECDSA cert?
>> >
>> > . . . . still in RFP response mode, so only 1/2 cent here
>>
>> ECDHE is Elliptic curve Diffie–Hellman Exchange, which is just DHE
>> with elliptic curve. Note that I was able to use other (non-EC) DHE
>> ciphers.
>>
>> AFAIK, the only choice you have when creating an SSL/TLS certificate
>> is whether to create an RSA or DSA key. The problem is more likely
>> that the "ECDSA" part of the algorithm won't work without a DSA key.
>>
>> Thanks for pointing that out.
>>
>> On the other hand, it appears that no ECDHE ciphers are working:
>>
>> $ sslscan myhost:8218 | grep ECDHE
>>     Failed    SSLv3  256 bits  ECDHE-RSA-AES256-GCM-SHA384
>>     Failed    SSLv3  256 bits  ECDHE-ECDSA-AES256-GCM-SHA384
>>     Failed    SSLv3  256 bits  ECDHE-RSA-AES256-SHA384
>>     Failed    SSLv3  256 bits  ECDHE-ECDSA-AES256-SHA384
>>     Rejected  SSLv3  256 bits  ECDHE-RSA-AES256-SHA
>>     Rejected  SSLv3  256 bits  ECDHE-ECDSA-AES256-SHA
>>     Rejected  SSLv3  168 bits  ECDHE-RSA-DES-CBC3-SHA
>>     Rejected  SSLv3  168 bits  ECDHE-ECDSA-DES-CBC3-SHA
>>     Failed    SSLv3  128 bits  ECDHE-RSA-AES128-GCM-SHA256
>>     Failed    SSLv3  128 bits  ECDHE-ECDSA-AES128-GCM-SHA256
>>     Failed    SSLv3  128 bits  ECDHE-RSA-AES128-SHA256
>>     Failed    SSLv3  128 bits  ECDHE-ECDSA-AES128-SHA256
>>     Rejected  SSLv3  128 bits  ECDHE-RSA-AES128-SHA
>>     Rejected  SSLv3  128 bits  ECDHE-ECDSA-AES128-SHA
>>     Rejected  SSLv3  128 bits  ECDHE-RSA-RC4-SHA
>>     Rejected  SSLv3  128 bits  ECDHE-ECDSA-RC4-SHA
>>     Rejected  SSLv3  0 bits    ECDHE-RSA-NULL-SHA
>>     Rejected  SSLv3  0 bits    ECDHE-ECDSA-NULL-SHA
>>     Failed    TLSv1  256 bits  ECDHE-RSA-AES256-GCM-SHA384
>>     Failed    TLSv1  256 bits  ECDHE-ECDSA-AES256-GCM-SHA384
>>     Failed    TLSv1  256 bits  ECDHE-RSA-AES256-SHA384
>>     Failed    TLSv1  256 bits  ECDHE-ECDSA-AES256-SHA384
>>     Rejected  TLSv1  256 bits  ECDHE-RSA-AES256-SHA
>>     Rejected  TLSv1  256 bits  ECDHE-ECDSA-AES256-SHA
>>     Rejected  TLSv1  168 bits  ECDHE-RSA-DES-CBC3-SHA
>>     Rejected  TLSv1  168 bits  ECDHE-ECDSA-DES-CBC3-SHA
>>     Failed    TLSv1  128 bits  ECDHE-RSA-AES128-GCM-SHA256
>>     Failed    TLSv1  128 bits  ECDHE-ECDSA-AES128-GCM-SHA256
>>     Failed    TLSv1  128 bits  ECDHE-RSA-AES128-SHA256
>>     Failed    TLSv1  128 bits  ECDHE-ECDSA-AES128-SHA256
>>     Rejected  TLSv1  128 bits  ECDHE-RSA-AES128-SHA
>>     Rejected  TLSv1  128 bits  ECDHE-ECDSA-AES128-SHA
>>     Rejected  TLSv1  128 bits  ECDHE-RSA-RC4-SHA
>>     Rejected  TLSv1  128 bits  ECDHE-ECDSA-RC4-SHA
>>     Rejected  TLSv1  0 bits    ECDHE-RSA-NULL-SHA
>>     Rejected  TLSv1  0 bits    ECDHE-ECDSA-NULL-SHA
>>
>> OpenSSL does have a few new tricks since the EC stuff was added, though:
>>
>> $ openssl --help
>> [...]
>> dhparam
>> ecparam
>> ec
>> gendh
>> genpkey
>> pkeyparam
>> [...]
>>
>> It looks like these algorithms probably *do* require a different
>> flavor of key, and not just a standard RSA key like most folks are
>> used to (and even if the algorithm contains "RSA" and not "DSA", among
>> other things).
>>
>> - -chris
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1
>> Comment: GPGTools - http://gpgtools.org
>> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>>
>> iQIcBAEBCAAGBQJSyK8XAAoJEBzwKT+lPKRYcTIP/3fxN7Ctf+ROs2hbvXgmQT5P
>> xE2VIFXP8wIAhiSogDmMKipx5T7zR06JzwutB/5a/0rZ2n+nMy5bVmkgA9K1ZiDH
>> n4Ccfr8zpanTSt51GhXg5rLwg2LAB3KrnL2Dyb8sI0g2QEmoh0XgFTbGwcBeuin3
>> 2ZAXC/y5QhKoUBk7Iv66AoQ7YTV8kJJpwIjBY4Mhbd9sZTRh7YWKtAwbXEkuveqz
>> 5M3rv/H4aDS4FE6zgZ2fgUy4qAnoyr+1wjC1vWIdPe7BEe4tlDoI/tx95H7ggjvr
>> Gy5FomHSoHvV2EkjzWJdiD/g5HW43AjpkpCLwLjlDnufLFgZtRbrVXMX8QxHjL2G
>> V5F6cb/+ZUXGoUgyBiFsG1QkJELcKP7BLBu2ew3BBiW8ybrFPulIQet97EZ0nE4/
>> aTJxx7AnjMjuHlYHGu3q2xz983SViulYtJ1iShbpYESePQfnA77aEqmP9nytD6Dg
>> gqgudz7ecy1x5nGkYj8VT4/6Tkc6t8kGIQGWoQbJoEt4cQWfQVOZP+lFKtXkGwxL
>> 7b0ykx6b+x/pvEHPttYTMzRbYMnQ5mInhT6266jPPQThcLOXwjn16PD9UQkslFp9
>> nxbpoj5o7S86qfB/XONL+E9WgWfpWmgkLKMQ06pYeZLo0L47RERg20eSLhNYRUTu
>> VRRJySduvE3hWnCj5IZp
>> =Jak9
>> -----END PGP SIGNATURE-----
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>
>>
>

Reply via email to