Module org.snmp4j
Package org.snmp4j.transport.tls
Class TlsTmSecurityCallbackProxy<C extends java.security.cert.Certificate>
- java.lang.Object
-
- org.snmp4j.transport.tls.TlsTmSecurityCallbackProxy<C>
-
- Type Parameters:
C- the certificate class supported by this security callback.
- All Implemented Interfaces:
TlsTmSecurityCallback<C>
public class TlsTmSecurityCallbackProxy<C extends java.security.cert.Certificate> extends java.lang.Object implements TlsTmSecurityCallback<C>
TheTlsTmSecurityCallbackProxyclass implements aTlsTmSecurityCallbackby using an internal reference to anotherTlsTmSecurityCallbackinstance. It can be used to defer the creation of the backing security callback to a later time.- Since:
- 3.2.0
- Version:
- 3.3.0
- Author:
- Frank Fock
-
-
Constructor Summary
Constructors Constructor Description TlsTmSecurityCallbackProxy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetLocalCertificateAlias(Address targetAddress)Gets the local certificate alias to be used for the supplied target address.OctetStringgetSecurityName(C[] peerCertificateChain)Gets the tmSecurityName (see RFC 5953) from the certificate chain of the communication peer that needs to be authenticated.TlsTmSecurityCallback<C>getTlsTmSecurityCallback()booleanisAcceptedIssuer(C issuerCertificate)Check if the supplied issuer certificate is accepted as server.booleanisClientCertificateAccepted(C peerEndCertificate)Check if the supplied peer end certificate is accepted as client.booleanisServerCertificateAccepted(C[] peerCertificateChain)Check if the supplied peer certificate chain is accepted as server.voidsetTlsTmSecurityCallback(TlsTmSecurityCallback<C> tlsTmSecurityCallback)Sets the security callback to be used when this proxy is being called.
-
-
-
Method Detail
-
getTlsTmSecurityCallback
public TlsTmSecurityCallback<C> getTlsTmSecurityCallback()
-
setTlsTmSecurityCallback
public void setTlsTmSecurityCallback(TlsTmSecurityCallback<C> tlsTmSecurityCallback)
Sets the security callback to be used when this proxy is being called.- Parameters:
tlsTmSecurityCallback- the actually used security callback. Ifnull, then the security callback methods will always returnfalseandnullrespectively.
-
getSecurityName
public OctetString getSecurityName(C[] peerCertificateChain)
Description copied from interface:TlsTmSecurityCallbackGets the tmSecurityName (see RFC 5953) from the certificate chain of the communication peer that needs to be authenticated.- Specified by:
getSecurityNamein interfaceTlsTmSecurityCallback<C extends java.security.cert.Certificate>- Parameters:
peerCertificateChain- an array ofCertificates with the peer's own certificate first followed by any CA authorities.- Returns:
- the tmSecurityName as defined by RFC 5953.
-
isClientCertificateAccepted
public boolean isClientCertificateAccepted(C peerEndCertificate) throws java.security.cert.CertificateException
Description copied from interface:TlsTmSecurityCallbackCheck if the supplied peer end certificate is accepted as client.- Specified by:
isClientCertificateAcceptedin interfaceTlsTmSecurityCallback<C extends java.security.cert.Certificate>- Parameters:
peerEndCertificate- a client Certificate instance to check acceptance for.- Returns:
trueif the certificate is accepted,falseotherwise, i.e. if verification could not performed, i.e. because it was not configured sufficiently.- Throws:
java.security.cert.CertificateException- if the certificate is rejected.
-
isServerCertificateAccepted
public boolean isServerCertificateAccepted(C[] peerCertificateChain) throws java.security.cert.CertificateException
Description copied from interface:TlsTmSecurityCallbackCheck if the supplied peer certificate chain is accepted as server.- Specified by:
isServerCertificateAcceptedin interfaceTlsTmSecurityCallback<C extends java.security.cert.Certificate>- Parameters:
peerCertificateChain- a server Certificate chain to check acceptance for.- Returns:
trueif the certificate is accepted,falseotherwise, i.e. if verification could not performed, i.e. because it was not configured sufficiently.- Throws:
java.security.cert.CertificateException- if the certificate is rejected.
-
isAcceptedIssuer
public boolean isAcceptedIssuer(C issuerCertificate) throws java.security.cert.CertificateException
Description copied from interface:TlsTmSecurityCallbackCheck if the supplied issuer certificate is accepted as server.- Specified by:
isAcceptedIssuerin interfaceTlsTmSecurityCallback<C extends java.security.cert.Certificate>- Parameters:
issuerCertificate- an issuer Certificate instance to check acceptance for.- Returns:
trueif the certificate is accepted,falseotherwise, i.e. if verification could not performed, i.e. because it was not configured sufficiently.- Throws:
java.security.cert.CertificateException- if the certificate is rejected.
-
getLocalCertificateAlias
public java.lang.String getLocalCertificateAlias(Address targetAddress)
Description copied from interface:TlsTmSecurityCallbackGets the local certificate alias to be used for the supplied target address.- Specified by:
getLocalCertificateAliasin interfaceTlsTmSecurityCallback<C extends java.security.cert.Certificate>- Parameters:
targetAddress- a target address ornullif the default local certificate alias needs to be retrieved.- Returns:
- the requested local certificate alias, if known. Otherwise
nullis returned which could cause a protocol violation if the local key store contains more than one certificate.
-
-