Class BabelSslContextHelper
java.lang.Object
pt.unl.fct.di.novasys.babel2.ssl.BabelSslContextHelper
Factory helper for constructing
QuicSslContext (for QUIC) and Netty SslContext
(for TLS over TCP) using the Babel 2 self-signed peer identity certificate flow.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringDefault ALPN application protocol identifier for Babel 2. -
Method Summary
Modifier and TypeMethodDescriptionstatic io.netty.handler.codec.quic.QuicSslContextbuildQuicClientContext(CertGenerator.KeyMaterial keyMaterial) Builds a client-sideQuicSslContextwith defaultPeerIdentityTrustManagerand default "babel2" ALPN protocol.static io.netty.handler.codec.quic.QuicSslContextbuildQuicClientContext(CertGenerator.KeyMaterial keyMaterial, TrustManagerFactory trustManagerFactory, String applicationProtocol) Builds a client-sideQuicSslContextfor QUIC channels with mutual TLS authentication.static io.netty.handler.codec.quic.QuicSslContextbuildQuicClientContext(CertGenerator.KeyMaterial keyMaterial, TrustManager trustManager, String applicationProtocol) Builds a client-sideQuicSslContextusing aTrustManager.static io.netty.handler.codec.quic.QuicSslContextbuildQuicServerContext(CertGenerator.KeyMaterial keyMaterial) Builds a server-sideQuicSslContextwith defaultPeerIdentityTrustManagerand default "babel2" ALPN protocol.static io.netty.handler.codec.quic.QuicSslContextbuildQuicServerContext(CertGenerator.KeyMaterial keyMaterial, TrustManagerFactory trustManagerFactory, String applicationProtocol) Builds a server-sideQuicSslContextfor QUIC channels with mutual TLS authentication.static io.netty.handler.codec.quic.QuicSslContextbuildQuicServerContext(CertGenerator.KeyMaterial keyMaterial, TrustManager trustManager, String applicationProtocol) Builds a server-sideQuicSslContextusing aTrustManager.static io.netty.handler.ssl.SslContextbuildTcpClientContext(CertGenerator.KeyMaterial keyMaterial) Builds a client-side NettySslContextwith defaultPeerIdentityTrustManager.static io.netty.handler.ssl.SslContextbuildTcpClientContext(CertGenerator.KeyMaterial keyMaterial, TrustManagerFactory trustManagerFactory, String... applicationProtocols) Builds a client-side NettySslContextfor TCP/TLS connections with mutual authentication.static io.netty.handler.ssl.SslContextbuildTcpClientContext(CertGenerator.KeyMaterial keyMaterial, TrustManager trustManager, String... applicationProtocols) Builds a client-side NettySslContextusing aTrustManager.static io.netty.handler.ssl.SslContextbuildTcpServerContext(CertGenerator.KeyMaterial keyMaterial) Builds a server-side NettySslContextwith defaultPeerIdentityTrustManager.static io.netty.handler.ssl.SslContextbuildTcpServerContext(CertGenerator.KeyMaterial keyMaterial, TrustManagerFactory trustManagerFactory, String... applicationProtocols) Builds a server-side NettySslContextfor TCP/TLS connections with mutual authentication.static io.netty.handler.ssl.SslContextbuildTcpServerContext(CertGenerator.KeyMaterial keyMaterial, TrustManager trustManager, String... applicationProtocols) Builds a server-side NettySslContextusing aTrustManager.
-
Field Details
-
DEFAULT_APPLICATION_PROTOCOL
Default ALPN application protocol identifier for Babel 2.- See Also:
-
-
Method Details
-
buildQuicServerContext
public static io.netty.handler.codec.quic.QuicSslContext buildQuicServerContext(CertGenerator.KeyMaterial keyMaterial, TrustManagerFactory trustManagerFactory, String applicationProtocol) Builds a server-sideQuicSslContextfor QUIC channels with mutual TLS authentication.- Parameters:
keyMaterial- the local ephemeral key material and certificatetrustManagerFactory- trust manager factory for peer verificationapplicationProtocol- ALPN protocol identifier- Returns:
- the built server QUIC SSL context
-
buildQuicServerContext
public static io.netty.handler.codec.quic.QuicSslContext buildQuicServerContext(CertGenerator.KeyMaterial keyMaterial, TrustManager trustManager, String applicationProtocol) Builds a server-sideQuicSslContextusing aTrustManager.- Parameters:
keyMaterial- the local ephemeral key materialtrustManager- the trust manager for peer verificationapplicationProtocol- ALPN protocol identifier- Returns:
- the built server QUIC SSL context
-
buildQuicServerContext
public static io.netty.handler.codec.quic.QuicSslContext buildQuicServerContext(CertGenerator.KeyMaterial keyMaterial) Builds a server-sideQuicSslContextwith defaultPeerIdentityTrustManagerand default "babel2" ALPN protocol.- Parameters:
keyMaterial- the local ephemeral key material- Returns:
- the built server QUIC SSL context
-
buildQuicClientContext
public static io.netty.handler.codec.quic.QuicSslContext buildQuicClientContext(CertGenerator.KeyMaterial keyMaterial, TrustManagerFactory trustManagerFactory, String applicationProtocol) Builds a client-sideQuicSslContextfor QUIC channels with mutual TLS authentication.- Parameters:
keyMaterial- the local ephemeral key material and certificatetrustManagerFactory- trust manager factory for peer verificationapplicationProtocol- ALPN protocol identifier- Returns:
- the built client QUIC SSL context
-
buildQuicClientContext
public static io.netty.handler.codec.quic.QuicSslContext buildQuicClientContext(CertGenerator.KeyMaterial keyMaterial, TrustManager trustManager, String applicationProtocol) Builds a client-sideQuicSslContextusing aTrustManager.- Parameters:
keyMaterial- the local ephemeral key materialtrustManager- the trust manager for peer verificationapplicationProtocol- ALPN protocol identifier- Returns:
- the built client QUIC SSL context
-
buildQuicClientContext
public static io.netty.handler.codec.quic.QuicSslContext buildQuicClientContext(CertGenerator.KeyMaterial keyMaterial) Builds a client-sideQuicSslContextwith defaultPeerIdentityTrustManagerand default "babel2" ALPN protocol.- Parameters:
keyMaterial- the local ephemeral key material- Returns:
- the built client QUIC SSL context
-
buildTcpServerContext
public static io.netty.handler.ssl.SslContext buildTcpServerContext(CertGenerator.KeyMaterial keyMaterial, TrustManagerFactory trustManagerFactory, String... applicationProtocols) throws SSLException Builds a server-side NettySslContextfor TCP/TLS connections with mutual authentication.- Parameters:
keyMaterial- the local ephemeral key material and certificatetrustManagerFactory- trust manager factory for peer verificationapplicationProtocols- optional ALPN protocols- Returns:
- the built server Netty SSL context
- Throws:
SSLException- if SSL context initialization fails
-
buildTcpServerContext
public static io.netty.handler.ssl.SslContext buildTcpServerContext(CertGenerator.KeyMaterial keyMaterial, TrustManager trustManager, String... applicationProtocols) throws SSLException Builds a server-side NettySslContextusing aTrustManager.- Parameters:
keyMaterial- the local ephemeral key materialtrustManager- the trust manager for peer verificationapplicationProtocols- optional ALPN protocols- Returns:
- the built server Netty SSL context
- Throws:
SSLException- if SSL context initialization fails
-
buildTcpServerContext
public static io.netty.handler.ssl.SslContext buildTcpServerContext(CertGenerator.KeyMaterial keyMaterial) throws SSLException Builds a server-side NettySslContextwith defaultPeerIdentityTrustManager.- Parameters:
keyMaterial- the local ephemeral key material- Returns:
- the built server Netty SSL context
- Throws:
SSLException- if SSL context initialization fails
-
buildTcpClientContext
public static io.netty.handler.ssl.SslContext buildTcpClientContext(CertGenerator.KeyMaterial keyMaterial, TrustManagerFactory trustManagerFactory, String... applicationProtocols) throws SSLException Builds a client-side NettySslContextfor TCP/TLS connections with mutual authentication.- Parameters:
keyMaterial- the local ephemeral key material and certificatetrustManagerFactory- trust manager factory for peer verificationapplicationProtocols- optional ALPN protocols- Returns:
- the built client Netty SSL context
- Throws:
SSLException- if SSL context initialization fails
-
buildTcpClientContext
public static io.netty.handler.ssl.SslContext buildTcpClientContext(CertGenerator.KeyMaterial keyMaterial, TrustManager trustManager, String... applicationProtocols) throws SSLException Builds a client-side NettySslContextusing aTrustManager.- Parameters:
keyMaterial- the local ephemeral key materialtrustManager- the trust manager for peer verificationapplicationProtocols- optional ALPN protocols- Returns:
- the built client Netty SSL context
- Throws:
SSLException- if SSL context initialization fails
-
buildTcpClientContext
public static io.netty.handler.ssl.SslContext buildTcpClientContext(CertGenerator.KeyMaterial keyMaterial) throws SSLException Builds a client-side NettySslContextwith defaultPeerIdentityTrustManager.- Parameters:
keyMaterial- the local ephemeral key material- Returns:
- the built client Netty SSL context
- Throws:
SSLException- if SSL context initialization fails
-