
classes.io.netty.handler.ssl.ReferenceCountedOpenSslEngine.class Maven / Gradle / Ivy
???? 2 8? 8? 8? 8? 8? 8?
8? 8? 8?
8? 8?
]? c??
? 8? ?? 8?????????? 8? 8?
?? 8?
???
??? 8?
??? ??
??
???
??
$? 8?
?? 8? ?? 8? ?? 8? ?? ??
8?
??
?? 8?
??
??
??
??
?
?
? _
c 8
?
? 8 8
8
?
?
?
?
?
!
?"
?#$ o% &
8'
8(
X)
8*
8+
8,-.
a/012
f34
f5
f6789
f:
e/
;<
q3 8= > c? c@ cA
8B C 8D 8EFG
H
8I
8J
XK oL
XM
?N 8O
8P 8QR
8S
8T
?U
8V 8WXYZX[\
?/]
?/^
?/_`a I 8b c 8d
8e
8f
8g
?h
8i 8j
?k
8l
8m
?n
?o 8pq
?r
8s
8t
?uv
8w
8x
8y
8z
8{
8|
8}~
??X? ???????D
?? ??O
??
???
f?
f??
f?
?????
??
?/ ??
??
???,?
??,? ? ? ? ? ?,?
a3????
??
??
???
??
f? 8?
8? 8?
??
???
??
???
?3 8?? 8?
??
8??
$? o?
8?
??
8?
??
??
??????
3 ?? ?? _?
?
??
?:
?/
]?
?? 8?
I? 8?
?? 8? 8??
???
??? 8? @
5?
]?
I?
I? 8? 8? 8??
)3 8??,?????
K??
K?? 8??
5? 8??
K?
?? ?? ????
?????
?
?
K
I3
5
?
K
K
InnerClasses OpenSslSession HandshakeState logger /Lio/netty/util/internal/logging/InternalLogger; EMPTY_CERTIFICATES ![Ljava/security/cert/Certificate; EMPTY_X509_CERTIFICATES &[Ljavax/security/cert/X509Certificate; BEGIN_HANDSHAKE_ENGINE_CLOSED Ljavax/net/ssl/SSLException; HANDSHAKE_ENGINE_CLOSED RENEGOTIATION_UNSUPPORTED ENCRYPTED_PACKET_OVERSIZED SNI_HOSTNAME_CLASS Ljava/lang/Class; Signature Ljava/lang/Class<*>; GET_SERVER_NAMES_METHOD Ljava/lang/reflect/Method; SET_SERVER_NAMES_METHOD GET_ASCII_NAME_METHOD "GET_USE_CIPHER_SUITES_ORDER_METHOD "SET_USE_CIPHER_SUITES_ORDER_METHOD leakDetector $Lio/netty/util/ResourceLeakDetector; ZLio/netty/util/ResourceLeakDetector; MAX_PLAINTEXT_LENGTH I
ConstantValue @ MAX_COMPRESSED_LENGTH D MAX_CIPHERTEXT_LENGTH H MAX_ENCRYPTED_PACKET_LENGTH I MAX_ENCRYPTION_OVERHEAD_LENGTH DESTROYED_UPDATER 7Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater; mLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater; INVALID_CIPHER Ljava/lang/String;
EMPTY_ADDR J NEED_UNWRAP_OK Ljavax/net/ssl/SSLEngineResult; NEED_UNWRAP_CLOSED NEED_WRAP_OK NEED_WRAP_CLOSED CLOSED_NOT_HANDSHAKING ssl
networkBIO certificateSet Z handshakeState CLio/netty/handler/ssl/ReferenceCountedOpenSslEngine$HandshakeState; receivedShutdown destroyed leak Lio/netty/util/ResourceLeak; refCnt (Lio/netty/util/AbstractReferenceCounted;
clientAuth !Lio/netty/handler/ssl/ClientAuth; lastAccessed endPointIdentificationAlgorithm algorithmConstraints Ljava/lang/Object; sniHostNames Ljava/util/List; Ljava/util/List<*>;
isInboundDone isOutboundDone engineClosed
clientMode alloc "Lio/netty/buffer/ByteBufAllocator; engineMap 'Lio/netty/handler/ssl/OpenSslEngineMap; apn ;Lio/netty/handler/ssl/OpenSslApplicationProtocolNegotiator; rejectRemoteInitiatedRenegation session CLio/netty/handler/ssl/ReferenceCountedOpenSslEngine$OpenSslSession;
localCerts singleSrcBuffer [Ljava/nio/ByteBuffer; singleDstBuffer keyMaterialManager 0Lio/netty/handler/ssl/OpenSslKeyMaterialManager; handshakeException %Ljavax/net/ssl/SSLHandshakeException; $assertionsDisabled n(Lio/netty/handler/ssl/ReferenceCountedOpenSslContext;Lio/netty/buffer/ByteBufAllocator;Ljava/lang/String;IZ)V Code LineNumberTable LocalVariableTable this 4Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine; context 5Lio/netty/handler/ssl/ReferenceCountedOpenSslContext; peerHost peerPort
leakDetection
StackMapTable?!??"# ()I retain "()Lio/netty/util/ReferenceCounted; #(I)Lio/netty/util/ReferenceCounted; increment touch 4(Ljava/lang/Object;)Lio/netty/util/ReferenceCounted; hint release ()Z (I)Z decrement getHandshakeSession ()Ljavax/net/ssl/SSLSession;
sslPointer ()J shutdown ()V writePlaintextData (Ljava/nio/ByteBuffer;)I addr sslWrote buf Lio/netty/buffer/ByteBuf; src Ljava/nio/ByteBuffer; pos limit len?$ writeEncryptedData netWrote readPlaintextData sslRead dst readEncryptedData (Ljava/nio/ByteBuffer;I)I bioRead oldLimit pending readPendingBytesFromBIO% HandshakeStatus g(Ljava/nio/ByteBuffer;IILjavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult; capacity produced
bytesConsumed
bytesProduced status /Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
pendingNet%&
Exceptions wrap N([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult; pendingNetResult sslError result i endOffset srcs offset length??$ shutdownWithError 0(Ljava/lang/String;)Ljavax/net/ssl/SSLException;
operations err B(Ljava/lang/String;Ljava/lang/String;)Ljavax/net/ssl/SSLException; operation unwrap Q([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult; remaining written bytesRead idx
srcsOffset
srcsLength dsts
dstsOffset
dstsLength
srcsEndOffset sslReadErrorResult $(III)Ljavax/net/ssl/SSLEngineResult; errStr pendingAppData newResult R(IILjavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult; closeAll M([Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult; -(Ljava/nio/ByteBuffer;)[Ljava/nio/ByteBuffer; resetSingleSrcBuffer resetSingleDstBuffer N(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult; K(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult; L(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult; getDelegatedTask ()Ljava/lang/Runnable; closeInbound
closeOutbound sslErr mode getSupportedCipherSuites ()[Ljava/lang/String; getEnabledCipherSuites enabled [Ljava/lang/String; mapped setEnabledCipherSuites ([Ljava/lang/String;)V converted c arr$ len$ i$ e Ljava/lang/Exception; cipherSuites Ljava/lang/StringBuilder; cipherSuiteSpec2? getSupportedProtocols getEnabledProtocols opts LocalVariableTypeTable $Ljava/util/List;? setEnabledProtocols p protocols sslv2 sslv3 tlsv1 tlsv1_1 tlsv1_2
getSession beginHandshake checkEngineClosed (Ljavax/net/ssl/SSLException;)V cause
pendingStatus 2(I)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus; handshake 1()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus; exception code] getEngineStatus& Status (()Ljavax/net/ssl/SSLEngineResult$Status; mayFinishHandshake `(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus; getHandshakeStatus needPendingStatus toJavaCipherSuite &(Ljava/lang/String;)Ljava/lang/String; openSslCipherSuite prefix toJavaCipherSuitePrefix C protocolVersion setUseClientMode (Z)V getUseClientMode setNeedClientAuth b getNeedClientAuth setWantClientAuth getWantClientAuth
setClientAuth $(Lio/netty/handler/ssl/ClientAuth;)V setEnableSessionCreation getEnableSessionCreation getSSLParameters ()Ljavax/net/ssl/SSLParameters; "Ljava/lang/IllegalAccessException; -Ljava/lang/reflect/InvocationTargetException;
sslParameters Ljavax/net/ssl/SSLParameters; version??'( setSSLParameters (Ljavax/net/ssl/SSLParameters;)V
serverName Ljava/util/Iterator; servernames) isDestroyed
access$000 R(Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;)Lio/netty/util/ResourceLeak; x0
access$100 7(Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;)Z
access$200 7(Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;)J
access$300
access$400 Z(Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;Ljava/lang/String;)Ljava/lang/String; x1
access$502 ?(Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine$HandshakeState;)Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine$HandshakeState;
access$600
access$700 #()[Ljava/security/cert/Certificate;
access$800 (()[Ljavax/security/cert/X509Certificate;
access$900 q(Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;)Lio/netty/handler/ssl/OpenSslApplicationProtocolNegotiator; access$1000 W(Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;)[Ljava/security/cert/Certificate;
parameters order Ljava/lang/Boolean; ignore Ljava/lang/Throwable; sniHostName name serverNames ingore destroyedUpdater getUseCipherSuitesOrderMethod setUseCipherSuitesOrderMethod sniHostNameClass getAsciiNameMethod getServerNamesMethod setServerNamesMethod*
SourceFile "ReferenceCountedOpenSslEngine.java?h??ijgh????vw?????????+,? 4io/netty/handler/ssl/ReferenceCountedOpenSslEngine$1?-??#.??? java/nio/ByteBuffer????/0?z{123456 io/netty/buffer/ByteBufAllocator??!78 9io/netty/handler/ssl/OpenSslApplicationProtocolNegotiator9?:?;<= Aio/netty/handler/ssl/ReferenceCountedOpenSslEngine$OpenSslSession>??@??AB????C???Dh??EF?G??H??????????????IJK???*LMNOPQRSR??????T?U???VWXY?Z[\]^U_`abc?_$de"?f^g^hei^jk javax/net/ssl/SSLEngineResultlmnthrs?o????nq "java/lang/IllegalArgumentException srcs is null?p dst is null #java/lang/IndexOutOfBoundsException java/lang/StringBuilder?? offset: qrqs
, length: 6 (expected: offset <= offset + length <= srcs.length ( ))tuv? java/nio/ReadOnlyBufferException??wn?x?y?ijz???? srcs[ ] is null{????|q}m?~??2??? SSL_write01?uef??? {} failed: OpenSSL error: {}?? javax/net/ssl/SSLException #javax/net/ssl/SSLHandshakeException java/lang/NullPointerException dsts is null 6 (expected: offset <= offset + length <= dsts.length ( dsts[ol???????????,-????/?tj?k???? SSL_read?k=?<??k )remote-initiated renegotation not allowed !?45?
??4 36? PInbound closed before receiving peer's close_notify: possible truncation attack??k &SSL_shutdown failed: OpenSSL error: {}??????? java/lang/String??????D??w?? unsupported cipher suite: q?? empty cipher suites???? java/lang/Exception java/lang/IllegalStateException failed to enable cipher suites: ?????????
SSLv2Hello???k TLSv1 TLSv1.1 TLSv1.2 SSLv2 SSLv3?? Protocol is not supported.?????? failed to enable protocols: ???q?kldenl?k?k renegotiation failed????? java/lang/Errorml?-????-gh SSL_do_handshake???mu???zw???? TLS SSL UNKNOWN 'java/lang/UnsupportedOperationException?????J??????????p?????vu?? java/lang/Object'?? java/lang/IllegalAccessException?? +java/lang/reflect/InvocationTargetExceptionyu?????u??pq??tu java/lang/AssertionErrorwu java/util/List??)?????? Only ?u % instances are supported, but found: xu java/lang/Boolean???~ 2io/netty/handler/ssl/ReferenceCountedOpenSslEngine??????j
engine closed beginHandshake()??? handshake() renegotiation unsupported encrypted packet oversized unwrap(...)????????? javax/net/ssl/SSLParameters getUseCipherSuitesOrder java/lang/Class?? setUseCipherSuitesOrder?q java/lang/Throwable javax.net.ssl.SNIHostName?????? netty.io??? getAsciiName getServerNames setServerNames???? ? javax/net/ssl/SSLEngine io/netty/util/ReferenceCounted 4io/netty/handler/ssl/ReferenceCountedOpenSslEngine$2 Aio/netty/handler/ssl/ReferenceCountedOpenSslEngine$HandshakeState SSL_NULL_WITH_NULL_NULL 3io/netty/handler/ssl/ReferenceCountedOpenSslContext io/netty/util/ResourceLeak io/netty/handler/ssl/ClientAuth io/netty/buffer/ByteBuf -javax/net/ssl/SSLEngineResult$HandshakeStatus $javax/net/ssl/SSLEngineResult$Status java/lang/reflect/Method [Ljava/lang/Object; java/util/Iterator 5java/util/concurrent/atomic/AtomicIntegerFieldUpdater (Ljava/lang/String;I)V NOT_STARTED 7(Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;)V NONE io/netty/handler/ssl/OpenSsl ensureAvailability "io/netty/util/ResourceLeakDetector open 0(Ljava/lang/Object;)Lio/netty/util/ResourceLeak; !io/netty/util/internal/ObjectUtil checkNotNull 8(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; applicationProtocolNegotiator 6()Lio/netty/handler/ssl/ApplicationProtocolNegotiator; ctx isClient org/apache/tomcat/jni/SSL newSSL (JZ)J sessionContext .()Lio/netty/handler/ssl/OpenSslSessionContext; c(Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;Lio/netty/handler/ssl/OpenSslSessionContext;)V makeNetworkBIO (J)J "rejectRemoteInitiatedRenegotiation keyCertChain setTlsExtHostName (JLjava/lang/String;)V 2()Lio/netty/handler/ssl/OpenSslKeyMaterialManager; &io/netty/util/AbstractReferenceCounted L$SwitchMap$io$netty$handler$ssl$ReferenceCountedOpenSslEngine$HandshakeState [I ordinal
compareAndSet (Ljava/lang/Object;II)Z %io/netty/handler/ssl/OpenSslEngineMap remove 7(J)Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine; freeSSL (J)V freeBIO
clearError position java/lang/Math min (II)I isDirect org/apache/tomcat/jni/Buffer address (Ljava/nio/ByteBuffer;)J
writeToSSL (JJI)I (I)Ljava/nio/Buffer; directBuffer (I)Lio/netty/buffer/ByteBuf;
memoryAddress (Lio/netty/buffer/ByteBuf;)J setBytes 1(ILjava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf;
writeToBIO readFromSSL getBytes readFromBIO pendingWrittenBytesInBIO (J)I BUFFER_OVERFLOW &Ljavax/net/ssl/SSLEngineResult$Status; FINISHED Z(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V (Ljava/lang/String;)V append -(Ljava/lang/String;)Ljava/lang/StringBuilder; (I)Ljava/lang/StringBuilder; toString ()Ljava/lang/String;
isReadOnly NOT_HANDSHAKING STARTED_EXPLICITLY STARTED_IMPLICITLY NEED_UNWRAP hasRemaining getStatus OK getError (JI)I getLastError -io/netty/util/internal/logging/InternalLogger isDebugEnabled debug 9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V NEED_WRAP getLastErrorNumber isError (J)Z getShutdown getErrorString (J)Ljava/lang/String; pendingReadableBytesInSSL getHandshakeCount L([Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult; shutdownSSL '(Ljava/lang/String;Ljava/lang/Object;)V AVAILABLE_CIPHER_SUITES Ljava/util/Set;
java/util/Set size toArray (([Ljava/lang/Object;)[Ljava/lang/Object;
getCiphers (J)[Ljava/lang/String; "io/netty/util/internal/EmptyArrays
EMPTY_STRINGS )io/netty/handler/ssl/CipherSuiteConverter toOpenSsl isCipherSuiteAvailable (Ljava/lang/String;)Z (C)Ljava/lang/StringBuilder; setLength (I)V setCipherSuites (JLjava/lang/String;)Z *(Ljava/lang/String;Ljava/lang/Throwable;)V SUPPORTED_PROTOCOLS_SET -io/netty/util/internal/InternalThreadLocalMap get 1()Lio/netty/util/internal/InternalThreadLocalMap; arrayList ()Ljava/util/ArrayList; add (Ljava/lang/Object;)Z
getOptions contains equals
setOptions (JI)V clearOptions java/util/Arrays asList %([Ljava/lang/Object;)Ljava/util/List; -(Ljava/lang/Object;)Ljava/lang/StringBuilder; renegotiate doHandshake setState java/lang/System currentTimeMillis .io/netty/handler/ssl/OpenSslKeyMaterialManager setKeyMaterial handshakeFinished CLOSED
getVersion toJava 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; charAt (I)C REQUIRE OPTIONAL *$SwitchMap$io$netty$handler$ssl$ClientAuth setVerify (JII)V (io/netty/util/internal/PlatformDependent javaVersion "setEndpointIdentificationAlgorithm 'io/netty/handler/ssl/SslParametersUtils setAlgorithmConstraints 2(Ljavax/net/ssl/SSLParameters;Ljava/lang/Object;)V invoke 9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Ljava/lang/Throwable;)V valueOf (Z)Ljava/lang/Boolean; "getEndpointIdentificationAlgorithm getAlgorithmConstraints &()Ljava/security/AlgorithmConstraints; iterator ()Ljava/util/Iterator; hasNext next ()Ljava/lang/Object;
isInstance getName booleanValue desiredAssertionStatus 4io/netty/util/internal/logging/InternalLoggerFactory getInstance B(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger; EMPTY_JAVAX_X509_CERTIFICATES $io/netty/util/internal/ThrowableUtil unknownStackTrace O(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable; )io/netty/util/ResourceLeakDetectorFactory instance -()Lio/netty/util/ResourceLeakDetectorFactory; newResourceLeakDetector 7(Ljava/lang/Class;)Lio/netty/util/ResourceLeakDetector; newAtomicIntegerFieldUpdater \(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
newUpdater getDeclaredMethod @(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; TYPE getClassLoader *(Ljava/lang/Class;)Ljava/lang/ClassLoader; forName =(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class; getConstructor 3([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; java/lang/reflect/Constructor newInstance '([Ljava/lang/Object;)Ljava/lang/Object; java/util/Collections emptyList ()Ljava/util/List; io/netty/buffer/Unpooled EMPTY_BUFFER nioBuffer ()Ljava/nio/ByteBuffer; !8] ^ 7 ef gh ij kl ml nl ol pq r s tu vu wu xu yu z{ r | }~ ? ?~ ? ?~ ? ?~ ? ?~ ? ?? r ? ?? ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? B?~ ?? ?? B?? B?? ?? ?? ?? r ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?h ?? ?? ?? ?? ?? Q ?? ? . ?*-? *?
? *? Y*? ? *? ? * ? *? ? *? ? ? *?
? *? ? ? *,? ? ? *+? ? ? *+? !+? "? ? ? #? *? $Y*+? %? &? '**? ? (? )*+? "? *+? *? +*+? ,? -*+? .? **? ? ? ? +? /? 0*? ? -? *? -? 1*+? 2? 3? ? ^ ? ? ? ! ? ( ? 0 ? 8 ; O \ g ~ ? ? ? ? ? ? ?" ?# ?% ?&? > ??? ??? ??? ??? ??~ ??? ? ? ? K ???? ?? ???? ??? * ???? ?? ???? ?? N?? ???? ?? ?? ? 2 *? ? 4? ? *? ?? ?? ? 8
*? ? 5W*? ?
/ 0?
?? ?? ? C *? ? 6W*? ?
5 6? ?? ?~ ?? ? 8
*? ? 7W*? ?
; <?
?? ?? ? C *? +? 8W*? ?
A B? ?? ?? ?? ? 2 *? ? 9? ? G? ?? ?? ? = *? ? :? ? L? ?? ?~ 1?? ? g +? ;*? ? <.? ?*? '? ? U $X &Z? +?? ? $ 1?? ? / *? ? ? d? ?? 1?? ? ? E? =*? >? 8*? +*? ? ? W*? ? @*? )? A** ]? )? ***Z? BZ? C? D? E? ? " k l m !n (o 2r Av Dw? E?? ? ? A ?? ? ?
?+? F=+? G>d@ ? H6+? I? *+? J?a7*? ? K6? +`? LW? f*? ? M :? N7+`? OW+? PW+? OW*? ? K6? +`? LW? +? LW? QW? : ? QW ?? P ? ? ? ? ? ? Z ?
? ? ? %? 2? 7? @? C? P? W? `? h? n? {? ?? ?? ?? ?? ?? ??? p % ?? 2 ?~ W ;?? { ?~ P V?? ??? ??? ??~
??~ ??~ ? ?~ ? I ? @ ?? ? ? H?? ? ?? ? ??
?? ?? ? ? ?+? F=+? R>+? I? )+? J?a7*? )? S6? +`? LW? U*? ? M :? N7+? PW*? )? S6? +`? LW? +? LW? QW? :? QW?? C u ~ ~ ? ~ ? N ? ?
? ? ? &? +? 4? 7? C? J? R? ^? c? o? u? {? ~? ??? f
?? &