Module org.snmp4j

Interface TlsTmSecurityCallback<C extends Certificate>

Type Parameters:
C - The certificate type supported by this callback.
All Known Implementing Classes:
DefaultTlsTmSecurityCallback, PropertiesTlsTmSecurityCallback, TlsTmSecurityCallbackProxy

public interface TlsTmSecurityCallback<C extends Certificate>
The TlsTmSecurityCallback is implemented by the SnmpTlsMib (of SNMP4J-Agent), for example, to resolve (lookup) the tmSecurityName for incoming requests.
Since:
2.0
Version:
3.3
Author:
Frank Fock
  • Method Summary

    Modifier and Type
    Method
    Description
    Gets the local certificate alias to be used for the supplied target address.
    getSecurityName​(C[] peerCertificateChain)
    Gets the tmSecurityName (see RFC 5953) from the certificate chain of the communication peer that needs to be authenticated.
    boolean
    isAcceptedIssuer​(C issuerCertificate)
    Check if the supplied issuer certificate is accepted as server.
    boolean
    isClientCertificateAccepted​(C peerEndCertificate)
    Check if the supplied peer end certificate is accepted as client.
    boolean
    isServerCertificateAccepted​(C[] peerCertificateChain)
    Check if the supplied peer certificate chain is accepted as server.
  • Method Details

    • getSecurityName

      OctetString getSecurityName(C[] peerCertificateChain)
      Gets the tmSecurityName (see RFC 5953) from the certificate chain of the communication peer that needs to be authenticated.
      Parameters:
      peerCertificateChain - an array of Certificates with the peer's own certificate first followed by any CA authorities.
      Returns:
      the tmSecurityName as defined by RFC 5953.
    • isClientCertificateAccepted

      boolean isClientCertificateAccepted(C peerEndCertificate) throws CertificateException
      Check if the supplied peer end certificate is accepted as client.
      Parameters:
      peerEndCertificate - a client Certificate instance to check acceptance for.
      Returns:
      true if the certificate is accepted, false otherwise, i.e. if verification could not performed, i.e. because it was not configured sufficiently.
      Throws:
      CertificateException - if the certificate is rejected.
    • isServerCertificateAccepted

      boolean isServerCertificateAccepted(C[] peerCertificateChain) throws CertificateException
      Check if the supplied peer certificate chain is accepted as server.
      Parameters:
      peerCertificateChain - a server Certificate chain to check acceptance for.
      Returns:
      true if the certificate is accepted, false otherwise, i.e. if verification could not performed, i.e. because it was not configured sufficiently.
      Throws:
      CertificateException - if the certificate is rejected.
    • isAcceptedIssuer

      boolean isAcceptedIssuer(C issuerCertificate) throws CertificateException
      Check if the supplied issuer certificate is accepted as server.
      Parameters:
      issuerCertificate - an issuer Certificate instance to check acceptance for.
      Returns:
      true if the certificate is accepted, false otherwise, i.e. if verification could not performed, i.e. because it was not configured sufficiently.
      Throws:
      CertificateException - if the certificate is rejected.
    • getLocalCertificateAlias

      String getLocalCertificateAlias(Address targetAddress)
      Gets the local certificate alias to be used for the supplied target address.
      Parameters:
      targetAddress - a target address or null if the default local certificate alias needs to be retrieved.
      Returns:
      the requested local certificate alias, if known. Otherwise null is returned which could cause a protocol violation if the local key store contains more than one certificate.