Module org.snmp4j

Interface TlsTransportMappingConfig<C extends Certificate>

Type Parameters:
C - the certificate type supported by the TlsTmSecurityCallback hook provided by this transport mapping.
All Known Subinterfaces:
X509TlsTransportMappingConfig
All Known Implementing Classes:
DTLSTM, TLSTM

public interface TlsTransportMappingConfig<C extends Certificate>
The TlsTransportMappingConfig interface provides means to plug in a TlsTmSecurityCallback into the TransportMapping implementation and to control other TLS specific settings.
Since:
3.0
Author:
Frank Fock
  • Method Details

    • getSecurityCallback

      TlsTmSecurityCallback<C> getSecurityCallback()
      Gets the TlsTmSecurityCallback associated with this TransportMapping hook which is called by the transport mapping to lookup TLS security parameters from external configuration.
      Returns:
      a TlsTmSecurityCallback instance.
      Since:
      3.0
    • setSecurityCallback

      void setSecurityCallback(TlsTmSecurityCallback<C> securityCallback)
      Sets the TlsTmSecurityCallback associated with this TransportMapping hook. This hook will be called to lookup the security name based on the TLS peer certificate, for example. See TlsTmSecurityCallback for details.
      Parameters:
      securityCallback - a TlsTmSecurityCallback instance. Setting this hook to null will disable incoming request processing because these request will be rejected due to an authorization error (no mathing SNMPv3 view).
      Since:
      3.0
    • getKeyStore

      String getKeyStore()
    • setKeyStore

      void setKeyStore(String keyStore)
    • getKeyStorePassword

      String getKeyStorePassword()
    • setKeyStorePassword

      void setKeyStorePassword(String keyStorePassword)
    • getTrustStore

      String getTrustStore()
    • setTrustStore

      void setTrustStore(String trustStore)
    • getTrustStorePassword

      String getTrustStorePassword()
    • setTrustStorePassword

      void setTrustStorePassword(String trustStorePassword)
    • setLocalCertificateAlias

      void setLocalCertificateAlias(String localCertificateAlias)
      Sets the certificate alias used for client and server authentication by this TLSTM. Setting this property to a value other than null filters out any certificates which are not in the chain of the given alias.
      Parameters:
      localCertificateAlias - a certificate alias which filters a single certification chain from the javax.net.ssl.keyStore key store to be used to authenticate this TLS transport mapping. If null no filtering appears, which could lead to more than a single chain available for authentication by the peer, which would violate the (D)TLSTM standard requirements.
    • getLocalCertificateAlias

      String getLocalCertificateAlias()
      Gets the certificate alias used for client and server authentication. See also setLocalCertificateAlias(java.lang.String)
      Returns:
      the certificate alias selecting the local certificate.
      Since:
      3.0.5
    • setProtocolVersions

      void setProtocolVersions(String[] protocolVersions)
      Sets the (D)TLS protocols/versions that this TlsTransportMappingConfig should use during handshake.
      Parameters:
      protocolVersions - an array of (D)TLS protocol (version) names supported by the SunJSSE provider. The order in the array defines which protocol is tried during handshake first.
      Since:
      3.0
    • getProtocolVersions

      String[] getProtocolVersions()
      Return the (D)TLS protocol versions used by this transport mapping.
      Returns:
      an array of SunJSSE TLS/DTLS provider (depending on the transport mapping type).
    • getProtocolVersionPropertyName

      String getProtocolVersionPropertyName()
      Returns the property name that is used by this transport mapping to determine the protocol versions from system properties.
      Returns:
      a property name like SnmpConfigurator.P_TLS_VERSION or SnmpConfigurator.P_DTLS_VERSION.