sslengine.example | Java server and client using JSSE SSLEngine | TLS library

 by   alkarn Java Version: Current License: MIT

kandi X-RAY | sslengine.example Summary

kandi X-RAY | sslengine.example Summary

sslengine.example is a Java library typically used in Security, TLS applications. sslengine.example has no vulnerabilities, it has build file available, it has a Permissive License and it has low support. However sslengine.example has 1 bugs. You can download it from GitHub.

JSSE is the standard way Java provides to implement SSL/TLS communication. One of its core classes is SSLContext, which you can easily configure and equally easily get an input and output stream from. These streams though will be blocking, since available() will always return false for SSL/TLS connections. In order to achieve a non-blocking SSL/TLS solution, JSSE provides the SSLEngine, which leads to a more complicated solution, since the developer has to implement parts of the protocol himself and also decide the way the transport link will be implemented. Due to the lack of examples I was able to find in the Internet, I decided to start a project, in order to explore JSSE, and share it here. More information about JSSE can be found in this link:
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              sslengine.example has a low active ecosystem.
              It has 102 star(s) with 43 fork(s). There are 10 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 4 open issues and 0 have been closed. On average issues are closed in 665 days. There are 1 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of sslengine.example is current.

            kandi-Quality Quality

              OutlinedDot
              sslengine.example has 1 bugs (1 blocker, 0 critical, 0 major, 0 minor) and 26 code smells.

            kandi-Security Security

              sslengine.example has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              sslengine.example code analysis shows 0 unresolved vulnerabilities.
              There are 1 security hotspots that need review.

            kandi-License License

              sslengine.example is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              sslengine.example releases are not available. You will need to build from source code and install.
              Build file is available. You can build the component from source.
              Installation instructions are not available. Examples and code snippets are available.
              sslengine.example saves you 231 person hours of effort in developing the same functionality from scratch.
              It has 563 lines of code, 30 functions and 6 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed sslengine.example and discovered the below as its top functions. This is intended to give you an instant insight into sslengine.example implemented functionality, and help decide if they suit your requirements.
            • Starts the server
            • Reads data from the socket channel
            • Sends a message back to the client
            • Handles a new connection request
            • Handles the end of a stream
            • Determines if the server is active or not
            • Establishes a connection to the remote server
            • Creates an SSL handshake between two peers
            • Checks if there is a buffer under the current session
            • Enlarges the buffer with the given capacity
            • Enlarges the application buffer size
            • Enlarges the session buffer size
            • Creates and returns the key managers required for a file
            • Creates the trust managers required to initiate a JKS context
            • Closes the connection
            • Stops the server
            Get all kandi verified functions for this library.

            sslengine.example Key Features

            No Key Features are available at this moment for sslengine.example.

            sslengine.example Examples and Code Snippets

            No Code Snippets are available at this moment for sslengine.example.

            Community Discussions

            QUESTION

            Is it secure to distribute a client / server application with same SSL Key/TrustStore?
            Asked 2019-Feb-06 at 22:40

            I'm working on a client / server application. Client and server connect via NIO and the connection is secured by SSL. I based my architecture on this GitHub Project.

            Right now KeyStore and TrustStore (for client and server) are stored as resources to my project and loaded when they are needed during the connection process.

            Is this a secure solution?

            If I was to publish the application that would mean every copy of client and server would be using the same KeyStore and TrustStore. This would make things very simple. But is it safe?

            The alternative solution would be to have the end user manage their certificates themselves which seems overly complicated.

            EDIT:

            Clarification: Client and server are mutually authenticating. They each have their own private key.

            ...

            ANSWER

            Answered 2019-Feb-06 at 22:17

            Using the same key for server and client means that the clients will be able to impersonate the server. In most cases where TLS is used, this is usually undesirable. It only makes sense when you fully control both server and client side.

            If you're going to use the same certificate for client and server, you're essentially not really benefitting from asymmetric cryptography. Your system may be much simpler if you just use symmetric key, like with TLS-PSK.

            Source https://stackoverflow.com/questions/54562786

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install sslengine.example

            You can download it from GitHub.
            You can use sslengine.example like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the sslengine.example component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/alkarn/sslengine.example.git

          • CLI

            gh repo clone alkarn/sslengine.example

          • sshUrl

            git@github.com:alkarn/sslengine.example.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular TLS Libraries

            mkcert

            by FiloSottile

            v2rayN

            by 2dust

            acme.sh

            by acmesh-official

            nginxconfig.io

            by digitalocean

            v2ray

            by 233boy

            Try Top Libraries by alkarn

            restful.phonebook

            by alkarnJava

            open.flashcards

            by alkarnJava