A barebones WebSocket client and server implementation written in 100% Java.

Overview

Java WebSockets

Build Status Javadocs Maven Central Sonatype Nexus (Snapshots)

This repository contains a barebones WebSocket server and client implementation written in 100% Java. The underlying classes are implemented java.nio, which allows for a non-blocking event-driven model (similar to the WebSocket API for web browsers).

Implemented WebSocket protocol versions are:

Here some more details about protocol versions/drafts. PerMessageDeflateExample enable the extension with reference to both a server and client example.

Getting Started

Dependency management tools

Below is a brief guide to using dependency management tools like maven or gradle.

Maven

To use maven add this dependency to your pom.xml:

<dependency>
  <groupId>org.java-websocket</groupId>
  <artifactId>Java-WebSocket</artifactId>
  <version>1.5.1</version>
</dependency>

Gradle

To use Gradle add the maven central repository to your repositories list:

mavenCentral()

Then you can just add the latest version to your build.

compile "org.java-websocket:Java-WebSocket:1.5.1"

Logging

This library uses SLF4J for logging and does not ship with any default logging implementation.

Exceptions are using the log level ERROR and debug logging will be done with log level TRACE.

Feel free to use whichever logging framework you desire and use the corresponding binding in your dependency management.

If you want to get started, take a look at the SimpleLogger example.

Standalone jar

If you do not use any dependency management tool, you can find the latest standalone jar here.

Writing your own WebSocket Server

The org.java_websocket.server.WebSocketServer abstract class implements the server-side of the WebSocket Protocol. A WebSocket server by itself doesn't do anything except establish socket connections though HTTP. After that it's up to your subclass to add purpose.

An example for a WebSocketServer can be found in both the wiki and the example folder.

Writing your own WebSocket Client

The org.java_websocket.client.WebSocketClient abstract class can connect to valid WebSocket servers. The constructor expects a valid ws:// URI to connect to. Important events onOpen, onClose, onMessage and onError get fired throughout the life of the WebSocketClient, and must be implemented in your subclass.

An example for a WebSocketClient can be found in both the wiki and the example folder.

Examples

You can find a lot of examples here.

WSS Support

This library supports wss. To see how to use wss please take a look at the examples.

