P.S. I posted a minimal sample project on Git (you may recognize it from my
last question).
https://github.com/GlenKPeterson/classVsJar

On Fri, Oct 18, 2019 at 3:46 PM Glen Peterson <[email protected]>
wrote:

> Ok Simone, I did 4 tests:
>
> *1. Wireshark*
>
> I dumped the connection and protocol negotiation with wireshark as I
> issued an nmap ssl-enum-ciphers.  I don't know what I'm looking at, so
> I'm just attaching the dump file so that smarter minds than mine can figure
> it out.
>
> *2. -Djavax.net.debug=all*
> Running with:
> $ java -Djavax.net.debug=all -jar target/ROOT.jar
>
> Testing with:
> $ nmap --script ssl-enum-ciphers -p 8443 localhost
>
> I get one line of output in the application logs:
> javax.net.ssl|DEBUG|0C|qtp518522822-12|2019-10-18 14:14:40.086
> EDT|SunX509KeyManagerImpl.java:392|matching alias: jetty
>
> *3. openssl s_client*
>
> $ echo | openssl s_client -connect localhost:8443
> CONNECTED(00000005)
> depth=0 C = US, ST = South Carolina, L = Upstate, O = OrganicDesign, OU =
> Testing, CN = classVsJar.organicdesign.org
> verify error:num=18:self signed certificate
> verify return:1
> depth=0 C = US, ST = South Carolina, L = Upstate, O = OrganicDesign, OU =
> Testing, CN = classVsJar.organicdesign.org
> verify return:1
> ---
> Certificate chain
>  0 s:C = US, ST = South Carolina, L = Upstate, O = OrganicDesign, OU =
> Testing, CN = classVsJar.organicdesign.org
>    i:C = US, ST = South Carolina, L = Upstate, O = OrganicDesign, OU =
> Testing, CN = classVsJar.organicdesign.org
> ---
> Server certificate
> -----BEGIN CERTIFICATE-----
> MIIDszCCApugAwIBAgIEdU7eqTANBgkqhkiG9w0BAQsFADCBiTELMAkGA1UEBhMC
> VVMxFzAVBgNVBAgTDlNvdXRoIENhcm9saW5hMRAwDgYDVQQHEwdVcHN0YXRlMRYw
> FAYDVQQKEw1PcmdhbmljRGVzaWduMRAwDgYDVQQLEwdUZXN0aW5nMSUwIwYDVQQD
> ExxjbGFzc1ZzSmFyLm9yZ2FuaWNkZXNpZ24ub3JnMB4XDTE5MTAwMjIwNTMzNVoX
> DTIyMTAwMjIwNTMzNVowgYkxCzAJBgNVBAYTAlVTMRcwFQYDVQQIEw5Tb3V0aCBD
> YXJvbGluYTEQMA4GA1UEBxMHVXBzdGF0ZTEWMBQGA1UEChMNT3JnYW5pY0Rlc2ln
> bjEQMA4GA1UECxMHVGVzdGluZzElMCMGA1UEAxMcY2xhc3NWc0phci5vcmdhbmlj
> ZGVzaWduLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ56Z+Fv
> W1iQsW19is/NCEVg7zoMJBzROosz/JhMXQfb2GDAc90mr9LcrNUVItHxBa1X14h+
> 6Pen8IOMon5zDUUCZ1HNqPbEIuUV4asTiWKKtGdLVU6dyljXHiXwnfhSFT8IALs8
> AN9xYcJED0KJk21HRR5ZHJ/Focg0xTfuwgzMRDR1GUsYYDrveNKWyXK0/auH8pBv
> Y4c1Mq7mK1UNZmWtj+lJs6jZm/WvZ6id8ZKhSvRHeFsYQWZ8RI7VkQn1uXQLOXW7
> kOTbISNBYi775w2ryxzTRL7Iypo5E0cjVhBANOa7+S8TbBhLpZvW1vQbqe7Q6se9
> QDgSmZ3pclrIlhMCAwEAAaMhMB8wHQYDVR0OBBYEFJJ4OYMqxaXoo3SdHa2zviae
> /leOMA0GCSqGSIb3DQEBCwUAA4IBAQBLBo3H0M+4r6dVn6Kc2rDmugYOJyh2INtY
> NlzmF6KrpFpF/ojx9Eb7n0tgU03W5Wxy5E3DTIrbaZGiinTeQDRcPmrN1xXpdyfq
> kXxX9DtYOknEaimEytZEZuv934v7qeY+vaFoamixA+xcY1tyGdNSMJTkKCSS/8+u
> OlVrIDjbTDVKJQ4iidKTyCZHi3jVvMboMPfQuyaN0xVHIdNz3yXQTOgoaBRpwOrr
> vHS93GehMAx+GHez8BSINgxYyDIkL/PAfYH9ReSEp5wwTDczBcPvfbWePhB93dGS
> xJEHtFH1MoWYH4fyk1VS8+Bcg7S6pYu1uBJrZzmEVLIbDZ1HrjJz
> -----END CERTIFICATE-----
> subject=C = US, ST = South Carolina, L = Upstate, O = OrganicDesign, OU =
> Testing, CN = classVsJar.organicdesign.org
>
> issuer=C = US, ST = South Carolina, L = Upstate, O = OrganicDesign, OU =
> Testing, CN = classVsJar.organicdesign.org
>
> ---
> No client certificate CA names sent
> Peer signing digest: SHA256
> Peer signature type: RSA-PSS
> Server Temp Key: X25519, 253 bits
> ---
> SSL handshake has read 1441 bytes and written 391 bytes
> Verification error: self signed certificate
> ---
> New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
> Server public key is 2048 bit
> Secure Renegotiation IS NOT supported
> Compression: NONE
> Expansion: NONE
> No ALPN negotiated
> Early data was not sent
> Verify return code: 18 (self signed certificate)
> ---
> DONE
>
> *4. testssh.sh*
> This looks remarkably similar to the report running ssllabs.
>
> $ ./testssl.sh localhost:8443
>
> ###########################################################
>     testssl.sh       3.0rc5 from https://testssl.sh/dev/
>     (f118085 2019-10-17 09:39:54 -- )
>
>       This program is free software. Distribution and
>              modification under GPLv2 permitted.
>       USAGE w/o ANY WARRANTY. USE IT AT YOUR OWN RISK!
>
>        Please file bugs @ https://testssl.sh/bugs/
>
> ###########################################################
>
>  Using "OpenSSL 1.0.2-chacha (1.0.2k-dev)" [~183 ciphers]
>  on glensDesktop:./bin/openssl.Linux.x86_64
>  (built: "Jan 18 17:12:17 2019", platform: "linux-x86_64")
>
>
>  Start 2019-10-18 14:23:25        -->> 127.0.0.1:8443 (localhost) <<--
>
>  A record via:           /etc/hosts
>  rDNS (127.0.0.1):
> db.dev.memoryjoggerlibrary.com.dev.planbase.com.nethackwiki.com.nethack.wikia.com.www.steelypips.org.nethack.org.alt.org.ninjakiwi.com.gamesgames.com.playdos.games.classicreload.com.archive.org.playretrogames.com.ssega.com.myabandonware.com.www.cosumi.net.online-go.com
> .
>  Service detected:       Couldn't determine what's running on port 8443,
> assuming no HTTP service => skipping all HTTP checks
>
>
>  Testing protocols via sockets except NPN+ALPN
>
>  SSLv2      not offered (OK)
>  SSLv3      not offered (OK)
>  TLS 1      not offered
>  TLS 1.1    not offered
>  TLS 1.2    offered (OK)
>  TLS 1.3    offered (OK): final
>  NPN/SPDY   not offered
>  ALPN/HTTP2 h2, spdy/3.1, http/1.1, grpc-exp, h2-fb, spdy/1, spdy/2,
> spdy/3, stun.turn, stun.nat-discovery, webrtc, c-webrtc, ftp (offered)
>
>  Testing cipher categories
>
>  NULL ciphers (no encryption)                  not offered (OK)
>  Anonymous NULL Ciphers (no authentication)    not offered (OK)
>  Export ciphers (w/o ADH+NULL)                 not offered (OK)
>  LOW: 64 Bit + DES, RC[2,4] (w/o export)       not offered (OK)
>  Triple DES Ciphers / IDEA                     not offered (OK)
>  Average: SEED + 128+256 Bit CBC ciphers       not offered
>  Strong encryption (AEAD ciphers)              offered (OK)
>
>
>  Testing robust (perfect) forward secrecy, (P)FS -- omitting Null
> Authentication/Encryption, 3DES, RC4
>
>  PFS is offered (OK)          TLS_AES_256_GCM_SHA384
> TLS_CHACHA20_POLY1305_SHA256 ECDHE-RSA-AES256-GCM-SHA384
>                               ECDHE-RSA-CHACHA20-POLY1305
> TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256
>  Elliptic curves offered:     prime256v1 secp384r1 X25519
>
>
>  Testing server preferences
>
>  Has server cipher order?     yes (OK) -- only for < TLS 1.3
>  Negotiated protocol          TLSv1.3
>  Negotiated cipher            TLS_AES_256_GCM_SHA384, 253 bit ECDH (X25519)
>  Cipher order
>     TLSv1.2:   ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES256-GCM-SHA384
> ECDHE-RSA-CHACHA20-POLY1305
>     TLSv1.3:   TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256
> TLS_AES_128_GCM_SHA256
>
>
>  Testing server defaults (Server Hello)
>
>  TLS extensions (standard)    "renegotiation info/#65281" "EC point
> formats/#11" "key share/#51"
>                               "supported versions/#43" "extended master
> secret/#23"
>                               "application layer protocol negotiation/#16"
>  Session Ticket RFC 5077 hint no -- no lifetime advertised
>  SSL Session ID support       yes
>  Session Resumption           Tickets no, ID: yes
>  TLS clock skew               0 sec from localtime
>  Signature Algorithm          SHA256 with RSA
>  Server key size              RSA 2048 bits
>  Server key usage             --
>  Server extended key usage    --
>  Serial / Fingerprints        754EDEA9 / SHA1
> 0B626941D68F533389ABD32D3A632D8F1E5590BD
>                               SHA256
> 9C8C0FB52E92781BD8CFD50651E8664CF77BDD72A73031E228C2A539E0F4A4A3
>  Common Name (CN)             classVsJar.organicdesign.org
>  subjectAltName (SAN)         missing -- no SAN is deprecated
>  Issuer                       self-signed (NOT ok)
>  Trust (hostname)             certificate does not match supplied URI
> (same w/o SNI)
>  Chain of trust               NOT ok (self signed)
>  EV cert (experimental)       no
>  ETS/"eTLS", visibility info  not present
>  Certificate Validity (UTC)   1080 >= 60 days (2019-10-02 16:53 -->
> 2022-10-02 16:53)
>  # of certificates provided   1
>  Certificate Revocation List  --
>  OCSP URI                     --
>                               NOT ok -- neither CRL nor OCSP URI provided
>  OCSP stapling                not offered
>  OCSP must staple extension   --
>  DNS CAA RR (experimental)    not offered
>  Certificate Transparency     N/A
>
>
>  Testing vulnerabilities
>
>  Heartbleed (CVE-2014-0160)                not vulnerable (OK), no
> heartbeat extension
>  CCS (CVE-2014-0224)                       not vulnerable (OK)
>  Ticketbleed (CVE-2016-9244), experiment.  --   (applicable only for HTTPS)
>  ROBOT                                     Server does not support any
> cipher suites that use RSA key transport
>  Secure Renegotiation (RFC 5746)           supported (OK)
>  Secure Client-Initiated Renegotiation     likely not vulnerable (OK),
> timed out
>  CRIME, TLS (CVE-2012-4929)                not vulnerable (OK) (not using
> HTTP anyway)
>  POODLE, SSL (CVE-2014-3566)               not vulnerable (OK)
>  TLS_FALLBACK_SCSV (RFC 7507)              No fallback possible, no
> protocol below TLS 1.2 offered (OK)
>  SWEET32 (CVE-2016-2183, CVE-2016-6329)    not vulnerable (OK)
>  FREAK (CVE-2015-0204)                     not vulnerable (OK)
>  DROWN (CVE-2016-0800, CVE-2016-0703)      not vulnerable on this host and
> port (OK)
>                                            make sure you don't use this
> certificate elsewhere with SSLv2 enabled services
>
> https://censys.io/ipv4?q=9C8C0FB52E92781BD8CFD50651E8664CF77BDD72A73031E228C2A539E0F4A4A3
> could help you to find out
>  LOGJAM (CVE-2015-4000), experimental      not vulnerable (OK): no DH
> EXPORT ciphers, no DH key detected with <= TLS 1.2
>  BEAST (CVE-2011-3389)                     no SSL3 or TLS1 (OK)
>  LUCKY13 (CVE-2013-0169), experimental     not vulnerable (OK)
>  RC4 (CVE-2013-2566, CVE-2015-2808)        no RC4 ciphers detected (OK)
>
>
>  Testing 370 ciphers via OpenSSL plus sockets against the server, ordered
> by encryption strength
>
> Hexcode  Cipher Suite Name (OpenSSL)       KeyExch.   Encryption  Bits
> Cipher Suite Name (IANA/RFC)
>
> -----------------------------------------------------------------------------------------------------------------------------
>  x1302   TLS_AES_256_GCM_SHA384            ECDH 253   AESGCM      256
>  TLS_AES_256_GCM_SHA384
>  x1303   TLS_CHACHA20_POLY1305_SHA256      ECDH 253   ChaCha20    256
>  TLS_CHACHA20_POLY1305_SHA256
>  xc030   ECDHE-RSA-AES256-GCM-SHA384       ECDH 256   AESGCM      256
>  TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
>  xcca8   ECDHE-RSA-CHACHA20-POLY1305       ECDH 253   ChaCha20    256
>  TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
>  x1301   TLS_AES_128_GCM_SHA256            ECDH 253   AESGCM      128
>  TLS_AES_128_GCM_SHA256
>  xc02f   ECDHE-RSA-AES128-GCM-SHA256       ECDH 256   AESGCM      128
>  TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
>
> Could not determine the protocol, only simulating generic clients.
>
>  Running client simulations via sockets
>
>  Android 4.4.2                TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 256 bit
> ECDH (P-256)
>  Android 5.0.0                TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 256 bit
> ECDH (P-256)
>  Android 6.0                  TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 256 bit
> ECDH (P-256)
>  Android 7.0                  TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 253 bit
> ECDH (X25519)
>  Android 8.1 (native)         TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 253 bit
> ECDH (X25519)
>  Android 9.0 (native)         TLSv1.3 TLS_AES_128_GCM_SHA256, 253 bit ECDH
> (X25519)
>  Chrome 65 Win 7              TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 253 bit
> ECDH (X25519)
>  Chrome 74 (Win 10)           TLSv1.3 TLS_AES_128_GCM_SHA256, 253 bit ECDH
> (X25519)
>  Firefox 62 Win 7             TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 253 bit
> ECDH (X25519)
>  Firefox 66 (Win 8.1/10)      TLSv1.3 TLS_AES_128_GCM_SHA256, 253 bit ECDH
> (X25519)
>  IE 6 XP                      No connection
>  IE 8 Win 7                   No connection
>  IE 8 XP                      No connection
>  IE 11 Win 7                  No connection
>  IE 11 Win 8.1                No connection
>  IE 11 Win Phone 8.1          No connection
>  IE 11 Win 10                 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 256 bit
> ECDH (P-256)
>  Edge 15 Win 10               TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 253 bit
> ECDH (X25519)
>  Edge 17 (Win 10)             TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 253 bit
> ECDH (X25519)
>  Opera 60 (Win 10)            TLSv1.3 TLS_AES_128_GCM_SHA256, 253 bit ECDH
> (X25519)
>  Safari 9 iOS 9               TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 256 bit
> ECDH (P-256)
>  Safari 9 OS X 10.11          TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 256 bit
> ECDH (P-256)
>  Safari 10 OS X 10.12         TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 256 bit
> ECDH (P-256)
>  Safari 12.1 (iOS 12.2)       TLSv1.3 TLS_CHACHA20_POLY1305_SHA256, 253
> bit ECDH (X25519)
>  Safari 13.0 (macOS 10.14.6)  TLSv1.3 TLS_CHACHA20_POLY1305_SHA256, 253
> bit ECDH (X25519)
>  Apple ATS 9 iOS 9            TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 256 bit
> ECDH (P-256)
>  Java 6u45                    No connection
>  Java 7u25                    No connection
>  Java 8u161                   TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 256 bit
> ECDH (P-256)
>  Java 11.0.2 (OpenJDK)        TLSv1.3 TLS_AES_128_GCM_SHA256, 256 bit ECDH
> (P-256)
>  Java 12.0.1 (OpenJDK)        TLSv1.3 TLS_AES_128_GCM_SHA256, 256 bit ECDH
> (P-256)
>  OpenSSL 1.0.1l               TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 256 bit
> ECDH (P-256)
>  OpenSSL 1.0.2e               TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 256 bit
> ECDH (P-256)
>  OpenSSL 1.1.0j (Debian)      TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 253 bit
> ECDH (X25519)
>  OpenSSL 1.1.1b (Debian)      TLSv1.3 TLS_AES_256_GCM_SHA384, 253 bit ECDH
> (X25519)
>  Thunderbird (60.6)           TLSv1.3 TLS_AES_128_GCM_SHA256, 253 bit ECDH
> (X25519)
>
>  Done 2019-10-18 14:24:11 [  47s] -->> 127.0.0.1:8443 (localhost) <<--
>
> On Fri, Oct 18, 2019 at 11:27 AM Young, Gregory <
> [email protected]> wrote:
>
>> This is because you are using Conscrypt and not the Java Crypto module.
>> Java security setting will have no impact on conscrypt. All of my previous
>> suggestions were centered around Java/OpenJDK crypto as that is (at least
>> on OpenJDK 8) the Jetty default.
>>
>>
>>
>>
>>
>> *Gregory Young *
>>
>>
>>
>> *From:* [email protected] <[email protected]>
>> *On Behalf Of *Glen Peterson
>> *Sent:* October 18, 2019 10:30 AM
>> *To:* JETTY user mailing list <[email protected]>
>> *Subject:* Re: [jetty-users] Supporting strong ciphers in IE11/Win7 (and
>> 8.1)
>>
>>
>>
>> *1. enable "unlimited strength ciphers" in the Java security config.*
>>
>>
>>
>> I think I'm good using OpenJDK, but I checked:
>>
>> $ echo $JAVA_HOME
>> /usr/lib/jvm/java-11-openjdk-amd64
>>
>>
>>
>> $ ls -l /usr/lib/jvm/java-11-openjdk-amd64/conf/security/
>> total 4
>> lrwxrwxrwx 1 root root   41 Jul 18 14:21 java.policy ->
>> /etc/java-11-openjdk/security/java.policy
>> lrwxrwxrwx 1 root root   43 Jul 18 14:21 java.security ->
>> /etc/java-11-openjdk/security/java.security
>> lrwxrwxrwx 1 root root   37 Jul 18 14:21 nss.cfg ->
>> /etc/java-11-openjdk/security/nss.cfg
>> drwxr-xr-x 4 root root 4096 Aug  1 07:59 policy
>>
>>
>>
>> vim /etc/java-11-openjdk/security/java.security
>>
>> ...
>>
>> *crypto.policy=unlimited*
>>
>> ...
>>
>> *# Curious about this:*
>>
>>
>> *ssl.KeyManagerFactory.algorithm=SunX509
>> ssl.TrustManagerFactory.algorithm=PKIX*
>>
>>
>>
>> I'm curious about the SunX509.  I do *not* set a keyManagerFactory (I'm a
>> server, not a client, and don't require client-side certificates).  But
>> when Jetty starts up, I can see the following debugging info which I've
>> just been ignoring:
>>
>>
>>
>> *Unable to get KeyManagerFactory instance for algorithm [SunX509] on
>> provider [Conscrypt], using default*
>>
>> java.security.NoSuchAlgorithmException: no such algorithm: SunX509 for
>> provider Conscrypt
>> at java.base/sun.security.jca.GetInstance.getService(GetInstance.java:87)
>> at
>> java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:206)
>> at
>> java.base/javax.net.ssl.KeyManagerFactory.getInstance(KeyManagerFactory.java:195)
>> at
>> org.eclipse.jetty.util.ssl.SslContextFactory.getKeyManagerFactoryInstance(SslContextFactory.java:1817)
>> at
>> org.eclipse.jetty.util.ssl.SslContextFactory.getKeyManagers(SslContextFactory.java:1275)
>> at
>> org.eclipse.jetty.util.ssl.SslContextFactory.load(SslContextFactory.java:416)
>> at
>> org.eclipse.jetty.util.ssl.SslContextFactory.doStart(SslContextFactory.java:287)
>> at
>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>> at
>> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>> at
>> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
>> at
>> org.eclipse.jetty.server.SslConnectionFactory.doStart(SslConnectionFactory.java:92)
>> at
>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>> at
>> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>> at
>> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
>> at
>> org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:320)
>> at
>> org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:81)
>> at
>> org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:231)
>> at
>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>> at org.eclipse.jetty.server.Server.doStart(Server.java:385)
>> at
>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>> at org.organicdesign.classVsJar.ClazzVsJarKt.main(ClazzVsJar.kt:288)
>>
>>
>>
>>
>>
>> *2. for the "TLS_ECDHE_ECDSA_WITH_AES_*" ciphers to be available...*
>>
>>
>>
>> TLS_ECDHE_RSA_WITH_AES_* ciphers show up as available in Jetty debugging
>> info and are agreed upon by nmap (output of both are shown in my original
>> message).  I spent an hour messing around with my keystore anyway, but
>> nothing good resulted.
>>
>>
>>
>> *3. Your Java or Jetty config have DHE ciphers disabled. I think the
>> default OpenJDK config has DHE less than 2048 bits disabled if I recall
>> correctly.*
>>
>>
>>
>> Both TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 and
>> TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 are showing in Jetty's "available
>> ciphers" debugging info, but are not available when I try to connect with
>> nmap.
>>
>>
>>
>> I noticed that the 4 strong ciphers that IE11/Win7 is said to support are
>> supported by openssl, but it has its own name for them.  Not sure if that
>> could have anything to do with it.  It looks in the TLS spec like they are
>> identified by some two-byte hex code and not a human-readable name, but I
>> don't know:
>>
>> *$ openssl ciphers -stdname*
>>
>> *...*
>>
>> *TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - ECDHE-ECDSA-AES256-GCM-SHA384
>> TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(256) Mac=AEAD*
>>
>> *...*
>>
>> *TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256
>> TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(128) Mac=AEAD*
>>
>> *...*
>>
>>
>> *TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 - DHE-RSA-AES256-GCM-SHA384 TLSv1.2
>> Kx=DH       Au=RSA  Enc=AESGCM(256) Mac=AEAD ...*
>>
>>
>> *TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 - DHE-RSA-AES128-GCM-SHA256 TLSv1.2
>> Kx=DH       Au=RSA  Enc=AESGCM(128) Mac=AEAD ...*
>>
>>
>>
>> Simone: I'll respond in a bit.
>>
>>
>>
>> On Wed, Oct 16, 2019 at 3:53 PM Young, Gregory <
>> [email protected]> wrote:
>>
>> Probably one of 3 issues going on:
>>
>> 1. You need to enable "unlimited strength ciphers" in the Java security
>> config.
>> 2. for the "TLS_ECDHE_ECDSA_WITH_AES_*" ciphers to be available, you need
>> to add a newer ECDSA signed SSL certificate to the keystore (you can run
>> both RSA and ECDSA signed certs in parallel on the same Jetty instance).
>> 3. Your Java or Jetty config have DHE ciphers disabled. I think the
>> default OpenJDK config has DHE less than 2048 bits disabled if I recall
>> correctly.
>>
>>
>> Gregory Young
>>
>>
>> -----Original Message-----
>> From: [email protected] <[email protected]>
>> On Behalf Of Simone Bordet
>> Sent: October 16, 2019 4:24 AM
>> To: JETTY user mailing list <[email protected]>
>> Subject: Re: [jetty-users] Supporting strong ciphers in IE11/Win7 (and
>> 8.1)
>>
>> Hi,
>>
>> On Wed, Oct 16, 2019 at 12:03 AM Glen Peterson <[email protected]>
>> wrote:
>> >
>> > According to Qualys SSL Labs, IE 11 on on Windows 7 and 8.1 only works
>> with max TLS 1.2 and only supports the following 4 secure forward secrecy
>> ciphers:
>> > TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
>> > TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
>> > TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
>> > TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
>> > Source:
>> > https://dev.ssllabs.com/ssltest/viewClient.html?name=IE&version=11&pla
>> > tform=Win%207&key=143
>> >
>> > When I run nmap, those ciphers don't show up (SSL Labs reports the
>> same):
>> > $ nmap --script ssl-enum-ciphers -p 8443 myDomain.com
>> >
>> > Starting Nmap 7.60 ( https://nmap.org ) at 2019-10-15 17:43 EDT Nmap
>> > scan report for myDomain.com (127.0.0.1) Host is up (0.000056s
>> > latency).
>> > rDNS record for 127.0.0.1: localhost
>> >
>> > PORT     STATE SERVICE
>> > 8443/tcp open  https-alt
>> > | ssl-enum-ciphers:
>> > |   TLSv1.2:
>> > |     ciphers:
>> > |       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A
>> > |       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A
>> > |       TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (rsa 2048) - A
>> > |     compressors:
>> > |       NULL
>> > |     cipher preference: server
>> > |_  least strength: A
>> >
>> > Nmap done: 1 IP address (1 host up) scanned in 0.30 seconds
>> >
>> >
>> >
>> > Jetty lists those ciphers as enabled:
>> >
>> > |  += SslConnectionFactory@6dbb137d{SSL->alpn} - STARTED  |  +=
>> > | 
>> > Server@5f058f00[provider=Conscrypt,keyStore=file:///home/folder/dev/etc/keystore,trustStore=null]
>> - STARTED
>> > |  |     +> trustAll=false
>> > |  |     +> Protocol Selections
>> > |  |     |  +> Enabled size=4
>> > |  |     |  |  +> TLSv1
>> > |  |     |  |  +> TLSv1.1
>> > |  |     |  |  +> TLSv1.2
>> > |  |     |  |  +> TLSv1.3
>> > |  |     |  +> Disabled size=2
>> > |  |     |     +> SSLv2Hello - ConfigExcluded:'SSLv2Hello' JVM:disabled
>> > |  |     |     +> SSLv3 - ConfigExcluded:'SSLv3' JVM:disabled
>> > |  |     +> Cipher Suite Selections
>> > |  |        +> Enabled size=27
>> > |  |        |  +> TLS_AES_128_GCM_SHA256
>> > |  |        |  +> TLS_AES_256_GCM_SHA384
>> > |  |        |  +> TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
>> > |  |        |  +> TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
>> > |  |        |  +> TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
>> > |  |        |  +> TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
>> > |  |        |  +> TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
>> > |  |        |  +> TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
>> > |  |        |  +> TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
>> > |  |        |  +> TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
>> > |  |        |  +> TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
>> > |  |        |  +> TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
>> > |  |        |  +> TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
>> > |  |        |  +> TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
>> > |  |        |  +> TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
>> > |  |        |  +> TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
>> > |  |        |  +> TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
>> > |  |        |  +> TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
>> > |  |        |  +> TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
>> > |  |        |  +> TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
>> > |  |        |  +> TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
>> > |  |        |  +> TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
>> > |  |        |  +> TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
>> > |  |        |  +> TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
>> > |  |        |  +> TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
>> > |  |        |  +> TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
>> > |  |        |  +> TLS_EMPTY_RENEGOTIATION_INFO_SCSV
>> > |  |        +> Disabled size=18
>> > ...
>> >
>> >
>> >
>> > I'm using:
>> > Jetty version 9.4.21.v20190926
>> > Java: AdoptOpenJDK OpenJDK 64-Bit Server VM 11.0.4
>> > OS: Linux amd64 4.15.0-65-generic
>> >
>> > Why aren't they offered with tls 1.2?  Can I fix this with
>> configuration?
>>
>> The only way to know for sure is to grab a network trace between client
>> and server and verify who is not offering the ciphers and why.
>> If you use Java, setting -Djavax.net.debug=all helps understanding what's
>> going on at the OpenJDK TLS implementation level (both on client and on
>> server).
>>
>> I'm inclined to think that the browser does not offer those ciphers,
>> despite what the link you reported says.
>>
>> --
>> Simone Bordet
>> ----
>> http://cometd.org
>> http://webtide.com
>> Developer advice, training, services and support from the Jetty & CometD
>> experts.
>> _______________________________________________
>> jetty-users mailing list
>> [email protected]
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://www.eclipse.org/mailman/listinfo/jetty-users
>> _______________________________________________
>> jetty-users mailing list
>> [email protected]
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://www.eclipse.org/mailman/listinfo/jetty-users
>>
>>
>>
>>
>> --
>>
>> Glen K. Peterson
>> (828) 393-0081
>> _______________________________________________
>> jetty-users mailing list
>> [email protected]
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://www.eclipse.org/mailman/listinfo/jetty-users
>
>
>
> --
> Glen K. Peterson
> (828) 393-0081
>


-- 
Glen K. Peterson
(828) 393-0081
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://www.eclipse.org/mailman/listinfo/jetty-users

Reply via email to