Package io.netty.internal.tcnative
Interface CertificateCallback
-
public interface CertificateCallback
Is called during handshake and hooked into openssl viaSSL_CTX_set_cert_cb
. IMPORTANT: Implementations of this interface should be static as it is stored as a global reference via JNI. This means if you use an inner / anonymous class to implement this and also depend on the finalizer of the class to free up the SSLContext the finalizer will never run as the object is never GC, due the hard reference to the enclosing class. This will most likely result in a memory leak.
-
-
Field Summary
Fields Modifier and Type Field Description static byte
TLS_CT_DSS_FIXED_DH
static byte
TLS_CT_DSS_SIGN
static byte
TLS_CT_ECDSA_FIXED_ECDH
static byte
TLS_CT_ECDSA_SIGN
static byte
TLS_CT_RSA_FIXED_DH
static byte
TLS_CT_RSA_FIXED_ECDH
static byte
TLS_CT_RSA_SIGN
The types contained in thekeyTypeBytes
array.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
handle(long ssl, byte[] keyTypeBytes, byte[][] asn1DerEncodedPrincipals)
Called during cert selection.
-
-
-
Field Detail
-
TLS_CT_RSA_SIGN
static final byte TLS_CT_RSA_SIGN
The types contained in thekeyTypeBytes
array.- See Also:
- Constant Field Values
-
TLS_CT_DSS_SIGN
static final byte TLS_CT_DSS_SIGN
- See Also:
- Constant Field Values
-
TLS_CT_RSA_FIXED_DH
static final byte TLS_CT_RSA_FIXED_DH
- See Also:
- Constant Field Values
-
TLS_CT_DSS_FIXED_DH
static final byte TLS_CT_DSS_FIXED_DH
- See Also:
- Constant Field Values
-
TLS_CT_ECDSA_SIGN
static final byte TLS_CT_ECDSA_SIGN
- See Also:
- Constant Field Values
-
TLS_CT_RSA_FIXED_ECDH
static final byte TLS_CT_RSA_FIXED_ECDH
- See Also:
- Constant Field Values
-
TLS_CT_ECDSA_FIXED_ECDH
static final byte TLS_CT_ECDSA_FIXED_ECDH
- See Also:
- Constant Field Values
-
-
Method Detail
-
handle
void handle(long ssl, byte[] keyTypeBytes, byte[][] asn1DerEncodedPrincipals) throws java.lang.Exception
Called during cert selection. If a certificate chain / key should be usedSSL.setKeyMaterial(long, long, long)
must be called from this callback after all preparations / validations were completed.- Parameters:
ssl
- the SSL instancekeyTypeBytes
- an array of the key types on client-mode ornull
on server-mode.asn1DerEncodedPrincipals
- the principals ornull
.- Throws:
java.lang.Exception
-
-