SRPTlsServer (Bouncy Castle Library 1.54 API Specification)
Date: 2015-12-29

org.bouncycastle.crypto.tls

## Class SRPTlsServer

- java.lang.Object
- - org.bouncycastle.crypto.tls.AbstractTlsPeer
  - - org.bouncycastle.crypto.tls.AbstractTlsServer
    - - org.bouncycastle.crypto.tls.SRPTlsServer

- All Implemented Interfaces:
    TlsPeer, TlsServer

      public class SRPTlsServer
      extends AbstractTlsServer

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected TlsSRPLoginParameters` | `loginParameters`
    `protected byte[]` | `srpIdentity`
    `protected TlsSRPIdentityManager` | `srpIdentityManager`

    - ### Fields inherited from class org.bouncycastle.crypto.tls.AbstractTlsServer

      `cipherFactory, clientECPointFormats, clientExtensions, clientVersion, context, eccCipherSuitesOffered, encryptThenMACOffered, maxFragmentLengthOffered, namedCurves, offeredCipherSuites, offeredCompressionMethods, selectedCipherSuite, selectedCompressionMethod, serverECPointFormats, serverExtensions, serverVersion, supportedSignatureAlgorithms, truncatedHMacOffered`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SRPTlsServer(TlsCipherFactory cipherFactory, TlsSRPIdentityManager srpIdentityManager)`
    `SRPTlsServer(TlsSRPIdentityManager srpIdentityManager)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected TlsKeyExchange` | `createSRPKeyExchange(int keyExchange)`
    `protected int[]` | `getCipherSuites()`
    `TlsCredentials` | `getCredentials()`
    `protected TlsSignerCredentials` | `getDSASignerCredentials()`
    `TlsKeyExchange` | `getKeyExchange()`
    `protected TlsSignerCredentials` | `getRSASignerCredentials()`
    `int` | `getSelectedCipherSuite()`
    `void` | `processClientExtensions(java.util.Hashtable clientExtensions)`

    - ### Methods inherited from class org.bouncycastle.crypto.tls.AbstractTlsServer

      `allowEncryptThenMAC, allowTruncatedHMac, checkServerExtensions, getCertificateRequest, getCertificateStatus, getCipher, getCompression, getCompressionMethods, getMaximumVersion, getMinimumVersion, getNewSessionTicket, getSelectedCompressionMethod, getServerExtensions, getServerSupplementalData, getServerVersion, init, notifyClientCertificate, notifyClientVersion, notifyFallback, notifyOfferedCipherSuites, notifyOfferedCompressionMethods, processClientSupplementalData, supportsClientECCCapabilities`

    - ### Methods inherited from class org.bouncycastle.crypto.tls.AbstractTlsPeer

      `notifyAlertRaised, notifyAlertReceived, notifyHandshakeComplete, notifySecureRenegotiation, shouldUseGMTUnixTime`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.bouncycastle.crypto.tls.TlsPeer

      `notifyAlertRaised, notifyAlertReceived, notifyHandshakeComplete, notifySecureRenegotiation, shouldUseGMTUnixTime`

- - ### Field Detail

    - #### srpIdentityManager

          protected TlsSRPIdentityManager srpIdentityManager

    - #### srpIdentity

          protected byte[] srpIdentity

    - #### loginParameters

          protected TlsSRPLoginParameters loginParameters

  - ### Constructor Detail

    - #### SRPTlsServer

          public SRPTlsServer(TlsSRPIdentityManager srpIdentityManager)

    - #### SRPTlsServer

          public SRPTlsServer(TlsCipherFactory cipherFactory,
                      TlsSRPIdentityManager srpIdentityManager)

  - ### Method Detail

    - #### getDSASignerCredentials

          protected TlsSignerCredentials getDSASignerCredentials()
                                                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getRSASignerCredentials

          protected TlsSignerCredentials getRSASignerCredentials()
                                                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getCipherSuites

          protected int[] getCipherSuites()

      Specified by:
        `getCipherSuites` in class `AbstractTlsServer`

    - #### processClientExtensions

          public void processClientExtensions(java.util.Hashtable clientExtensions)
                                       throws java.io.IOException

      Specified by:
        `processClientExtensions` in interface `TlsServer`
      Overrides:
        `processClientExtensions` in class `AbstractTlsServer`
      Throws:
        `java.io.IOException`

    - #### getSelectedCipherSuite

          public int getSelectedCipherSuite()
                                     throws java.io.IOException

      Specified by:
        `getSelectedCipherSuite` in interface `TlsServer`
      Overrides:
        `getSelectedCipherSuite` in class `AbstractTlsServer`
      Throws:
        `java.io.IOException`

    - #### getCredentials

          public TlsCredentials getCredentials()
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getKeyExchange

          public TlsKeyExchange getKeyExchange()
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### createSRPKeyExchange

          protected TlsKeyExchange createSRPKeyExchange(int keyExchange)