If you do not have a valid certificate in place then you will have to create a self signed one. Browsers will simply refuse the connection in case of a bad certificate and will not ask the user to accept it. So the first step will be to make a browser to accept your self signed certificate. ( https://bugzilla.mozilla.org/show_bug.cgi?id=594502 ).
If the websocket server url is wss://localhost:8000 visit the url https://localhost:8000 with your browser. The browser will recognize the handshake and allow you to accept the certificate.

The vm option -Djavax.net.debug=all can help to find out if there is a problem with the certificate.

It is currently not possible to accept ws and wss connections at the same time via the same websocket server instance.

For some reason Firefox does not allow multiple connections to the same wss server if the server uses a different port than the default port (443).

If you want to use wss on the android platform you should take a look at this.

I ( @Davidiusdadi ) would be glad if you would give some feedback whether wss is working fine for you or not.

Minimum Required JDK

Java-WebSocket is known to work with:

  • Java 1.7 and higher

Other JRE implementations may work as well, but haven't been tested.

License

Everything found in this repo is licensed under an MIT license. See the LICENSE file for specifics.

Comments
  • Arbitrary stack overflow in SSLSocketChannel2.read()

    Arbitrary stack overflow in SSLSocketChannel2.read()

    Every so often I get a StackOverflowError in SSLSocketChannel2.read(). I don't see any correlation between when they happen; seems random. Here's my stack trace:

    0 java.lang.StackOverflowError 1 at org.apache.harmony.xnet.provider.jsse.SSLEngineImpl.unwrap(SSLEngineImpl.java:412) 2 at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:385) 3 at org.java_websocket.SSLSocketChannel2.unwrap(SSLSocketChannel2.java:150) 4 at org.java_websocket.SSLSocketChannel2.readRemaining(SSLSocketChannel2.java:254) 5 at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:220) 6 at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) 7 at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) 8 at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) ........
    254 at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) 255 at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) 256 at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) 257 at org.java_websocket.SocketChannelIOHelper.read(SocketChannelIOHelper.java:12) 258 at org.java_websocket.client.WebSocketClient.interruptableRun(WebSocketClient.java:229) 259 at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:188) 260 at java.lang.Thread.run(Thread.java:1019)

    As near as I can tell, it looks like for some reason no bytes are getting transferred from inData to dst, repeatedly. Not sure why, though.

    Bug wss Client 
    opened by Erhannis 34
  • wss connection(android only)

    wss connection(android only)

    When i try to connect to a ssl websocket server i get the following exception on android

    org.apache.harmony.xnet.provider.jsse.OpenSSLSessionImpl cannot be cast to org.apache.harmony.xnet.provider.jsse.SSLSessionImpl

    What does this mean?

    Thanks!

    wss Client Android 
    opened by unit51 33
  • Add PerMessageDeflate Extension support, see #574

    Add PerMessageDeflate Extension support, see #574

    Description

    Implemented support for PerMessageDeflateExtension, requested in #574. Added an example file to show how to include the extension.

    Related Issue

    Fixes #574

    Motivation and Context

    New feature

    How Has This Been Tested?

    Added a new test file.

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist:

    • [x] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [x] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
    New Feature Client Server Breaking changes 
    opened by haruntuncay 30
  • WebsocketNotConnectedException in Timer-0 ping

    WebsocketNotConnectedException in Timer-0 ping

    While running about 16 websocket connection threads, Timer-0 thread notified that 3 had disconnected then later logged the following exception. After that point, Timer-0 did not report anything else.

    Exception in thread "Timer-0" org.java_websocket.exceptions.WebsocketNotConnectedException at org.java_websocket.WebSocketImpl.send(WebSocketImpl.java:606) at org.java_websocket.WebSocketImpl.sendFrame(WebSocketImpl.java:632) at org.java_websocket.WebSocketImpl.sendPing(WebSocketImpl.java:639) at org.java_websocket.AbstractWebSocket$1.run(AbstractWebSocket.java:132) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505)

    • Version used: 1.3.5
    • Java version: 1.8.0_144
    • Operating System and version: Docker under Ubuntu 16.04
    Bug Unclear missing-information 
    opened by hackermike 29
  • How to use a SSL WebSocket client

    How to use a SSL WebSocket client

    Hello

    I am trying to use your library with a SSL Websocket Server.

    I tried to use something like new MyClient(new URI("wss://example.net/")); but I got this error : 400 The plain HTTP request was sent to HTTPS port

    Then, I found an example related to the 1.3.0 version on the repository. But it's extremely complex, I should be missing something.

    Do you have an example for a simple SSL WebSocket client ?

    Question wss Client Documentation 
    opened by fungiboletus 27
  • SSL client problem

    SSL client problem

    I would like to connect to a Websocket on "wss://diy-tobag.rhcloud.com:8443/jSkatServer/server" It works with javascript in a browser, so the server is working. I ran my program with Djavax.net.debug=all but I don't really know what the output means...

    trustStore is: C:\Program Files\Java\jre7\lib\security\cacerts trustStore type is : jks trustStore provider is : init truststore adding as trusted cert: Subject: CN=SwissSign Platinum CA - G2, O=SwissSign AG, C=CH Issuer: CN=SwissSign Platinum CA - G2, O=SwissSign AG, C=CH Algorithm: RSA; Serial number: 0x4eb200670c035d4f Valid from Wed Oct 25 01:36:00 MST 2006 until Sat Oct 25 01:36:00 MST 2036

    adding as trusted cert: Subject: [email protected], CN=http://www.valicert.com/, OU=ValiCert Class 1 Policy Validation Authority, O="ValiCert, Inc.", L=ValiCert Validation Network Issuer: [email protected], CN=http://www.valicert.com/, OU=ValiCert Class 1 Policy Validation Authority, O="ValiCert, Inc.", L=ValiCert Validation Network Algorithm: RSA; Serial number: 0x1 Valid from Fri Jun 25 15:23:48 MST 1999 until Tue Jun 25 15:23:48 MST 2019

    adding as trusted cert: Subject: CN=thawte Primary Root CA, OU="(c) 2006 thawte, Inc. - For authorized use only", OU=Certification Services Division, O="thawte, Inc.", C=US Issuer: CN=thawte Primary Root CA, OU="(c) 2006 thawte, Inc. - For authorized use only", OU=Certification Services Division, O="thawte, Inc.", C=US Algorithm: RSA; Serial number: 0x344ed55720d5edec49f42fce37db2b6d Valid from Thu Nov 16 17:00:00 MST 2006 until Wed Jul 16 16:59:59 MST 2036

    adding as trusted cert: Subject: CN=Entrust Root Certification Authority, OU="(c) 2006 Entrust, Inc.", OU=www.entrust.net/CPS is incorporated by reference, O="Entrust, Inc.", C=US Issuer: CN=Entrust Root Certification Authority, OU="(c) 2006 Entrust, Inc.", OU=www.entrust.net/CPS is incorporated by reference, O="Entrust, Inc.", C=US Algorithm: RSA; Serial number: 0x456b5054 Valid from Mon Nov 27 13:23:42 MST 2006 until Fri Nov 27 13:53:42 MST 2026

    adding as trusted cert: Subject: CN=KEYNECTIS ROOT CA, OU=ROOT, O=KEYNECTIS, C=FR Issuer: CN=KEYNECTIS ROOT CA, OU=ROOT, O=KEYNECTIS, C=FR Algorithm: RSA; Serial number: 0x1121bc276c5547af584eefd4ced629b2a285 Valid from Mon May 25 17:00:00 MST 2009 until Mon May 25 17:00:00 MST 2020

    adding as trusted cert: Subject: CN=Global Chambersign Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU Issuer: CN=Global Chambersign Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU Algorithm: RSA; Serial number: 0xc9cdd3e9d57d23ce Valid from Fri Aug 01 05:31:40 MST 2008 until Sat Jul 31 05:31:40 MST 2038

    adding as trusted cert: Subject: CN=America Online Root Certification Authority 2, O=America Online Inc., C=US Issuer: CN=America Online Root Certification Authority 2, O=America Online Inc., C=US Algorithm: RSA; Serial number: 0x1 Valid from Mon May 27 23:00:00 MST 2002 until Tue Sep 29 07:08:00 MST 2037

    adding as trusted cert: Subject: CN=AddTrust Qualified CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE Issuer: CN=AddTrust Qualified CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE Algorithm: RSA; Serial number: 0x1 Valid from Tue May 30 03:44:50 MST 2000 until Sat May 30 03:44:50 MST 2020

    adding as trusted cert: Subject: CN=QuoVadis Root Certification Authority, OU=Root Certification Authority, O=QuoVadis Limited, C=BM Issuer: CN=QuoVadis Root Certification Authority, OU=Root Certification Authority, O=QuoVadis Limited, C=BM Algorithm: RSA; Serial number: 0x3ab6508b Valid from Mon Mar 19 11:33:33 MST 2001 until Wed Mar 17 11:33:33 MST 2021

    adding as trusted cert: Subject: CN=SwissSign Silver CA - G2, O=SwissSign AG, C=CH Issuer: CN=SwissSign Silver CA - G2, O=SwissSign AG, C=CH Algorithm: RSA; Serial number: 0x4f1bd42f54bb2f4b Valid from Wed Oct 25 01:32:46 MST 2006 until Sat Oct 25 01:32:46 MST 2036

    adding as trusted cert: Subject: OU=Security Communication EV RootCA1, O="SECOM Trust Systems CO.,LTD.", C=JP Issuer: OU=Security Communication EV RootCA1, O="SECOM Trust Systems CO.,LTD.", C=JP Algorithm: RSA; Serial number: 0x0 Valid from Tue Jun 05 19:12:32 MST 2007 until Fri Jun 05 19:12:32 MST 2037

    adding as trusted cert: Subject: CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C=US Issuer: CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C=US Algorithm: RSA; Serial number: 0x1 Valid from Sun Jun 20 21:00:00 MST 1999 until Sat Jun 20 21:00:00 MST 2020

    adding as trusted cert: Subject: CN=SwissSign Gold CA - G2, O=SwissSign AG, C=CH Issuer: CN=SwissSign Gold CA - G2, O=SwissSign AG, C=CH Algorithm: RSA; Serial number: 0xbb401c43f55e4fb0 Valid from Wed Oct 25 01:30:35 MST 2006 until Sat Oct 25 01:30:35 MST 2036

    adding as trusted cert: Subject: [email protected], CN=Thawte Personal Freemail CA, OU=Certification Services Division, O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA Issuer: [email protected], CN=Thawte Personal Freemail CA, OU=Certification Services Division, O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA Algorithm: RSA; Serial number: 0x123df0e7da2a2247a43889e08aeec967 Valid from Sun Dec 31 17:00:00 MST 1995 until Fri Jan 01 16:59:59 MST 2021

    adding as trusted cert: Subject: CN=thawte Primary Root CA - G3, OU="(c) 2008 thawte, Inc. - For authorized use only", OU=Certification Services Division, O="thawte, Inc.", C=US Issuer: CN=thawte Primary Root CA - G3, OU="(c) 2008 thawte, Inc. - For authorized use only", OU=Certification Services Division, O="thawte, Inc.", C=US Algorithm: RSA; Serial number: 0x600197b746a7eab4b49ad64b2ff790fb Valid from Tue Apr 01 17:00:00 MST 2008 until Tue Dec 01 16:59:59 MST 2037

    adding as trusted cert: Subject: CN=GTE CyberTrust Global Root, OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US Issuer: CN=GTE CyberTrust Global Root, OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US Algorithm: RSA; Serial number: 0x1a5 Valid from Wed Aug 12 17:29:00 MST 1998 until Mon Aug 13 16:59:00 MST 2018

    adding as trusted cert: Subject: CN=Baltimore CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE Issuer: CN=Baltimore CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE Algorithm: RSA; Serial number: 0x20000b9 Valid from Fri May 12 11:46:00 MST 2000 until Mon May 12 16:59:00 MST 2025

    adding as trusted cert: Subject: OU=Class 1 Public Primary Certification Authority, O="VeriSign, Inc.", C=US Issuer: OU=Class 1 Public Primary Certification Authority, O="VeriSign, Inc.", C=US Algorithm: RSA; Serial number: 0x3f691e819cf09a4af373ffb948a2e4dd Valid from Sun Jan 28 17:00:00 MST 1996 until Wed Aug 02 16:59:59 MST 2028

    adding as trusted cert: Subject: CN=DigiCert High Assurance EV Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US Issuer: CN=DigiCert High Assurance EV Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US Algorithm: RSA; Serial number: 0x2ac5c266a0b409b8f0b79f2ae462577 Valid from Thu Nov 09 17:00:00 MST 2006 until Sun Nov 09 17:00:00 MST 2031

    adding as trusted cert: Subject: CN=QuoVadis Root CA 2, O=QuoVadis Limited, C=BM Issuer: CN=QuoVadis Root CA 2, O=QuoVadis Limited, C=BM Algorithm: RSA; Serial number: 0x509 Valid from Fri Nov 24 11:27:00 MST 2006 until Mon Nov 24 11:23:33 MST 2031

    adding as trusted cert: Subject: CN=Baltimore CyberTrust Code Signing Root, OU=CyberTrust, O=Baltimore, C=IE Issuer: CN=Baltimore CyberTrust Code Signing Root, OU=CyberTrust, O=Baltimore, C=IE Algorithm: RSA; Serial number: 0x20000bf Valid from Wed May 17 07:01:00 MST 2000 until Sat May 17 16:59:00 MST 2025

    adding as trusted cert: Subject: CN=T-TeleSec GlobalRoot Class 3, OU=T-Systems Trust Center, O=T-Systems Enterprise Services GmbH, C=DE Issuer: CN=T-TeleSec GlobalRoot Class 3, OU=T-Systems Trust Center, O=T-Systems Enterprise Services GmbH, C=DE Algorithm: RSA; Serial number: 0x1 Valid from Wed Oct 01 03:29:56 MST 2008 until Sat Oct 01 16:59:59 MST 2033

    adding as trusted cert: Subject: CN=Entrust.net Certification Authority (2048), OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), O=Entrust.net Issuer: CN=Entrust.net Certification Authority (2048), OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), O=Entrust.net Algorithm: RSA; Serial number: 0x3863def8 Valid from Fri Dec 24 10:50:51 MST 1999 until Tue Jul 24 07:15:12 MST 2029

    adding as trusted cert: Subject: CN=TC TrustCenter Class 4 CA II, OU=TC TrustCenter Class 4 CA, O=TC TrustCenter GmbH, C=DE Issuer: CN=TC TrustCenter Class 4 CA II, OU=TC TrustCenter Class 4 CA, O=TC TrustCenter GmbH, C=DE Algorithm: RSA; Serial number: 0x5c00001000241d0060a4dce7510 Valid from Thu Mar 23 07:10:23 MST 2006 until Wed Dec 31 15:59:59 MST 2025

    adding as trusted cert: Subject: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 2 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US Issuer: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 2 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US Algorithm: RSA; Serial number: 0xb92f60cc889fa17a4609b85b706c8aaf Valid from Sun May 17 17:00:00 MST 1998 until Tue Aug 01 16:59:59 MST 2028

    adding as trusted cert: Subject: CN=thawte Primary Root CA - G2, OU="(c) 2007 thawte, Inc. - For authorized use only", O="thawte, Inc.", C=US Issuer: CN=thawte Primary Root CA - G2, OU="(c) 2007 thawte, Inc. - For authorized use only", O="thawte, Inc.", C=US Algorithm: EC; Serial number: 0x35fc265cd9844fc93d263d579baed756 Valid from Sun Nov 04 17:00:00 MST 2007 until Mon Jan 18 16:59:59 MST 2038

    adding as trusted cert: Subject: [email protected], CN=Thawte Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA Issuer: [email protected], CN=Thawte Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA Algorithm: RSA; Serial number: 0x34a4fff630af4ca53c331742a1946675 Valid from Wed Jul 31 17:00:00 MST 1996 until Fri Jan 01 16:59:59 MST 2021

    adding as trusted cert: Subject: CN=Deutsche Telekom Root CA 2, OU=T-TeleSec Trust Center, O=Deutsche Telekom AG, C=DE Issuer: CN=Deutsche Telekom Root CA 2, OU=T-TeleSec Trust Center, O=Deutsche Telekom AG, C=DE Algorithm: RSA; Serial number: 0x26 Valid from Fri Jul 09 05:11:00 MST 1999 until Tue Jul 09 16:59:00 MST 2019

    adding as trusted cert: Subject: CN=Entrust.net Secure Server Certification Authority, OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), O=Entrust.net, C=US Issuer: CN=Entrust.net Secure Server Certification Authority, OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), O=Entrust.net, C=US Algorithm: RSA; Serial number: 0x374ad243 Valid from Tue May 25 09:09:40 MST 1999 until Sat May 25 09:39:40 MST 2019

    adding as trusted cert: Subject: CN=GeoTrust Universal CA, O=GeoTrust Inc., C=US Issuer: CN=GeoTrust Universal CA, O=GeoTrust Inc., C=US Algorithm: RSA; Serial number: 0x1 Valid from Wed Mar 03 22:00:00 MST 2004 until Sat Mar 03 22:00:00 MST 2029

    adding as trusted cert: Subject: CN=TC TrustCenter Universal CA I, OU=TC TrustCenter Universal CA, O=TC TrustCenter GmbH, C=DE Issuer: CN=TC TrustCenter Universal CA I, OU=TC TrustCenter Universal CA, O=TC TrustCenter GmbH, C=DE Algorithm: RSA; Serial number: 0x1da200010002ecb76080788db606 Valid from Wed Mar 22 08:54:28 MST 2006 until Wed Dec 31 15:59:59 MST 2025

    adding as trusted cert: Subject: CN=T-TeleSec GlobalRoot Class 2, OU=T-Systems Trust Center, O=T-Systems Enterprise Services GmbH, C=DE Issuer: CN=T-TeleSec GlobalRoot Class 2, OU=T-Systems Trust Center, O=T-Systems Enterprise Services GmbH, C=DE Algorithm: RSA; Serial number: 0x1 Valid from Wed Oct 01 03:40:14 MST 2008 until Sat Oct 01 16:59:59 MST 2033

    adding as trusted cert: Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US Algorithm: RSA; Serial number: 0x9b7e0649a33e62b9d5ee90487129ef57 Valid from Thu Sep 30 17:00:00 MST 1999 until Wed Jul 16 16:59:59 MST 2036

    adding as trusted cert: Subject: [email protected], CN=http://www.valicert.com/, OU=ValiCert Class 2 Policy Validation Authority, O="ValiCert, Inc.", L=ValiCert Validation Network Issuer: [email protected], CN=http://www.valicert.com/, OU=ValiCert Class 2 Policy Validation Authority, O="ValiCert, Inc.", L=ValiCert Validation Network Algorithm: RSA; Serial number: 0x1 Valid from Fri Jun 25 17:19:54 MST 1999 until Tue Jun 25 17:19:54 MST 2019

    adding as trusted cert: Subject: CN=DigiCert Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US Issuer: CN=DigiCert Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US Algorithm: RSA; Serial number: 0x83be056904246b1a1756ac95991c74a Valid from Thu Nov 09 17:00:00 MST 2006 until Sun Nov 09 17:00:00 MST 2031

    adding as trusted cert: Subject: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE Issuer: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE Algorithm: RSA; Serial number: 0x1 Valid from Tue May 30 03:38:31 MST 2000 until Sat May 30 03:38:31 MST 2020

    adding as trusted cert: Subject: CN=AddTrust External CA Root, OU=AddTrust External TTP Network, O=AddTrust AB, C=SE Issuer: CN=AddTrust External CA Root, OU=AddTrust External TTP Network, O=AddTrust AB, C=SE Algorithm: RSA; Serial number: 0x1 Valid from Tue May 30 03:48:38 MST 2000 until Sat May 30 03:48:38 MST 2020

    adding as trusted cert: Subject: CN=Class 2 Primary CA, O=Certplus, C=FR Issuer: CN=Class 2 Primary CA, O=Certplus, C=FR Algorithm: RSA; Serial number: 0x85bd4bf3d8dae369f694d75fc3a54423 Valid from Wed Jul 07 10:05:00 MST 1999 until Sat Jul 06 16:59:59 MST 2019

    adding as trusted cert: Subject: OU=Equifax Secure Certificate Authority, O=Equifax, C=US Issuer: OU=Equifax Secure Certificate Authority, O=Equifax, C=US Algorithm: RSA; Serial number: 0x35def4cf Valid from Sat Aug 22 09:41:51 MST 1998 until Wed Aug 22 09:41:51 MST 2018

    adding as trusted cert: Subject: CN=Chambers of Commerce Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU Issuer: CN=Chambers of Commerce Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU Algorithm: RSA; Serial number: 0xa3da427ea4b1aeda Valid from Fri Aug 01 05:29:50 MST 2008 until Sat Jul 31 05:29:50 MST 2038

    adding as trusted cert: Subject: CN=VeriSign Class 2 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US Issuer: CN=VeriSign Class 2 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US Algorithm: RSA; Serial number: 0x6170cb498c5f984529e7b0a6d9505b7a Valid from Thu Sep 30 17:00:00 MST 1999 until Wed Jul 16 16:59:59 MST 2036

    adding as trusted cert: Subject: CN=AAA Certificate Services, O=Comodo CA Limited, L=Salford, ST=Greater Manchester, C=GB Issuer: CN=AAA Certificate Services, O=Comodo CA Limited, L=Salford, ST=Greater Manchester, C=GB Algorithm: RSA; Serial number: 0x1 Valid from Wed Dec 31 17:00:00 MST 2003 until Sun Dec 31 16:59:59 MST 2028

    adding as trusted cert: Subject: CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US Issuer: CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US Algorithm: RSA; Serial number: 0x4 Valid from Sun Jun 20 21:00:00 MST 1999 until Sat Jun 20 21:00:00 MST 2020

    adding as trusted cert: Subject: OU=Starfield Class 2 Certification Authority, O="Starfield Technologies, Inc.", C=US Issuer: OU=Starfield Class 2 Certification Authority, O="Starfield Technologies, Inc.", C=US Algorithm: RSA; Serial number: 0x0 Valid from Tue Jun 29 10:39:16 MST 2004 until Thu Jun 29 10:39:16 MST 2034

    adding as trusted cert: Subject: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 1 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US Issuer: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 1 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US Algorithm: RSA; Serial number: 0x4cc7eaaa983e71d39310f83d3a899192 Valid from Sun May 17 17:00:00 MST 1998 until Tue Aug 01 16:59:59 MST 2028

    adding as trusted cert: Subject: CN=DigiCert Assured ID Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US Issuer: CN=DigiCert Assured ID Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US Algorithm: RSA; Serial number: 0xce7e0e517d846fe8fe560fc1bf03039 Valid from Thu Nov 09 17:00:00 MST 2006 until Sun Nov 09 17:00:00 MST 2031

    adding as trusted cert: Subject: CN=GlobalSign Root CA, OU=Root CA, O=GlobalSign nv-sa, C=BE Issuer: CN=GlobalSign Root CA, OU=Root CA, O=GlobalSign nv-sa, C=BE Algorithm: RSA; Serial number: 0x40000000001154b5ac394 Valid from Tue Sep 01 05:00:00 MST 1998 until Fri Jan 28 05:00:00 MST 2028

    adding as trusted cert: Subject: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 3 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US Issuer: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 3 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US Algorithm: RSA; Serial number: 0x7dd9fe07cfa81eb7107967fba78934c6 Valid from Sun May 17 17:00:00 MST 1998 until Tue Aug 01 16:59:59 MST 2028

    adding as trusted cert: Subject: CN=QuoVadis Root CA 3, O=QuoVadis Limited, C=BM Issuer: CN=QuoVadis Root CA 3, O=QuoVadis Limited, C=BM Algorithm: RSA; Serial number: 0x5c6 Valid from Fri Nov 24 12:11:23 MST 2006 until Mon Nov 24 12:06:44 MST 2031

    adding as trusted cert: Subject: CN=Certum CA, O=Unizeto Sp. z o.o., C=PL Issuer: CN=Certum CA, O=Unizeto Sp. z o.o., C=PL Algorithm: RSA; Serial number: 0x10020 Valid from Tue Jun 11 03:46:39 MST 2002 until Fri Jun 11 03:46:39 MST 2027

    adding as trusted cert: Subject: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2 Issuer: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2 Algorithm: RSA; Serial number: 0x400000000010f8626e60d Valid from Fri Dec 15 01:00:00 MST 2006 until Wed Dec 15 01:00:00 MST 2021

    adding as trusted cert: Subject: [email protected], CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA Issuer: [email protected], CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA Algorithm: RSA; Serial number: 0x36122296c5e338a520a1d25f4cd70954 Valid from Wed Jul 31 17:00:00 MST 1996 until Fri Jan 01 16:59:59 MST 2021

    adding as trusted cert: Subject: CN=Chambers of Commerce Root, OU=http://www.chambersign.org, O=AC Camerfirma SA CIF A82743287, C=EU Issuer: CN=Chambers of Commerce Root, OU=http://www.chambersign.org, O=AC Camerfirma SA CIF A82743287, C=EU Algorithm: RSA; Serial number: 0x0 Valid from Tue Sep 30 09:13:43 MST 2003 until Wed Sep 30 09:13:44 MST 2037

    adding as trusted cert: Subject: CN=Entrust Root Certification Authority - G2, OU="(c) 2009 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US Issuer: CN=Entrust Root Certification Authority - G2, OU="(c) 2009 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US Algorithm: RSA; Serial number: 0x4a538c28 Valid from Tue Jul 07 10:25:54 MST 2009 until Sat Dec 07 10:55:54 MST 2030

    adding as trusted cert: Subject: CN=Class 3P Primary CA, O=Certplus, C=FR Issuer: CN=Class 3P Primary CA, O=Certplus, C=FR Algorithm: RSA; Serial number: 0xbf5cdbb6f21c6ec04deb7a023b36e879 Valid from Wed Jul 07 10:10:00 MST 1999 until Sat Jul 06 16:59:59 MST 2019

    adding as trusted cert: Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5, OU="(c) 2006 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5, OU="(c) 2006 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US Algorithm: RSA; Serial number: 0x18dad19e267de8bb4a2158cdcc6b3b4a Valid from Tue Nov 07 17:00:00 MST 2006 until Wed Jul 16 16:59:59 MST 2036

    adding as trusted cert: Subject: CN=VeriSign Universal Root Certification Authority, OU="(c) 2008 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US Issuer: CN=VeriSign Universal Root Certification Authority, OU="(c) 2008 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US Algorithm: RSA; Serial number: 0x401ac46421b31321030ebbe4121ac51d Valid from Tue Apr 01 17:00:00 MST 2008 until Tue Dec 01 16:59:59 MST 2037

    adding as trusted cert: Subject: CN=GeoTrust Global CA, O=GeoTrust Inc., C=US Issuer: CN=GeoTrust Global CA, O=GeoTrust Inc., C=US Algorithm: RSA; Serial number: 0x23456 Valid from Mon May 20 21:00:00 MST 2002 until Fri May 20 21:00:00 MST 2022

    adding as trusted cert: Subject: OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US Issuer: OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US Algorithm: RSA; Serial number: 0x3c9131cb1ff6d01b0e9ab8d044bf12be Valid from Sun Jan 28 17:00:00 MST 1996 until Wed Aug 02 16:59:59 MST 2028

    adding as trusted cert: Subject: CN=Certum Trusted Network CA, OU=Certum Certification Authority, O=Unizeto Technologies S.A., C=PL Issuer: CN=Certum Trusted Network CA, OU=Certum Certification Authority, O=Unizeto Technologies S.A., C=PL Algorithm: RSA; Serial number: 0x444c0 Valid from Wed Oct 22 05:07:37 MST 2008 until Mon Dec 31 05:07:37 MST 2029

    adding as trusted cert: Subject: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP Issuer: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP Algorithm: RSA; Serial number: 0x0 Valid from Mon Sep 29 21:20:49 MST 2003 until Fri Sep 29 21:20:49 MST 2023

    adding as trusted cert: Subject: CN=Sonera Class1 CA, O=Sonera, C=FI Issuer: CN=Sonera Class1 CA, O=Sonera, C=FI Algorithm: RSA; Serial number: 0x24 Valid from Fri Apr 06 03:49:13 MST 2001 until Tue Apr 06 03:49:13 MST 2021

    adding as trusted cert: Subject: OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US Issuer: OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US Algorithm: RSA; Serial number: 0x0 Valid from Tue Jun 29 10:06:20 MST 2004 until Thu Jun 29 10:06:20 MST 2034

    adding as trusted cert: Subject: CN=UTN-USERFirst-Client Authentication and Email, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US Issuer: CN=UTN-USERFirst-Client Authentication and Email, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US Algorithm: RSA; Serial number: 0x44be0c8b500024b411d336252567c989 Valid from Fri Jul 09 10:28:50 MST 1999 until Tue Jul 09 10:36:58 MST 2019

    adding as trusted cert: Subject: CN=UTN-USERFirst-Hardware, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US Issuer: CN=UTN-USERFirst-Hardware, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US Algorithm: RSA; Serial number: 0x44be0c8b500024b411d3362afe650afd Valid from Fri Jul 09 11:10:42 MST 1999 until Tue Jul 09 11:19:22 MST 2019

    adding as trusted cert: Subject: CN=GeoTrust Primary Certification Authority, O=GeoTrust Inc., C=US Issuer: CN=GeoTrust Primary Certification Authority, O=GeoTrust Inc., C=US Algorithm: RSA; Serial number: 0x18acb56afd69b6153a636cafdafac4a1 Valid from Sun Nov 26 17:00:00 MST 2006 until Wed Jul 16 16:59:59 MST 2036

    adding as trusted cert: Subject: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R3 Issuer: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R3 Algorithm: RSA; Serial number: 0x4000000000121585308a2 Valid from Wed Mar 18 03:00:00 MST 2009 until Sun Mar 18 03:00:00 MST 2029

    adding as trusted cert: Subject: CN=GeoTrust Primary Certification Authority - G2, OU=(c) 2007 GeoTrust Inc. - For authorized use only, O=GeoTrust Inc., C=US Issuer: CN=GeoTrust Primary Certification Authority - G2, OU=(c) 2007 GeoTrust Inc. - For authorized use only, O=GeoTrust Inc., C=US Algorithm: EC; Serial number: 0x3cb2f4480a00e2feeb243b5e603ec36b Valid from Sun Nov 04 17:00:00 MST 2007 until Mon Jan 18 16:59:59 MST 2038

    adding as trusted cert: Subject: CN=VeriSign Class 1 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US Issuer: CN=VeriSign Class 1 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US Algorithm: RSA; Serial number: 0x8b5b75568454850b00cfaf3848ceb1a4 Valid from Thu Sep 30 17:00:00 MST 1999 until Wed Jul 16 16:59:59 MST 2036

    adding as trusted cert: Subject: CN=America Online Root Certification Authority 1, O=America Online Inc., C=US Issuer: CN=America Online Root Certification Authority 1, O=America Online Inc., C=US Algorithm: RSA; Serial number: 0x1 Valid from Mon May 27 23:00:00 MST 2002 until Thu Nov 19 13:43:00 MST 2037

    adding as trusted cert: Subject: OU=Security Communication RootCA2, O="SECOM Trust Systems CO.,LTD.", C=JP Issuer: OU=Security Communication RootCA2, O="SECOM Trust Systems CO.,LTD.", C=JP Algorithm: RSA; Serial number: 0x0 Valid from Thu May 28 22:00:39 MST 2009 until Mon May 28 22:00:39 MST 2029

    adding as trusted cert: Subject: CN=Thawte Timestamping CA, OU=Thawte Certification, O=Thawte, L=Durbanville, ST=Western Cape, C=ZA Issuer: CN=Thawte Timestamping CA, OU=Thawte Certification, O=Thawte, L=Durbanville, ST=Western Cape, C=ZA Algorithm: RSA; Serial number: 0x0 Valid from Tue Dec 31 17:00:00 MST 1996 until Thu Dec 31 16:59:59 MST 2020

    adding as trusted cert: Subject: CN=GeoTrust Primary Certification Authority - G3, OU=(c) 2008 GeoTrust Inc. - For authorized use only, O=GeoTrust Inc., C=US Issuer: CN=GeoTrust Primary Certification Authority - G3, OU=(c) 2008 GeoTrust Inc. - For authorized use only, O=GeoTrust Inc., C=US Algorithm: RSA; Serial number: 0x15ac6e9419b2794b41f627a9c3180f1f Valid from Tue Apr 01 17:00:00 MST 2008 until Tue Dec 01 16:59:59 MST 2037

    adding as trusted cert: Subject: CN=GTE CyberTrust Root 5, OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US Issuer: CN=GTE CyberTrust Root 5, OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US Algorithm: RSA; Serial number: 0x1b6 Valid from Fri Aug 14 07:50:00 MST 1998 until Wed Aug 14 16:59:00 MST 2013

    adding as trusted cert: Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4, OU="(c) 2007 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4, OU="(c) 2007 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US Algorithm: EC; Serial number: 0x2f80fe238c0e220f486712289187acb3 Valid from Sun Nov 04 17:00:00 MST 2007 until Mon Jan 18 16:59:59 MST 2038

    adding as trusted cert: Subject: CN=UTN-USERFirst-Object, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US Issuer: CN=UTN-USERFirst-Object, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US Algorithm: RSA; Serial number: 0x44be0c8b500024b411d3362de0b35f1b Valid from Fri Jul 09 11:31:20 MST 1999 until Tue Jul 09 11:40:36 MST 2019

    adding as trusted cert: Subject: CN=UTN - DATACorp SGC, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US Issuer: CN=UTN - DATACorp SGC, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US Algorithm: RSA; Serial number: 0x44be0c8b500021b411d32a6806a9ad69 Valid from Thu Jun 24 11:57:21 MST 1999 until Mon Jun 24 12:06:30 MST 2019

    adding as trusted cert: Subject: CN=Sonera Class2 CA, O=Sonera, C=FI Issuer: CN=Sonera Class2 CA, O=Sonera, C=FI Algorithm: RSA; Serial number: 0x1d Valid from Fri Apr 06 00:29:40 MST 2001 until Tue Apr 06 00:29:40 MST 2021

    adding as trusted cert: Subject: CN=TC TrustCenter Class 2 CA II, OU=TC TrustCenter Class 2 CA, O=TC TrustCenter GmbH, C=DE Issuer: CN=TC TrustCenter Class 2 CA II, OU=TC TrustCenter Class 2 CA, O=TC TrustCenter GmbH, C=DE Algorithm: RSA; Serial number: 0x2e6a000100021fd752212c115c3b Valid from Thu Jan 12 07:38:43 MST 2006 until Wed Dec 31 15:59:59 MST 2025

    trigger seeding of SecureRandom done seeding SecureRandom Trying to connect... Using SSLEngineImpl. Ignoring unavailable cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA Ignoring unavailable cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA Ignoring unavailable cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA Ignoring unavailable cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 Ignoring unavailable cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 Ignoring unavailable cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 Ignoring unavailable cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 Ignoring unavailable cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA256 Ignoring unavailable cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA Ignoring unavailable cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 Ignoring unavailable cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA Ignoring unavailable cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 Ignoring unavailable cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA Ignoring unavailable cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA Allow unsafe renegotiation: false Allow legacy hello messages: true Is initial handshake: true Is secure renegotiation: false Ignoring unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 for SSLv3 Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 for SSLv3 Ignoring unsupported cipher suite: TLS_RSA_WITH_AES_128_CBC_SHA256 for SSLv3 Ignoring unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 for SSLv3 Ignoring unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 for SSLv3 Ignoring unsupported cipher suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 for SSLv3 Ignoring unsupported cipher suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 for SSLv3 Ignoring unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 for TLSv1 Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 for TLSv1 Ignoring unsupported cipher suite: TLS_RSA_WITH_AES_128_CBC_SHA256 for TLSv1 Ignoring unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 for TLSv1 Ignoring unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 for TLSv1 Ignoring unsupported cipher suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 for TLSv1 Ignoring unsupported cipher suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 for TLSv1 Ignoring unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 Ignoring unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 Ignoring unsupported cipher suite: TLS_RSA_WITH_AES_128_CBC_SHA256 Ignoring unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 Ignoring unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 Ignoring unsupported cipher suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 Ignoring unsupported cipher suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 %% No cached client session *** ClientHello, TLSv1 RandomCookie: GMT: 1359960627 bytes = { 68, 38, 122, 240, 100, 74, 106, 57, 94, 137, 13, 67, 164, 161, 223, 221, 130, 254, 240, 210, 43, 168, 72, 34, 238, 220, 49, 215 } Session ID: {} Cipher Suites: [TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_RC4_128_SHA, TLS_ECDH_ECDSA_WITH_RC4_128_SHA, TLS_ECDH_RSA_WITH_RC4_128_SHA, TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_RC4_128_MD5, TLS_EMPTY_RENEGOTIATION_INFO_SCSV] Compression Methods: { 0 } Extension elliptic_curves, curve names: {secp256r1, sect163k1, sect163r2, secp192r1, secp224r1, sect233k1, sect233r1, sect283k1, sect283r1, secp384r1, sect409k1, sect409r1, secp521r1, sect571k1, sect571r1, secp160k1, secp160r1, secp160r2, sect163r1, secp192k1, sect193r1, sect193r2, secp224k1, sect239k1, secp256k1} Extension ec_point_formats, formats: [uncompressed] Extension server_name, server_name: [host_name: diy-tobag.rhcloud.com]


    [write] MD5 and SHA1 hashes: len = 179 0000: 01 00 00 AF 03 01 51 0F 5A 33 44 26 7A F0 64 4A ......Q.Z3D&z.dJ 0010: 6A 39 5E 89 0D 43 A4 A1 DF DD 82 FE F0 D2 2B A8 j9^..C........+. 0020: 48 22 EE DC 31 D7 00 00 2A C0 09 C0 13 00 2F C0 H"..1......../. 0030: 04 C0 0E 00 33 00 32 C0 07 C0 11 00 05 C0 02 C0 ....3.2......... 0040: 0C C0 08 C0 12 00 0A C0 03 C0 0D 00 16 00 13 00 ................ 0050: 04 00 FF 01 00 00 5C 00 0A 00 34 00 32 00 17 00 .........4.2... 0060: 01 00 03 00 13 00 15 00 06 00 07 00 09 00 0A 00 ................ 0070: 18 00 0B 00 0C 00 19 00 0D 00 0E 00 0F 00 10 00 ................ 0080: 11 00 02 00 12 00 04 00 05 00 14 00 08 00 16 00 ................ 0090: 0B 00 02 01 00 00 00 00 1A 00 18 00 00 15 64 69 ..............di 00A0: 79 2D 74 6F 62 61 67 2E 72 68 63 6C 6F 75 64 2E y-tobag.rhcloud. 00B0: 63 6F 6D com Thread-3, WRITE: TLSv1 Handshake, length = 179 [Raw write]: length = 184 0000: 16 03 01 00 B3 01 00 00 AF 03 01 51 0F 5A 33 44 ...........Q.Z3D 0010: 26 7A F0 64 4A 6A 39 5E 89 0D 43 A4 A1 DF DD 82 &z.dJj9^..C..... 0020: FE F0 D2 2B A8 48 22 EE DC 31 D7 00 00 2A C0 09 ...+.H"..1..... 0030: C0 13 00 2F C0 04 C0 0E 00 33 00 32 C0 07 C0 11 .../.....3.2.... 0040: 00 05 C0 02 C0 0C C0 08 C0 12 00 0A C0 03 C0 0D ................ 0050: 00 16 00 13 00 04 00 FF 01 00 00 5C 00 0A 00 34 ..............4 0060: 00 32 00 17 00 01 00 03 00 13 00 15 00 06 00 07 .2.............. 0070: 00 09 00 0A 00 18 00 0B 00 0C 00 19 00 0D 00 0E ................ 0080: 00 0F 00 10 00 11 00 02 00 12 00 04 00 05 00 14 ................ 0090: 00 08 00 16 00 0B 00 02 01 00 00 00 00 1A 00 18 ................ 00A0: 00 00 15 64 69 79 2D 74 6F 62 61 67 2E 72 68 63 ...diy-tobag.rhc 00B0: 6C 6F 75 64 2E 63 6F 6D loud.com [Raw read]: length = 5 0000: 16 03 01 00 51 ....Q [Raw read]: length = 81 0000: 02 00 00 4D 03 01 51 0F 5A 2F 70 1D 93 37 90 5A ...M..Q.Z/p..7.Z 0010: 27 C0 54 6B AA 84 01 A5 85 5B A1 74 C0 5B 3D 7D '.Tk.....[.t.[=. 0020: A7 1F 87 38 60 79 20 5A 04 44 C0 34 0B 06 1B 08 ...8`y Z.D.4.... 0030: AE 74 C5 BC D2 67 C9 37 54 8C FE 1D 78 02 EB EB .t...g.7T...x... 0040: 69 29 26 5B E6 30 69 00 2F 00 00 05 FF 01 00 01 i)&[.0i./....... 0050: 00 . Thread-3, READ: TLSv1 Handshake, length = 81 *** ServerHello, TLSv1 RandomCookie: GMT: 1359960623 bytes = { 112, 29, 147, 55, 144, 90, 39, 192, 84, 107, 170, 132, 1, 165, 133, 91, 161, 116, 192, 91, 61, 125, 167, 31, 135, 56, 96, 121 } Session ID: {90, 4, 68, 192, 52, 11, 6, 27, 8, 174, 116, 197, 188, 210, 103, 201, 55, 84, 140, 254, 29, 120, 2, 235, 235, 105, 41, 38, 91, 230, 48, 105} Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA Compression Method: 0 Extension renegotiation_info, renegotiated_connection:


    %% Initialized: [Session-1, TLS_RSA_WITH_AES_128_CBC_SHA] ** TLS_RSA_WITH_AES_128_CBC_SHA [read] MD5 and SHA1 hashes: len = 81 0000: 02 00 00 4D 03 01 51 0F 5A 2F 70 1D 93 37 90 5A ...M..Q.Z/p..7.Z 0010: 27 C0 54 6B AA 84 01 A5 85 5B A1 74 C0 5B 3D 7D '.Tk.....[.t.[=. 0020: A7 1F 87 38 60 79 20 5A 04 44 C0 34 0B 06 1B 08 ...8`y Z.D.4.... 0030: AE 74 C5 BC D2 67 C9 37 54 8C FE 1D 78 02 EB EB .t...g.7T...x... 0040: 69 29 26 5B E6 30 69 00 2F 00 00 05 FF 01 00 01 i)&[.0i./....... 0050: 00 . write(183): {GET /jSkatServer/server HTTP/1.1 host: diy-tobag.rhcloud.com:8443 upgrade: websocket connection: Upgrade sec-websocket-version: 13 sec-websocket-key: whhH59I8Ld2aLhl33YotSA==

    }

    Bug wss Client 
    opened by Tobag 24
  • Problems with WSS running on linux and Edge(or ie) browser

    Problems with WSS running on linux and Edge(or ie) browser

    Hello,

    I'm having a bit of a issue. On my local environment, when i create the server and try to run it, i can connect correctly with all browsers, thanks to fix #466 , However, when i export to my test server, that runs Ubuntu, PHP 7,1 and apache2, i simple cant make it work with Edge or IE. Using Firefox and Chrome works correctly. I'm using oracle-java8 on the server... java -version returns: java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

    The problem happens when i try to connect with the server via Edge or IE. It freezes and time out on the client, but the server dont show me anything.. However, if i close the tab before it times out, the server spill a exception: java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) at sun.nio.ch.IOUtil.write(IOUtil.java:65) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) at org.java_websocket.SSLSocketChannel2.close(SSLSocketChannel2.java:319) at org.java_websocket.WebSocketImpl.closeConnection(WebSocketImpl.java:492) at org.java_websocket.WebSocketImpl.closeConnection(WebSocketImpl.java:522) at org.java_websocket.server.WebSocketServer.handleIOException(WebSocketServer.java:494) at org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:424) at java.lang.Thread.run(Thread.java:748)

    I just cant make it work. Please help me again @marci4 =D

    PS: My server is running on : 35.xxx.223.xxx:8283

    Bug wss Server 
    opened by Irahe 23
  • When using self-signed, multiple connections crashes server

    When using self-signed, multiple connections crashes server

    So I'm hosting a Web Socket Server with a self-signed SSL license. It works until there is more than 1 connection. The third connection kills the server and it stops responding. The server runs on android and I'm connecting to it using WebSockets. Here's a stacktrace:

    http://hastebin.com/uxoxalarab.avrasm

    any ideas? thanks

    Bug wss Server Android works-for-me 
    opened by amishshah 23
  • Clean up connections after connection closed

    Clean up connections after connection closed

    I do believe this method should also clean up connections since its closed. I see only

    conn.close( CloseFrame.ABNORMAL_CLOSE );

    and nothing about cleaning up.

    /**
     * Start the connection lost timer
     */
    protected void startConnectionLostTimer() {
        if (this.connectionLostTimeout <= 0) {
            if (WebSocketImpl.DEBUG)
                System.out.println("Connection lost timer deactivated");
            return;
        }
        if (WebSocketImpl.DEBUG)
            System.out.println("Connection lost timer started");
        cancelConnectionLostTimer();
        connectionLostTimer = new Timer();
        connectionLostTimerTask = new TimerTask() {
            @Override
            public void run() {
                Collection<WebSocket> con = connections();
                synchronized ( con ) {
                    long current = (System.currentTimeMillis()-(connectionLostTimeout * 1500));
                    for( WebSocket conn : con ) {
                        if (conn instanceof WebSocketImpl) {
                            if( ((WebSocketImpl)conn).getLastPong() < current ) {
                                if (WebSocketImpl.DEBUG)
                                    System.out.println("Closing connection due to no pong received: " + conn.toString());
                                conn.close( CloseFrame.ABNORMAL_CLOSE );
                            } else {
                                conn.sendPing();
                            }
                        }
                    }
                }
            }
        };
        connectionLostTimer.scheduleAtFixedRate( connectionLostTimerTask,connectionLostTimeout * 1000, connectionLostTimeout * 1000 );
    }
    
    Bug Server waiting-for-feedback 
    opened by vikulin 20
  • Systematic

    Systematic "RSV n" errors with stochastic "n"s

    Hello, comrades! There are errors "RSV n" with stochastic "n"s detected. The WebSocket server is a small chat engine, available via wss: connection. It works with some stable periods, intermediated with periods of "RSV n" errors sent to stderr.

    WTF may be this?


    org.java_websocket.exceptions.InvalidFrameException: bad rsv 2
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 2
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 2
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 4
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 4
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 5
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 4
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 3
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 4
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 1
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 1
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 1
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 4
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 4
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 1
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: unknow optcode 3
    	at org.java_websocket.drafts.Draft_10.toOpcode(Draft_10.java:239)
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:313)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 4
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: unknow optcode 4
    	at org.java_websocket.drafts.Draft_10.toOpcode(Draft_10.java:239)
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:313)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 7
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 4
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 4
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 4
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 7
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 4
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 4
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 4
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 2
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.WebsocketNotConnectedException
    	at org.java_websocket.WebSocketImpl.send(WebSocketImpl.java:566)
    	at org.java_websocket.WebSocketImpl.send(WebSocketImpl.java:543)
    	at com.webrtcexample.signaler.Client.sendQuestion(Client.java:308)
    	at com.webrtcexample.signaler.Client.pushQuestion(Client.java:107)
    	at com.webrtcexample.signaler.Room.skip(Room.java:29)
    	at com.webrtcexample.signaler.Main.onClose(Main.java:360)
    	at org.java_websocket.server.WebSocketServer.onWebsocketClose(WebSocketServer.java:489)
    	at org.java_websocket.WebSocketImpl.closeConnection(WebSocketImpl.java:459)
    	at org.java_websocket.WebSocketImpl.closeConnection(WebSocketImpl.java:479)
    	at org.java_websocket.SocketChannelIOHelper.batch(SocketChannelIOHelper.java:64)
    	at org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:349)
    	at java.lang.Thread.run(Thread.java:745)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 4
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    org.java_websocket.exceptions.InvalidFrameException: bad rsv 3
    	at org.java_websocket.drafts.Draft_10.translateSingleFrame(Draft_10.java:309)
    	at org.java_websocket.drafts.Draft_10.translateFrame(Draft_10.java:286)
    	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:312)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    

    Also following errors were detected


    java.nio.InvalidMarkException
    	at java.nio.Buffer.reset(Buffer.java:306)
    	at org.java_websocket.WebSocketImpl.decodeHandshake(WebSocketImpl.java:287)
    	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:159)
    	at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
    java.nio.channels.ClosedByInterruptException
    	at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
    	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:478)
    	at org.java_websocket.SSLSocketChannel2.write(SSLSocketChannel2.java:195)
    	at org.java_websocket.SocketChannelIOHelper.batch(SocketChannelIOHelper.java:52)
    	at org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:349)
    	at java.lang.Thread.run(Thread.java:745)
    java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@16259ff9 rejected from java.util.concurrent.ScheduledThreadPoolExecutor@4119c2[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 2]
    	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2047)
    	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823)
    	at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:326)
    	at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:533)
    	at java.util.concurrent.ScheduledThreadPoolExecutor.submit(ScheduledThreadPoolExecutor.java:632)
    	at java.util.concurrent.Executors$DelegatedExecutorService.submit(Executors.java:678)
    	at org.java_websocket.SSLSocketChannel2.consumeDelegatedTasks(SSLSocketChannel2.java:176)
    	at org.java_websocket.SSLSocketChannel2.processHandshake(SSLSocketChannel2.java:141)
    	at org.java_websocket.SSLSocketChannel2.write(SSLSocketChannel2.java:208)
    	at org.java_websocket.SSLSocketChannel2.writeMore(SSLSocketChannel2.java:351)
    	at org.java_websocket.SocketChannelIOHelper.batch(SocketChannelIOHelper.java:49)
    	at org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:344)
    	at java.lang.Thread.run(Thread.java:745)
    java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@4119c2 rejected from java.util.concurrent.ScheduledThreadPoolExecutor@243a3eac[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 2]
    	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2047)
    	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823)
    	at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:326)
    	at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:533)
    	at java.util.concurrent.ScheduledThreadPoolExecutor.submit(ScheduledThreadPoolExecutor.java:632)
    	at java.util.concurrent.Executors$DelegatedExecutorService.submit(Executors.java:678)
    	at org.java_websocket.SSLSocketChannel2.consumeDelegatedTasks(SSLSocketChannel2.java:176)
    	at org.java_websocket.SSLSocketChannel2.processHandshake(SSLSocketChannel2.java:141)
    	at org.java_websocket.SSLSocketChannel2.write(SSLSocketChannel2.java:208)
    	at org.java_websocket.SSLSocketChannel2.writeMore(SSLSocketChannel2.java:351)
    	at org.java_websocket.SocketChannelIOHelper.batch(SocketChannelIOHelper.java:49)
    	at org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:344)
    	at java.lang.Thread.run(Thread.java:745)
    
    ```------------------------------------------------
    
    Bug waiting-for-feedback 
    opened by ComradeWoland 20
  • Getting Stack over flow error

    Getting Stack over flow error

    E/AndroidRuntime: FATAL EXCEPTION: Thread-1415 Process: com.example, PID: 5182 java.lang.StackOverflowError at com.android.org.conscrypt.OpenSSLCipher.getOutputSize(OpenSSLCipher.java:201) at com.android.org.conscrypt.OpenSSLCipher.engineGetOutputSize(OpenSSLCipher.java:213) at javax.crypto.Cipher.getOutputSize(Cipher.java:402) at com.android.org.conscrypt.ConnectionState.getMinFragmentSize(ConnectionState.java:69) at com.android.org.conscrypt.SSLRecordProtocol.getMinRecordSize(SSLRecordProtocol.java:134) at com.android.org.conscrypt.SSLEngineImpl.unwrap(SSLEngineImpl.java:434) at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:383) at org.java_websocket.SSLSocketChannel2.unwrap(SSLSocketChannel2.java:150) at org.java_websocket.SSLSocketChannel2.readRemaining(SSLSocketChannel2.java:254) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:220) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_websocket.SSLSocketChannel2.read(SSLSocketChannel2.java:241) at org.java_web

    Bug Android 
    opened by emilpradeep 20
Releases(v1.5.3)
Owner
Nathan Rajlich
Programmer / Nerd. Former @nodejs core committer. Revolutionizing deployments @vercel. Before you ask, I'm 6’6”
Nathan Rajlich
A Java event based WebSocket and HTTP server

Webbit - A Java event based WebSocket and HTTP server Getting it Prebuilt JARs are available from the central Maven repository or the Sonatype Maven r

null 808 Dec 23, 2022
WebSocket server with creatable/joinable channels.

bytesocks ?? bytesocks is a WebSocket server which allows clients to create "channels" and send messages in them. It's effectively an add-on for byteb

lucko 6 Nov 29, 2022
Distributed WebSocket Server

Keeper 分布式 WebSocket 服务器。 注意事项 IO 线程和业务线程分离:对于小业务,依旧放到 worker 线程中处理,对于需要和中间件交互的丢到业务线程池处理,避免 worker 阻塞。 WebSocket 握手阶段支持参数列表。 插件 本服务功能插件化。

岚 1 Dec 15, 2022
Magician is an asynchronous non-blocking network protocol analysis package, supports TCP, UDP protocol, built-in Http, WebSocket decoder

An asynchronous non-blocking network protocol analysis package Project Description Magician is an asynchronous non-blocking network protocol analysis

贝克街的天才 103 Nov 30, 2022
A simple, fast integration of WebSocket spring-stater

websocket-spring-boot-starter readme 介绍 一个简单,快速,低配的spring-boot-starter,是对spring-boot-starter-websocket的扩展与二次封装,简化了springboot应用对websocket的操作 特点 简单,低配 支

Jack 4 Dec 24, 2021
Socket.IO Client Implementation in Java

Socket.IO-Client for Java socket.io-java-client is an easy to use implementation of socket.io for Java. It uses Weberknecht as transport backend, but

Enno Boland 946 Dec 21, 2022
A small java project consisting of Client and Server, that communicate via TCP/UDP protocols.

Ninja Battle A small java project consisting of Client and Server, that communicate via TCP/UDP protocols. Client The client is equipped with a menu i

Steliyan Dobrev 2 Jan 14, 2022
BAIN Social is a Fully Decentralized Server/client system that utilizes Concepts pioneered by I2P, ToR, and PGP to create a system which bypasses singular hosts for data while keeping that data secure.

SYNOPSIS ---------------------------------------------------------------------------------------------------- Welcome to B.A.I.N - Barren's A.I. Natio

Barren A.I. Wolfsbane 14 Jan 11, 2022
TCP/UDP client/server library for Java, based on Kryo

KryoNet can be downloaded on the releases page. Please use the KryoNet discussion group for support. Overview KryoNet is a Java library that provides

Esoteric Software 1.7k Jan 2, 2023
FileServer - A multithreaded client-server program that uses Java Sockets to establish TCP/IP connection

A multithreaded client-server program that uses Java Sockets to establish TCP/IP connection. The server allows multiple clients to upload, retrieve and delete files on/from the server.

Lokesh Bisht 3 Nov 13, 2022
Book Finder application is a client-server application (gRPC) for educational purposes.

Book-Finder Book Finder application is a client-server application (gRPC) for educational purposes. Instalation These projects (Client/Server) are Mav

Mihai-Lucian Rîtan 21 Oct 27, 2022
Realtime Client Server Framework for the JVM, supporting WebSockets with Cross-Browser Fallbacks

Welcome to Atmosphere: The Event Driven Framework supporting WebSocket and HTTP The Atmosphere Framework contains client and server side components fo

Atmosphere Framework 3.6k Jan 3, 2023
A simple Discord bot, which shows the server status of the Lost Ark server Beatrice

Beatrice A simple Discord bot, which shows the server status of the Lost Ark server Beatrice. Example Usage Clone the repository. Edit the property fi

Leon 3 Mar 9, 2022
API gateway for REST and SOAP written in Java.

API gateway for REST and SOAP written in Java.

predic8 GmbH 389 Dec 31, 2022
A multi-threaded downloader written in java

A multi-threaded downloader written in java

null 1 Feb 20, 2022
Telegram API Client and Telegram BOT API Library and Framework in Pure java.

Javagram Telegram API Client and Telegram Bot API library and framework in pure Java. Hello Telegram You can use Javagram for both Telegram API Client

Java For Everything 3 Oct 17, 2021
Nifty is an implementation of Thrift clients and servers on Netty

his project is archived and no longer maintained. At the time of archiving, open issues and pull requests were clo

Meta Archive 902 Sep 9, 2022
Short code snippets written by our open source community!

Code Examples This repository contains different code examples in different programming languages. Website https://codes.snowflakedev.org How do I con

SnowflakeDev Community ❄️ 64 Nov 13, 2022
The Java gRPC implementation. HTTP/2 based RPC

gRPC-Java - An RPC library and framework gRPC-Java works with JDK 7. gRPC-Java clients are supported on Android API levels 16 and up (Jelly Bean and l

grpc 10.2k Jan 1, 2023