I may have been able to really simplify my example. Here's the entire main
method that works when run from class files, and fails when run from the
jar:
val bb: ByteBuffer = ByteBuffer.allocate(100)
PreEncodedHttpField("hello", "world").putTo(bb, HttpVersion.HTTP_1_0)
logger.info("hello world http 1.0: " + bb)
PreEncodedHttpField("hello", "world").putTo(bb, HttpVersion.HTTP_1_1)
logger.info("hello world http 1.1: " + bb)
PreEncodedHttpField("hello", "world").putTo(bb, HttpVersion.HTTP_2)
logger.info("hello world http 2: " + bb)
OUTPUT (from Jar - breaks):
hello world http 1.0: java.nio.HeapByteBuffer[pos=14 lim=100 cap=100]
hello world http 1.1: java.nio.HeapByteBuffer[pos=28 lim=100 cap=100]
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index
1 out of bounds for length 1
at
org.eclipse.jetty.http.PreEncodedHttpField.putTo(PreEncodedHttpField.java:118)
at org.organicdesign.classVsJar.ClazzVsJarKt.main(ClazzVsJar.kt:84)
>From classes it ends with:
hello world http 2: java.nio.HeapByteBuffer[pos=39 lim=100 cap=100]
Greg Wilkins:
logger.info("http1fieldpreEncoderVersion = " +
org.eclipse.jetty.http.Http1FieldPreEncoder().httpVersion)
logger.info("http2fieldpreEncoderVersion = " +
org.eclipse.jetty.http2.hpack.HpackFieldPreEncoder().httpVersion)
Output:
http1fieldpreEncoderVersion = HTTP/1.0
http2fieldpreEncoderVersion = HTTP/2.0
So both are in the Jar and successfully loaded by the JVM. Maybe I'm
getting an older version of one of them from another jar? Presumably
another jetty jar? My IDE doesn't give me a choice for where to import
them from, so I don't know where another version could be coming from.
On Fri, Oct 4, 2019 at 7:34 PM Glen Peterson <[email protected]>
wrote:
> It *works* with http1.1 (I will also look more at the fat-jar thing):
>
> $ curl --http1.1 --verbose --insecure https://localhost:8443 -D
> headers.txt
> * Rebuilt URL to: https://localhost:8443/
> * Trying 127.0.0.1...
> * TCP_NODELAY set
> * Connected to localhost (127.0.0.1) port 8443 (#0)
> * ALPN, offering http/1.1
> * successfully set certificate verify locations:
> * CAfile: /etc/ssl/certs/ca-certificates.crt
> CApath: /etc/ssl/certs
> * TLSv1.3 (OUT), TLS handshake, Client hello (1):
> * TLSv1.3 (IN), TLS handshake, Server hello (2):
> * TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
> * TLSv1.3 (IN), TLS handshake, Unknown (8):
> * TLSv1.3 (IN), TLS handshake, Certificate (11):
> * TLSv1.3 (IN), TLS handshake, CERT verify (15):
> * TLSv1.3 (IN), TLS handshake, Finished (20):
> * TLSv1.3 (OUT), TLS change cipher, Client hello (1):
> * TLSv1.3 (OUT), TLS Unknown, Certificate Status (22):
> * TLSv1.3 (OUT), TLS handshake, Finished (20):
> * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
> * ALPN, server accepted to use http/1.1
> * Server certificate:
> * subject: C=US; ST=South Carolina; L=Upstate; O=OrganicDesign;
> OU=Testing; CN=classVsJar.organicdesign.org
> * start date: Oct 2 20:53:35 2019 GMT
> * expire date: Oct 2 20:53:35 2022 GMT
> * issuer: C=US; ST=South Carolina; L=Upstate; O=OrganicDesign;
> OU=Testing; CN=classVsJar.organicdesign.org
> * SSL certificate verify result: self signed certificate (18), continuing
> anyway.
> * TLSv1.3 (OUT), TLS Unknown, Unknown (23):
> > GET / HTTP/1.1
> > Host: localhost:8443
> > User-Agent: curl/7.58.0
> > Accept: */*
> >
> * TLSv1.3 (IN), TLS Unknown, Unknown (23):
> < HTTP/1.1 200 OK
> < Content-Type: text/html;charset=utf-8
> < Content-Length: 178
> < Server: Jetty(9.4.20.v20190813)
> <
> * TLSv1.3 (IN), TLS Unknown, Unknown (23):
> <!DOCTYPE html>
> <html lang="en">
> <head>
> <meta charset="utf-8">
> <title>Test Page</title>
> </head>
> <body>
> <h1>It works!</h1>
> <p>Working.</p>
> </body>
> </html>
> * Connection #0 to host localhost left intact
>
> On Fri, Oct 4, 2019 at 6:32 PM Greg Wilkins <[email protected]> wrote:
>
>> I'm guessing the problem is the way you make your fat jar you must not be
>> correctly combining the
>> META-INF/services/org.eclipse.jetty.http.HttpFieldPreEncoder files
>>
>> To run both http1 and http2, you need that file to exist in the jar and
>> to contain:
>>
>> org.eclipse.jetty.http.Http1FieldPreEncoder
>> org.eclipse.jetty.http2.hpack.HpackFieldPreEncoder
>>
>>
>> On Sat, 5 Oct 2019 at 07:35, Joakim Erdfelt <[email protected]> wrote:
>>
>>> Interesting, I wonder if you are hitting the response headers issues
>>> with regards to HTTP/2.
>>>
>>> See:
>>> https://github.com/eclipse/jetty.project/issues/3956
>>> and https://github.com/eclipse/jetty.project/issues/4115
>>>
>>> Can you run curl again, but with HTTP/1.1?
>>>
>>> $ curl --http1.1 --verbose ....
>>>
>>> What kind of headers are you actually using?
>>>
>>> Joakim Erdfelt / [email protected]
>>>
>>>
>>> On Fri, Oct 4, 2019 at 4:04 PM Glen Peterson <[email protected]>
>>> wrote:
>>>
>>>> I changed the logging configuration from INFO to DEBUG and found this
>>>> error when Jetty tries to serve the request:
>>>>
>>>> Sending HeadersFrame@676f5d6c#1{end=false}
>>>> Appended HeadersFrame@676f5d6c#1{end=false}, entries=1
>>>> Flushing HTTP2ServerSession@74a58163{l:/0:0:0:0:0:0:0:1:8443 <->
>>>> r:/0:0:0:0:0:0:0:1:53320,sendWindow=15728640,recvWindow=1048576,streams=1,NOT_CLOSED,null}
>>>> Processing HeadersFrame@676f5d6c#1{end=false}
>>>> CtxTbl[3319f232] encoding
>>>> encode IdxFieldS1:':status: 200' to '88'
>>>> Failure generating HeadersFrame@676f5d6c#1{end=false}
>>>>
>>>> java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for
>>>> length 1
>>>>
>>>> at
>>>> org.eclipse.jetty.http.PreEncodedHttpField.putTo(PreEncodedHttpField.java:118)
>>>> at
>>>> org.eclipse.jetty.http2.hpack.HpackEncoder.encode(HpackEncoder.java:316)
>>>> at
>>>> org.eclipse.jetty.http2.hpack.HpackEncoder.encode(HpackEncoder.java:204)
>>>> at
>>>> org.eclipse.jetty.http2.generator.HeadersGenerator.generateHeaders(HeadersGenerator.java:72)
>>>> at
>>>> org.eclipse.jetty.http2.generator.HeadersGenerator.generate(HeadersGenerator.java:56)
>>>> at
>>>> org.eclipse.jetty.http2.generator.Generator.control(Generator.java:80)
>>>> at
>>>> org.eclipse.jetty.http2.HTTP2Session$ControlEntry.generate(HTTP2Session.java:1250)
>>>> at org.eclipse.jetty.http2.HTTP2Flusher.process(HTTP2Flusher.java:187)
>>>> at
>>>> org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
>>>> at
>>>> org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:223)
>>>> at org.eclipse.jetty.http2.HTTP2Session.frame(HTTP2Session.java:757)
>>>> at org.eclipse.jetty.http2.HTTP2Session.frames(HTTP2Session.java:727)
>>>> at org.eclipse.jetty.http2.HTTP2Stream.headers(HTTP2Stream.java:112)
>>>> at
>>>> org.eclipse.jetty.http2.server.HttpTransportOverHTTP2.sendHeadersFrame(HttpTransportOverHTTP2.java:270)
>>>> at
>>>> org.eclipse.jetty.http2.server.HttpTransportOverHTTP2.send(HttpTransportOverHTTP2.java:142)
>>>> at
>>>> org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:852)
>>>> at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:929)
>>>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:250)
>>>> at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:226)
>>>> at org.eclipse.jetty.server.HttpOutput.close(HttpOutput.java:308)
>>>> at org.eclipse.jetty.server.HttpWriter.close(HttpWriter.java:47)
>>>> at
>>>> org.eclipse.jetty.server.ResponseWriter.close(ResponseWriter.java:161)
>>>> at org.eclipse.jetty.server.Response.closeOutput(Response.java:844)
>>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:517)
>>>> at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:314)
>>>> at
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
>>>> at
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
>>>> at
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
>>>> at
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:135)
>>>> at
>>>> org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:170)
>>>> at
>>>> org.eclipse.jetty.http2.server.HTTP2ServerConnection.onOpen(HTTP2ServerConnection.java:150)
>>>> at
>>>> org.eclipse.jetty.io.AbstractEndPoint.upgrade(AbstractEndPoint.java:442)
>>>> at
>>>> org.eclipse.jetty.server.NegotiatingServerConnection.onFillable(NegotiatingServerConnection.java:130)
>>>> at
>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
>>>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>>>> at
>>>> org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:426)
>>>> at
>>>> org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:320)
>>>> at
>>>> org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158)
>>>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>>>> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
>>>> at
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
>>>> at
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
>>>> at
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
>>>> at
>>>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
>>>> at
>>>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367)
>>>> at
>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782)
>>>> at
>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918)
>>>> at java.base/java.lang.Thread.run(Thread.java:834)
>>>> Failing, entries processed/pending/queued=0/1/0
>>>>
>>>> I re-posted this version here:
>>>> https://github.com/GlenKPeterson/classVsJar
>>>>
>>>> On Wed, Oct 2, 2019 at 5:40 PM Glen Peterson <[email protected]>
>>>> wrote:
>>>>
>>>>> Yes Joakim. I just made one and posted it here:
>>>>> https://github.com/GlenKPeterson/classVsJar
>>>>>
>>>>> On Wed, Oct 2, 2019 at 2:43 PM Joakim Erdfelt <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Do you have a project that you can share that replicates this?
>>>>>>
>>>>>> Joakim Erdfelt / [email protected]
>>>>>>
>>>>>>
>>>>>> On Wed, Oct 2, 2019 at 1:16 PM Glen Peterson <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> P.S. I was able to get some interesting output from wget2 (successor
>>>>>>> to wget). It works fine running with the classes. With the jar file, I
>>>>>>> get the following which seems jetty-related:
>>>>>>>
>>>>>>> $ wget2 -d --no-check-certificate
>>>>>>> https://dev.memoryjoggerlibrary.com:8443/
>>>>>>> 02.140606.876 name=check-certificate value=
>>>>>>> https://dev.memoryjoggerlibrary.com:8443/ invert=1
>>>>>>> 02.140606.876 name=check-certificate value=
>>>>>>> https://dev.memoryjoggerlibrary.com:8443/ invert=1
>>>>>>> 02.140606.876 Local URI encoding = 'UTF-8'
>>>>>>> 02.140606.876 Input URI encoding = 'UTF-8'
>>>>>>> 02.140606.876 Fetched HSTS data from '/home/gpeterso/.wget-hsts'
>>>>>>> 02.140606.876 Fetched HPKP data from '/home/gpeterso/.wget-hpkp'
>>>>>>> 02.140606.877 add TLS session data for dev.memoryjoggerlibrary.com
>>>>>>> (maxage=64800, size=1260)
>>>>>>> 02.140606.877 Fetched TLS session data from
>>>>>>> '/home/gpeterso/.wget-session'
>>>>>>> 02.140606.877 Fetched OCSP hosts from
>>>>>>> '/home/gpeterso/.wget-ocsp_hosts'
>>>>>>> 02.140606.877 Fetched OCSP fingerprints from
>>>>>>> '/home/gpeterso/.wget-ocsp'
>>>>>>> 02.140606.877 *url = https://dev.memoryjoggerlibrary.com:8443/
>>>>>>> 02.140606.877 *3 https://dev.memoryjoggerlibrary.com:8443/
>>>>>>> 02.140606.877 local filename = 'index.html'
>>>>>>> 02.140606.877 host_add_job: job fname index.html
>>>>>>> 02.140606.877 host_add_job: 0x55b15a6bfb60
>>>>>>> https://dev.memoryjoggerlibrary.com:8443/
>>>>>>> 02.140606.877 host_add_job: qsize 1 host-qsize=1
>>>>>>> 02.140606.877 queue_size: qsize=1
>>>>>>> 02.140606.877 queue_size: qsize=1
>>>>>>> 02.140606.877 queue_size: qsize=1
>>>>>>> 02.140606.877 [0] action=1 pending=0 host=0x0
>>>>>>> 02.140606.877 qsize=1 blocked=0
>>>>>>> 02.140606.877 pause=-1570039566877
>>>>>>> 02.140606.877 dequeue job https://dev.memoryjoggerlibrary.com:8443/
>>>>>>> 02.140606.877 resolving dev.memoryjoggerlibrary.com:8443...
>>>>>>> 02.140606.877 has 127.0.0.1:8443
>>>>>>> 02.140606.877 Add dns cache entry dev.memoryjoggerlibrary.com
>>>>>>> 02.140606.877 trying 127.0.0.1:8443...
>>>>>>> 02.140606.877 GnuTLS init
>>>>>>> 02.140606.877 Certificates loaded: -1
>>>>>>> 02.140606.877 GnuTLS init done
>>>>>>> 02.140606.877 TLS False Start requested
>>>>>>> 02.140606.877 ALPN offering h2
>>>>>>> 02.140606.877 ALPN offering http/1.1
>>>>>>> 02.140606.877 found cached session data for
>>>>>>> dev.memoryjoggerlibrary.com
>>>>>>> WARNING: The certificate is NOT trusted. The certificate issuer is
>>>>>>> unknown.
>>>>>>> 02.140606.885 TLS False Start: on
>>>>>>> 02.140606.885 ALPN: Server accepted protocol 'h2'
>>>>>>> 02.140606.885 Handshake completed
>>>>>>> 02.140606.885 established connection dev.memoryjoggerlibrary.com
>>>>>>> 02.140606.885 cookie_create_request_header for host=
>>>>>>> dev.memoryjoggerlibrary.com path=
>>>>>>> 02.140606.885 HTTP2 stream id 1
>>>>>>> 02.140606.885 [0] action=1 pending=1 host=0x55b15a6bf9c0
>>>>>>> 02.140606.885 qsize=1 blocked=0
>>>>>>> 02.140606.885 pause=-1570039566885
>>>>>>> 02.140606.885 [0] action=2 pending=1 host=0x55b15a6bf9c0
>>>>>>> 02.140606.885 ## pending_requests = 1
>>>>>>> 02.140606.885 ## loop responses=0
>>>>>>> 02.140606.885 [FRAME 0] > SETTINGS
>>>>>>> 02.140606.885 [FRAME 1] > HEADERS
>>>>>>> 02.140606.885 [FRAME 1] > :method: GET
>>>>>>> 02.140606.885 [FRAME 1] > :path: /
>>>>>>> 02.140606.885 [FRAME 1] > :scheme: https
>>>>>>> 02.140606.885 [FRAME 1] > :authority: dev.memoryjoggerlibrary.com
>>>>>>> 02.140606.885 [FRAME 1] > accept-encoding: gzip, deflate, bzip2, xz,
>>>>>>> lzma
>>>>>>> 02.140606.885 [FRAME 1] > accept:
>>>>>>> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
>>>>>>> 02.140606.885 [FRAME 1] > user-agent: wget2/1.0.0
>>>>>>> 02.140606.885 ## loop responses=0
>>>>>>> 02.140606.886 Got delayed session data
>>>>>>> 02.140606.886 found TLS session data for dev.memoryjoggerlibrary.com
>>>>>>> 02.140606.886 removed TLS session data for
>>>>>>> dev.memoryjoggerlibrary.com
>>>>>>> 02.140606.886 add TLS session data for dev.memoryjoggerlibrary.com
>>>>>>> (maxage=64800, size=1260)
>>>>>>> 02.140606.886 ## loop responses=0
>>>>>>> 02.140606.886 [FRAME 0] < SETTINGS
>>>>>>> 02.140606.886 [FRAME 0] < WINDOW_UPDATE
>>>>>>> 02.140606.886 ## loop responses=0
>>>>>>> 02.140606.886 [FRAME 0] > SETTINGS
>>>>>>> 02.140606.886 ## loop responses=0
>>>>>>> 02.140606.886 [FRAME 0] < SETTINGS
>>>>>>> 02.140606.886 ## loop responses=0
>>>>>>> 02.140608.260 ## loop responses=0
>>>>>>> 02.140608.260 ## loop responses=0
>>>>>>> 02.140608.260 ## loop responses=0
>>>>>>> 02.140608.260 ## loop responses=0
>>>>>>> 02.140608.260 ## loop responses=0
>>>>>>> 02.140608.260 ## loop responses=0
>>>>>>> 02.140608.260 ## loop responses=0
>>>>>>> 02.140608.260 ## loop responses=0
>>>>>>> 02.140608.260 ## loop responses=0
>>>>>>> 02.140608.260 ## loop responses=0
>>>>>>> 02.140608.260 ## loop responses=0
>>>>>>>
>>>>>>> That scrolled really fast in a loop until I hit CTRL-C
>>>>>>>
>>>>>>> 02.140608.260 host_increase_failure: dev.memoryjoggerlibrary.com
>>>>>>> failures=1
>>>>>>> 02.140608.260 closing connection
>>>>>>>
>>>>>>> It just sat there doing nothing, so I hit CTRL-C again to exit
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Oct 2, 2019 at 1:43 PM Glen Peterson <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Thank you for jetty. I've been using it for a few years now and
>>>>>>>> love it. Especially that I can configure it programmatically (with
>>>>>>>> Kotlin
>>>>>>>> code) and that you have updated the SSL/TLS protocol defaults over
>>>>>>>> time.
>>>>>>>> Such an improvement over Tomcat!
>>>>>>>>
>>>>>>>> *Problem*
>>>>>>>> My problem may be jar-file/classpath related and not jetty related,
>>>>>>>> but then why does jetty actually call my code, service the request,
>>>>>>>> but not
>>>>>>>> return the response?
>>>>>>>>
>>>>>>>> I recently enabled HTTP/2 (Google wants that for a Progressive Web
>>>>>>>> App). Now if I run my app the way IntelliJ does, giving the compiled
>>>>>>>> classes directory, then adding all the jar dependencies it works. `java
>>>>>>>> -classpath classes/:bunch-of-jar-files... MainClassName` it works.
>>>>>>>> But if
>>>>>>>> I run from the fat-jar file it doesn't work.
>>>>>>>>
>>>>>>>> *curl*
>>>>>>>>
>>>>>>>> *Jar File Failure:*
>>>>>>>> $ curl --insecure https://dev.memoryjoggerlibrary.com:8443 -D
>>>>>>>> headers.txt
>>>>>>>> curl: (56) Unexpected EOF
>>>>>>>> $ ls -s
>>>>>>>> total 0
>>>>>>>> 0 headers.txt
>>>>>>>>
>>>>>>>> *Class Files Success:*
>>>>>>>> That same curl command returns the HTML file I was expecting when
>>>>>>>> running with the massive classpath (no fat-jar), plus the following
>>>>>>>> headers.txt:
>>>>>>>> HTTP/2 200
>>>>>>>> server: Jetty(9.4.20.v20190813)
>>>>>>>> content-type: text/html;charset=utf-8
>>>>>>>>
>>>>>>>> I have determined that the jar files included by maven exactly
>>>>>>>> match the jar files specified on the command line.
>>>>>>>>
>>>>>>>> *Chrome*
>>>>>>>> With chrome, the class files work great, but the Jar file produces,
>>>>>>>> "This site can’t be reached... unexpectedly closed the connection...
>>>>>>>> ERR_CONNECTION_CLOSED"
>>>>>>>>
>>>>>>>> *Unaffected*
>>>>>>>> *Log Files:*
>>>>>>>> I can see in the log files in both cases that the request is being
>>>>>>>> processed, but there is no exception thrown and no response apparently
>>>>>>>> written.
>>>>>>>>
>>>>>>>> *Nmap Cipher Test:*
>>>>>>>> Whether it yields HTML or not, the server gives the same response
>>>>>>>> to my cipher test:
>>>>>>>> $ nmap --script ssl-cert,ssl-enum-ciphers -p 8443
>>>>>>>> dev.memoryjoggerlibrary.com
>>>>>>>>
>>>>>>>> Starting Nmap 7.60 ( https://nmap.org ) at 2019-10-02 13:32 EDT
>>>>>>>> Nmap scan report for dev.memoryjoggerlibrary.com (127.0.0.1)
>>>>>>>> Host is up (0.000053s latency).
>>>>>>>> rDNS record for 127.0.0.1: localhost
>>>>>>>>
>>>>>>>> PORT STATE SERVICE
>>>>>>>> 8443/tcp open https-alt
>>>>>>>> | ssl-cert: Subject: commonName=
>>>>>>>> dev.memoryjoggerlibrary.com/organizationName=PlanBase
>>>>>>>> Inc./stateOrProvinceName=Massachusetts/countryName=US
>>>>>>>> | Issuer: commonName=
>>>>>>>> dev.memoryjoggerlibrary.com/organizationName=PlanBase
>>>>>>>> Inc./stateOrProvinceName=Massachusetts/countryName=US
>>>>>>>> | Public Key type: rsa
>>>>>>>> | Public Key bits: 2048
>>>>>>>> | Signature Algorithm: sha256WithRSAEncryption
>>>>>>>> | Not valid before: 2019-09-25T20:57:00
>>>>>>>> | Not valid after: 2022-09-25T20:57:00
>>>>>>>> | MD5: 483e 988f 709f 7300 3f3d 1d51 4f95 81cb
>>>>>>>> |_SHA-1: abe8 c872 c7d7 dfb1 4152 8bf3 2fee 5617 7613 94cd
>>>>>>>> | 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.19 seconds
>>>>>>>>
>>>>>>>> *Details:*
>>>>>>>> I'm using a self-signed certificate.
>>>>>>>>
>>>>>>>> Currently using (from maven .pom):
>>>>>>>> <jetty.version>9.4.20.v20190813
>>>>>>>> jetty-server
>>>>>>>> jetty-alpn-conscrypt-server
>>>>>>>> http2-common
>>>>>>>> http2-hpack
>>>>>>>> http2-server
>>>>>>>>
>>>>>>>> Not currently using: conscrypt-openjdk (seems to be overridden by
>>>>>>>> the conscrypt-openjdk-uber included in jetty-alpn-conscrypt-server -
>>>>>>>> same
>>>>>>>> issues with or without this dependency)
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> 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
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>>
>>> _______________________________________________
>>> 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
>>
>>
>>
>> --
>> Greg Wilkins <[email protected]> CTO http://webtide.com
>> _______________________________________________
>> 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