CamScanner.apk(点击下载) / JdkAlpnApplicationProtocolNegotiator.java
package io.netty.handler.ssl;
import io.netty.buffer.ByteBufAllocator;
import io.netty.handler.ssl.JdkApplicationProtocolNegotiator;
import java.util.List;
import javax.net.ssl.SSLEngine;
@Deprecated
public final class JdkAlpnApplicationProtocolNegotiator extends JdkBaseApplicationProtocolNegotiator {
private static final JdkApplicationProtocolNegotiator.SslEngineWrapperFactory ALPN_WRAPPER;
private static final boolean AVAILABLE;
private static final class AlpnWrapper extends JdkApplicationProtocolNegotiator.AllocatorAwareSslEngineWrapperFactory {
private AlpnWrapper() {
}
@Override // io.netty.handler.ssl.JdkApplicationProtocolNegotiator.AllocatorAwareSslEngineWrapperFactory
public SSLEngine wrapSslEngine(SSLEngine sSLEngine, ByteBufAllocator byteBufAllocator, JdkApplicationProtocolNegotiator jdkApplicationProtocolNegotiator, boolean z10) {
if (Conscrypt.isEngineSupported(sSLEngine)) {
return z10 ? ConscryptAlpnSslEngine.newServerEngine(sSLEngine, byteBufAllocator, jdkApplicationProtocolNegotiator) : ConscryptAlpnSslEngine.newClientEngine(sSLEngine, byteBufAllocator, jdkApplicationProtocolNegotiator);
}
if (BouncyCastle.isInUse(sSLEngine)) {
return new BouncyCastleAlpnSslEngine(sSLEngine, jdkApplicationProtocolNegotiator, z10);
}
if (JdkAlpnSslUtils.supportsAlpn()) {
return new JdkAlpnSslEngine(sSLEngine, jdkApplicationProtocolNegotiator, z10);
}
if (JettyAlpnSslEngine.isAvailable()) {
return z10 ? JettyAlpnSslEngine.newServerEngine(sSLEngine, jdkApplicationProtocolNegotiator) : JettyAlpnSslEngine.newClientEngine(sSLEngine, jdkApplicationProtocolNegotiator);
}
throw new UnsupportedOperationException("ALPN not supported. Unable to wrap SSLEngine of type '" + sSLEngine.getClass().getName() + "')");
}
}
private static final class FailureWrapper extends JdkApplicationProtocolNegotiator.AllocatorAwareSslEngineWrapperFactory {
private FailureWrapper() {
}
@Override // io.netty.handler.ssl.JdkApplicationProtocolNegotiator.AllocatorAwareSslEngineWrapperFactory
public SSLEngine wrapSslEngine(SSLEngine sSLEngine, ByteBufAllocator byteBufAllocator, JdkApplicationProtocolNegotiator jdkApplicationProtocolNegotiator, boolean z10) {
throw new RuntimeException("ALPN unsupported. Is your classpath configured correctly? For Conscrypt, add the appropriate Conscrypt JAR to classpath and set the security provider. For Jetty-ALPN, see https://www.eclipse.org/jetty/documentation/current/alpn-chapter.html#alpn-starting");
}
}
static {
boolean z10 = Conscrypt.isAvailable() || JdkAlpnSslUtils.supportsAlpn() || JettyAlpnSslEngine.isAvailable() || BouncyCastle.isAvailable();
AVAILABLE = z10;
ALPN_WRAPPER = z10 ? new AlpnWrapper() : new FailureWrapper();
}
public JdkAlpnApplicationProtocolNegotiator(JdkApplicationProtocolNegotiator.ProtocolSelectorFactory protocolSelectorFactory, JdkApplicationProtocolNegotiator.ProtocolSelectionListenerFactory protocolSelectionListenerFactory, Iterable<String> iterable) {
super(ALPN_WRAPPER, protocolSelectorFactory, protocolSelectionListenerFactory, iterable);
}
public JdkAlpnApplicationProtocolNegotiator(JdkApplicationProtocolNegotiator.ProtocolSelectorFactory protocolSelectorFactory, JdkApplicationProtocolNegotiator.ProtocolSelectionListenerFactory protocolSelectionListenerFactory, String... strArr) {
super(ALPN_WRAPPER, protocolSelectorFactory, protocolSelectionListenerFactory, strArr);
}
public JdkAlpnApplicationProtocolNegotiator(Iterable<String> iterable) {
this(false, iterable);
}
public JdkAlpnApplicationProtocolNegotiator(boolean z10, Iterable<String> iterable) {
this(z10, z10, iterable);
}
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
public JdkAlpnApplicationProtocolNegotiator(boolean z10, boolean z11, Iterable<String> iterable) {
this(z11 ? JdkBaseApplicationProtocolNegotiator.FAIL_SELECTOR_FACTORY : JdkBaseApplicationProtocolNegotiator.NO_FAIL_SELECTOR_FACTORY, z10 ? JdkBaseApplicationProtocolNegotiator.FAIL_SELECTION_LISTENER_FACTORY : JdkBaseApplicationProtocolNegotiator.NO_FAIL_SELECTION_LISTENER_FACTORY, iterable);
}
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
public JdkAlpnApplicationProtocolNegotiator(boolean z10, boolean z11, String... strArr) {
this(z11 ? JdkBaseApplicationProtocolNegotiator.FAIL_SELECTOR_FACTORY : JdkBaseApplicationProtocolNegotiator.NO_FAIL_SELECTOR_FACTORY, z10 ? JdkBaseApplicationProtocolNegotiator.FAIL_SELECTION_LISTENER_FACTORY : JdkBaseApplicationProtocolNegotiator.NO_FAIL_SELECTION_LISTENER_FACTORY, strArr);
}
public JdkAlpnApplicationProtocolNegotiator(boolean z10, String... strArr) {
this(z10, z10, strArr);
}
public JdkAlpnApplicationProtocolNegotiator(String... strArr) {
this(false, strArr);
}
static boolean isAlpnSupported() {
return AVAILABLE;
}
@Override // io.netty.handler.ssl.JdkBaseApplicationProtocolNegotiator, io.netty.handler.ssl.JdkApplicationProtocolNegotiator
public /* bridge */ /* synthetic */ JdkApplicationProtocolNegotiator.ProtocolSelectionListenerFactory protocolListenerFactory() {
return super.protocolListenerFactory();
}
@Override // io.netty.handler.ssl.JdkBaseApplicationProtocolNegotiator, io.netty.handler.ssl.JdkApplicationProtocolNegotiator
public /* bridge */ /* synthetic */ JdkApplicationProtocolNegotiator.ProtocolSelectorFactory protocolSelectorFactory() {
return super.protocolSelectorFactory();
}
@Override // io.netty.handler.ssl.ApplicationProtocolNegotiator, io.netty.handler.ssl.JdkBaseApplicationProtocolNegotiator
public /* bridge */ /* synthetic */ List protocols() {
return super.protocols();
}
@Override // io.netty.handler.ssl.JdkBaseApplicationProtocolNegotiator, io.netty.handler.ssl.JdkApplicationProtocolNegotiator
public /* bridge */ /* synthetic */ JdkApplicationProtocolNegotiator.SslEngineWrapperFactory wrapperFactory() {
return super.wrapperFactory();
}
}