Class AbstractTlsServer

    • Field Detail

      • offeredCipherSuites

        protected int[] offeredCipherSuites
      • offeredCompressionMethods

        protected short[] offeredCompressionMethods
      • clientExtensions

        protected java.util.Hashtable clientExtensions
      • encryptThenMACOffered

        protected boolean encryptThenMACOffered
      • maxFragmentLengthOffered

        protected short maxFragmentLengthOffered
      • truncatedHMacOffered

        protected boolean truncatedHMacOffered
      • supportedSignatureAlgorithms

        protected java.util.Vector supportedSignatureAlgorithms
      • eccCipherSuitesOffered

        protected boolean eccCipherSuitesOffered
      • namedCurves

        protected int[] namedCurves
      • clientECPointFormats

        protected short[] clientECPointFormats
      • serverECPointFormats

        protected short[] serverECPointFormats
      • selectedCipherSuite

        protected int selectedCipherSuite
      • selectedCompressionMethod

        protected short selectedCompressionMethod
      • serverExtensions

        protected java.util.Hashtable serverExtensions
    • Constructor Detail

      • AbstractTlsServer

        public AbstractTlsServer()
      • AbstractTlsServer

        public AbstractTlsServer​(TlsCipherFactory cipherFactory)
    • Method Detail

      • allowEncryptThenMAC

        protected boolean allowEncryptThenMAC()
      • allowTruncatedHMac

        protected boolean allowTruncatedHMac()
      • checkServerExtensions

        protected java.util.Hashtable checkServerExtensions()
      • getCipherSuites

        protected abstract int[] getCipherSuites()
      • getCompressionMethods

        protected short[] getCompressionMethods()
      • supportsClientECCCapabilities

        protected boolean supportsClientECCCapabilities​(int[] namedCurves,
                                                        short[] ecPointFormats)
      • notifyFallback

        public void notifyFallback​(boolean isFallback)
                            throws java.io.IOException
        Specified by:
        notifyFallback in interface TlsServer
        Throws:
        java.io.IOException
      • notifyOfferedCipherSuites

        public void notifyOfferedCipherSuites​(int[] offeredCipherSuites)
                                       throws java.io.IOException
        Specified by:
        notifyOfferedCipherSuites in interface TlsServer
        Throws:
        java.io.IOException
      • notifyOfferedCompressionMethods

        public void notifyOfferedCompressionMethods​(short[] offeredCompressionMethods)
                                             throws java.io.IOException
        Specified by:
        notifyOfferedCompressionMethods in interface TlsServer
        Throws:
        java.io.IOException
      • processClientExtensions

        public void processClientExtensions​(java.util.Hashtable clientExtensions)
                                     throws java.io.IOException
        Specified by:
        processClientExtensions in interface TlsServer
        Throws:
        java.io.IOException
      • getSelectedCipherSuite

        public int getSelectedCipherSuite()
                                   throws java.io.IOException
        Specified by:
        getSelectedCipherSuite in interface TlsServer
        Throws:
        java.io.IOException
      • getSelectedCompressionMethod

        public short getSelectedCompressionMethod()
                                           throws java.io.IOException
        Specified by:
        getSelectedCompressionMethod in interface TlsServer
        Throws:
        java.io.IOException
      • getServerExtensions

        public java.util.Hashtable getServerExtensions()
                                                throws java.io.IOException
        Specified by:
        getServerExtensions in interface TlsServer
        Throws:
        java.io.IOException
      • getServerSupplementalData

        public java.util.Vector getServerSupplementalData()
                                                   throws java.io.IOException
        Specified by:
        getServerSupplementalData in interface TlsServer
        Throws:
        java.io.IOException
      • getCertificateStatus

        public CertificateStatus getCertificateStatus()
                                               throws java.io.IOException
        Description copied from interface: TlsServer
        This method will be called (only) if the server included an extension of type "status_request" with empty "extension_data" in the extended server hello. See RFC 3546 3.6. Certificate Status Request. If a non-null CertificateStatus is returned, it is sent to the client as a handshake message of type "certificate_status".
        Specified by:
        getCertificateStatus in interface TlsServer
        Returns:
        A CertificateStatus to be sent to the client (or null for none).
        Throws:
        java.io.IOException
      • processClientSupplementalData

        public void processClientSupplementalData​(java.util.Vector clientSupplementalData)
                                           throws java.io.IOException
        Specified by:
        processClientSupplementalData in interface TlsServer
        Throws:
        java.io.IOException
      • notifyClientCertificate

        public void notifyClientCertificate​(Certificate clientCertificate)
                                     throws java.io.IOException
        Description copied from interface: TlsServer
        Called by the protocol handler to report the client certificate, only if TlsServer.getCertificateRequest() returned non-null. Note: this method is responsible for certificate verification and validation.
        Specified by:
        notifyClientCertificate in interface TlsServer
        Parameters:
        clientCertificate - the effective client certificate (may be an empty chain).
        Throws:
        java.io.IOException
      • getCipher

        public TlsCipher getCipher()
                            throws java.io.IOException
        Specified by:
        getCipher in interface TlsPeer
        Throws:
        java.io.IOException
      • getNewSessionTicket

        public NewSessionTicket getNewSessionTicket()
                                             throws java.io.IOException
        Description copied from interface: TlsServer
        RFC 5077 3.3. NewSessionTicket Handshake Message.

        This method will be called (only) if a NewSessionTicket extension was sent by the server. See RFC 5077 4. Recommended Ticket Construction for recommended format and protection.

        Specified by:
        getNewSessionTicket in interface TlsServer
        Returns:
        The ticket.
        Throws:
        java.io.IOException