本文整理匯總了Java中io.netty.handler.ssl.SslProvider類的典型用法代碼示例。如果您正苦於以下問題:Java SslProvider類的具體用法?Java SslProvider怎麽用?Java SslProvider使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
SslProvider類屬於io.netty.handler.ssl包,在下文中一共展示了SslProvider類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: config
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
public static ConfigDef config() {
return new ConfigDef()
.define(CONTACT_POINTS_CONFIG, ConfigDef.Type.LIST, ImmutableList.of("localhost"), ConfigDef.Importance.MEDIUM, CONTACT_POINTS_DOC)
.define(PORT_CONFIG, ConfigDef.Type.INT, 9042, ValidPort.of(), ConfigDef.Importance.MEDIUM, PORT_DOC)
.define(CONSISTENCY_LEVEL_CONFIG, ConfigDef.Type.STRING, ConsistencyLevel.LOCAL_QUORUM.toString(), ValidEnum.of(ConsistencyLevel.class), ConfigDef.Importance.MEDIUM, CONSISTENCY_LEVEL_DOC)
.define(USERNAME_CONFIG, ConfigDef.Type.STRING, "cassandra", ConfigDef.Importance.MEDIUM, USERNAME_DOC)
.define(PASSWORD_CONFIG, ConfigDef.Type.PASSWORD, "cassandra", ConfigDef.Importance.MEDIUM, PASSWORD_DOC)
.define(SECURITY_ENABLE_CONFIG, ConfigDef.Type.BOOLEAN, false, ConfigDef.Importance.MEDIUM, SECURITY_ENABLE_DOC)
.define(COMPRESSION_CONFIG, ConfigDef.Type.STRING, "NONE", ConfigDef.ValidString.in(CLIENT_COMPRESSION.keySet().stream().toArray(String[]::new)), ConfigDef.Importance.MEDIUM, COMPRESSION_DOC)
.define(SSL_ENABLED_CONFIG, ConfigDef.Type.BOOLEAN, false, ConfigDef.Importance.MEDIUM, SSL_ENABLED_DOC)
.define(SSL_PROVIDER_CONFIG, ConfigDef.Type.STRING, SslProvider.JDK.toString(), ValidEnum.of(SslProvider.class), ConfigDef.Importance.MEDIUM, SSL_PROVIDER_DOC)
.define(DELETES_ENABLE_CONFIG, ConfigDef.Type.BOOLEAN, true, ConfigDef.Importance.MEDIUM, DELETES_ENABLE_DOC)
.define(KEYSPACE_CONFIG, ConfigDef.Type.STRING, ConfigDef.Importance.HIGH, KEYSPACE_DOC)
.define(KEYSPACE_CREATE_ENABLED_CONFIG, ConfigDef.Type.BOOLEAN, true, ConfigDef.Importance.HIGH, KEYSPACE_CREATE_ENABLED_DOC)
.define(TABLE_MANAGE_ENABLED_CONFIG, ConfigDef.Type.BOOLEAN, true, ConfigDef.Importance.MEDIUM, SCHEMA_MANAGE_CREATE_DOC)
.define(TABLE_CREATE_COMPRESSION_ENABLED_CONFIG, ConfigDef.Type.BOOLEAN, true, ConfigDef.Importance.MEDIUM, TABLE_CREATE_COMPRESSION_ENABLED_DOC)
.define(TABLE_CREATE_COMPRESSION_ALGORITHM_CONFIG, ConfigDef.Type.STRING, "NONE", ConfigDef.ValidString.in(TABLE_COMPRESSION.keySet().stream().toArray(String[]::new)), ConfigDef.Importance.MEDIUM, TABLE_CREATE_COMPRESSION_ALGORITHM_DOC)
.define(TABLE_CREATE_CACHING_CONFIG, ConfigDef.Type.STRING, SchemaBuilder.Caching.NONE.toString(), ValidEnum.of(SchemaBuilder.Caching.class), ConfigDef.Importance.MEDIUM, TABLE_CREATE_CACHING_DOC);
}
示例2: provider
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
private static SslProvider provider(NetworkSslConfig cfg) {
switch (cfg.getProvider()) {
case AUTO: {
return OpenSsl.isAvailable() ? SslProvider.OPENSSL : SslProvider.JDK;
}
case JDK: {
return SslProvider.JDK;
}
case OPEN_SSL: {
return SslProvider.OPENSSL;
}
default: {
throw new IllegalArgumentException("Unexpected SSL provider: " + cfg.getProvider());
}
}
}
示例3: getSSLContext
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
private static SslContext getSSLContext() throws IOException, GeneralSecurityException {
try {
final String privateKeyFile = "keys/server.pkcs8.key";
final String certificateFile = "keys/server.crt";
final String rootCAFile = "keys/rootCA.pem";
final PrivateKey privateKey = loadPrivateKey(privateKeyFile);
final X509Certificate certificate = loadX509Cert(certificateFile);
final X509Certificate rootCA = loadX509Cert(rootCAFile);
return SslContextBuilder.forClient()
.sslProvider(SslProvider.JDK)
.trustManager(rootCA)
.keyManager(privateKey, certificate)
.build();
} catch (IOException | GeneralSecurityException e) {
LOGGER.warn("Failed to establish SSL Context");
LOGGER.debug("Failed to establish SSL Context", e);
throw e;
}
}
示例4: shouldEnableSslWithSslContextProgrammaticallySpecified
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
@Test
public void shouldEnableSslWithSslContextProgrammaticallySpecified() throws Exception {
// just for testing - this is not good for production use
final SslContextBuilder builder = SslContextBuilder.forClient();
builder.trustManager(InsecureTrustManagerFactory.INSTANCE);
builder.sslProvider(SslProvider.JDK);
final Cluster cluster = Cluster.build().enableSsl(true).sslContext(builder.build()).create();
final Client client = cluster.connect();
try {
// this should return "nothing" - there should be no exception
assertEquals("test", client.submit("'test'").one().getString());
} finally {
cluster.close();
}
}
示例5: createServerSslContext
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
/**
* Creates a new SslContext object.
*
* @param cfg the cfg
* @return the ssl context
*/
private synchronized SslContext createServerSslContext(IConfig cfg){
SslContext ctx = null;
try{
SslProvider provider = OpenSsl.isAlpnSupported() ? SslProvider.OPENSSL : SslProvider.JDK;
if(provider.equals(SslProvider.OPENSSL)){
cfg.print("Using OpenSSL for network encryption.");
}
ctx = SslContextBuilder
.forServer(new File(cfg.getCertFile()), new File(cfg.getKeyFile()), cfg.getKeyPassword())
.sslProvider(provider)
.build();
}catch(Exception e){
LOG.log(Level.SEVERE, null, e);
}
return ctx;
}
示例6: getServerInitializer
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
private ChannelInitializer<LocalChannel> getServerInitializer(
Lock serverLock,
Exception serverException,
PrivateKey privateKey,
X509Certificate... certificates)
throws Exception {
return new ChannelInitializer<LocalChannel>() {
@Override
protected void initChannel(LocalChannel ch) throws Exception {
ch.pipeline()
.addLast(
new SslServerInitializer<LocalChannel>(SslProvider.JDK, privateKey, certificates),
new EchoHandler(serverLock, serverException));
}
};
}
示例7: buildOpenSslClientContext
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
public SslContext buildOpenSslClientContext(final boolean clientAuth) throws IOException {
SslContext ctx;
if (clientAuth) {
ctx = SslContextBuilder.forClient()
.sslProvider(SslProvider.OPENSSL)
.trustManager(getTrustCertChainPath().toAbsolutePath().normalize().toFile())
.keyManager(getClientCertPath().toAbsolutePath().normalize().toFile(),
getClientKeyPath().toAbsolutePath().normalize().toFile())
.build();
} else {
ctx = SslContextBuilder.forClient()
.sslProvider(SslProvider.OPENSSL)
.trustManager(getTrustCertChainPath().toAbsolutePath().normalize().toFile())
.build();
}
return ctx;
}
示例8: getSslContext
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
private SslContext getSslContext() {
SslContext sslCtx = null;
final SslProvider provider = OpenSsl.isAlpnSupported() ? SslProvider.OPENSSL : SslProvider.JDK;
try {
sslCtx = SslContextBuilder.forClient()
.sslProvider(provider)
.ciphers(Http2SecurityUtil.CIPHERS, SupportedCipherSuiteFilter.INSTANCE)
.trustManager(InsecureTrustManagerFactory.INSTANCE)
.applicationProtocolConfig(new ApplicationProtocolConfig(
Protocol.ALPN,
SelectorFailureBehavior.NO_ADVERTISE,
SelectedListenerFailureBehavior.ACCEPT,
ApplicationProtocolNames.HTTP_2))
.build();
} catch(SSLException exception) {
return null;
}
return sslCtx;
}
示例9: buildSSLServerContext
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
private SslContext buildSSLServerContext(final PrivateKey _key, final X509Certificate[] _cert, final X509Certificate[] _trustedCerts, final Iterable<String> ciphers, final SslProvider sslProvider, final ClientAuth authMode) throws SSLException {
final SslContextBuilder _sslContextBuilder =
SslContextBuilder
.forServer(_key, _cert)
.ciphers(ciphers)
.applicationProtocolConfig(ApplicationProtocolConfig.DISABLED)
.clientAuth(Objects.requireNonNull(authMode)) // https://github.com/netty/netty/issues/4722
.sessionCacheSize(0)
.sessionTimeout(0)
.sslProvider(sslProvider);
if(_trustedCerts != null && _trustedCerts.length > 0) {
_sslContextBuilder.trustManager(_trustedCerts);
}
return buildSSLContext0(_sslContextBuilder);
}
示例10: buildSSLClientContext
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
private SslContext buildSSLClientContext(final PrivateKey _key, final X509Certificate[] _cert, final X509Certificate[] _trustedCerts, final Iterable<String> ciphers, final SslProvider sslProvider) throws SSLException {
final SslContextBuilder _sslClientContextBuilder =
SslContextBuilder
.forClient()
.ciphers(ciphers)
.applicationProtocolConfig(ApplicationProtocolConfig.DISABLED)
.sessionCacheSize(0)
.sessionTimeout(0)
.sslProvider(sslProvider)
.trustManager(_trustedCerts)
.keyManager(_key, _cert);
return buildSSLContext0(_sslClientContextBuilder);
}
示例11: getSslContext
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
public SslContext getSslContext() throws UnRetriableException{
try {
File certificateChainFile = getCertificateChainFile();
File certificateKeyFile = getCertificateKeyFile();
String keyPassword = getKeyPassword();
SslProvider sslProvider;
if(OpenSsl.isAvailable()) {
sslProvider = SslProvider.OPENSSL;
}else{
sslProvider = SslProvider.JDK;
}
return SslContext.newServerContext(sslProvider, certificateChainFile, certificateKeyFile, keyPassword );
}catch (Exception e){
log.error(" getSSLEngine : problems when trying to initiate secure protocals", e);
throw new UnRetriableException(e);
}
}
示例12: sslContext
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
/**
* Sets the {@link SslContext} of this {@link VirtualHost} from the specified {@link SessionProtocol},
* {@code keyCertChainFile}, {@code keyFile} and {@code keyPassword}.
*/
public B sslContext(
SessionProtocol protocol,
File keyCertChainFile, File keyFile, String keyPassword) throws SSLException {
if (requireNonNull(protocol, "protocol") != SessionProtocol.HTTPS) {
throw new IllegalArgumentException("unsupported protocol: " + protocol);
}
final SslContextBuilder builder = SslContextBuilder.forServer(keyCertChainFile, keyFile, keyPassword);
builder.sslProvider(Flags.useOpenSsl() ? SslProvider.OPENSSL : SslProvider.JDK);
builder.ciphers(Http2SecurityUtil.CIPHERS, SupportedCipherSuiteFilter.INSTANCE);
builder.applicationProtocolConfig(HTTPS_ALPN_CFG);
sslContext(builder.build());
return self();
}
示例13: createHttp2TLSContext
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
/**
* This method will provide netty ssl context which supports HTTP2 over TLS using
* Application Layer Protocol Negotiation (ALPN)
*
* @return instance of {@link SslContext}
* @throws SSLException if any error occurred during building SSL context.
*/
public SslContext createHttp2TLSContext() throws SSLException {
// If listener configuration does not include cipher suites , default ciphers required by the HTTP/2
// specification will be added.
List<String> ciphers = sslConfig.getCipherSuites() != null && sslConfig.getCipherSuites().length > 0 ? Arrays
.asList(sslConfig.getCipherSuites()) : Http2SecurityUtil.CIPHERS;
SslProvider provider = OpenSsl.isAlpnSupported() ? SslProvider.OPENSSL : SslProvider.JDK;
return SslContextBuilder.forServer(this.getKeyManagerFactory())
.trustManager(this.getTrustStoreFactory())
.sslProvider(provider)
.ciphers(ciphers,
SupportedCipherSuiteFilter.INSTANCE)
.clientAuth(needClientAuth ? ClientAuth.REQUIRE : ClientAuth.NONE)
.applicationProtocolConfig(new ApplicationProtocolConfig(
ApplicationProtocolConfig.Protocol.ALPN,
// NO_ADVERTISE is currently the only mode supported by both OpenSsl and JDK providers.
ApplicationProtocolConfig.SelectorFailureBehavior.NO_ADVERTISE,
// ACCEPT is currently the only mode supported by both OpenSsl and JDK providers.
ApplicationProtocolConfig.SelectedListenerFailureBehavior.ACCEPT,
ApplicationProtocolNames.HTTP_2,
ApplicationProtocolNames.HTTP_1_1)).build();
}
示例14: WebSocketClient
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
public WebSocketClient(String host, int port, String path, boolean isSSL) throws Exception {
super(host, port, new Random());
String scheme = isSSL ? "wss://" : "ws://";
URI uri = new URI(scheme + host + ":" + port + path);
if (isSSL) {
sslCtx = SslContextBuilder.forClient().sslProvider(SslProvider.JDK).trustManager(InsecureTrustManagerFactory.INSTANCE).build();
} else {
sslCtx = null;
}
this.handler = new WebSocketClientHandler(
WebSocketClientHandshakerFactory.newHandshaker(
uri, WebSocketVersion.V13, null, false, new DefaultHttpHeaders()));
}
示例15: initSslContext
import io.netty.handler.ssl.SslProvider; //導入依賴的package包/類
private static SslContext initSslContext(String serverCertPath, String serverKeyPath, String serverPass,
SslProvider sslProvider, boolean printWarn) {
try {
File serverCert = new File(serverCertPath);
File serverKey = new File(serverKeyPath);
if (!serverCert.exists() || !serverKey.exists()) {
if (printWarn) {
log.warn("ATTENTION. Server certificate paths (cert : '{}', key : '{}') not valid."
+ " Using embedded server certs and one way ssl. This is not secure."
+ " Please replace it with your own certs.",
serverCert.getAbsolutePath(), serverKey.getAbsolutePath());
}
return build(sslProvider);
}
return build(serverCert, serverKey, serverPass, sslProvider);
} catch (CertificateException | SSLException | IllegalArgumentException e) {
log.error("Error initializing ssl context. Reason : {}", e.getMessage());
throw new RuntimeException(e.getMessage());
}
}