io.netty.handler.ssl.ReferenceCountedOpenSslEngine.class Maven / Gradle / Ivy
???? 2 2io/netty/handler/ssl/ReferenceCountedOpenSslEngine javax/net/ssl/SSLEngine io/netty/util/ReferenceCounted "ReferenceCountedOpenSslEngine.java 4io/netty/handler/ssl/ReferenceCountedOpenSslEngine$2 Aio/netty/handler/ssl/ReferenceCountedOpenSslEngine$OpenSslSession
OpenSslSession Aio/netty/handler/ssl/ReferenceCountedOpenSslEngine$HandshakeState
HandshakeState 4io/netty/handler/ssl/ReferenceCountedOpenSslEngine$1 -javax/net/ssl/SSLEngineResult$HandshakeStatus javax/net/ssl/SSLEngineResult HandshakeStatus $javax/net/ssl/SSLEngineResult$Status Status logger /Lio/netty/util/internal/logging/InternalLogger; BEGIN_HANDSHAKE_ENGINE_CLOSED Ljavax/net/ssl/SSLException; HANDSHAKE_ENGINE_CLOSED RENEGOTIATION_UNSUPPORTED leakDetector $Lio/netty/util/ResourceLeakDetector; ZLio/netty/util/ResourceLeakDetector; !DEFAULT_HOSTNAME_VALIDATION_FLAGS I MAX_PLAINTEXT_LENGTH @ MAX_TLS_RECORD_OVERHEAD_LENGTH Z MAX_ENCRYPTED_PACKET_LENGTH @Z DESTROYED_UPDATER 7Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater; mLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater; INVALID_CIPHER Ljava/lang/String; SSL_NULL_WITH_NULL_NULL 1 NEED_UNWRAP_OK Ljavax/net/ssl/SSLEngineResult; NEED_UNWRAP_CLOSED NEED_WRAP_OK NEED_WRAP_CLOSED CLOSED_NOT_HANDSHAKING ssl J
networkBIO certificateSet Z handshakeState CLio/netty/handler/ssl/ReferenceCountedOpenSslEngine$HandshakeState; renegotiationPending receivedShutdown destroyed leak #Lio/netty/util/ResourceLeakTracker; YLio/netty/util/ResourceLeakTracker; refCnt (Lio/netty/util/AbstractReferenceCounted;
clientAuth !Lio/netty/handler/ssl/ClientAuth; lastAccessed endPointIdentificationAlgorithm algorithmConstraints Ljava/lang/Object; sniHostNames Ljava/util/List; $Ljava/util/List; matchers Ljava/util/Collection; Ljava/util/Collection<*>;
isInboundDone outboundClosed
clientMode alloc "Lio/netty/buffer/ByteBufAllocator; engineMap 'Lio/netty/handler/ssl/OpenSslEngineMap; apn ;Lio/netty/handler/ssl/OpenSslApplicationProtocolNegotiator; "rejectRemoteInitiatedRenegotiation session CLio/netty/handler/ssl/ReferenceCountedOpenSslEngine$OpenSslSession;
localCerts ![Ljava/security/cert/Certificate; singleSrcBuffer [Ljava/nio/ByteBuffer; singleDstBuffer keyMaterialManager 0Lio/netty/handler/ssl/OpenSslKeyMaterialManager;
enableOcsp handshakeException %Ljavax/net/ssl/SSLHandshakeException; $assertionsDisabled n(Lio/netty/handler/ssl/ReferenceCountedOpenSslContext;Lio/netty/buffer/ByteBufAllocator;Ljava/lang/String;IZ)V java/lang/Throwable m (Ljava/lang/String;I)V k o
p NOT_STARTED r ? s > ? u 7(Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;)V k w
x F G z io/netty/handler/ssl/ClientAuth | NONE ~ I } H I ????????? J : ? java/nio/ByteBuffer ? b c ? d c ? io/netty/handler/ssl/OpenSsl ? ensureAvailability ()V ? ?
? ? ! ? "io/netty/util/ResourceLeakDetector ? track 7(Ljava/lang/Object;)Lio/netty/util/ResourceLeakTracker; ? ?
? ? 3io/netty/handler/ssl/ReferenceCountedOpenSslContext ? io/netty/buffer/ByteBufAllocator ? java/lang/String ? !io/netty/util/ResourceLeakTracker ? C D ? W !io/netty/util/internal/ObjectUtil ? checkNotNull 8(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; ? ?
? ? W X ? applicationProtocolNegotiator 6()Lio/netty/handler/ssl/ApplicationProtocolNegotiator; ? ?
? ? 9io/netty/handler/ssl/OpenSslApplicationProtocolNegotiator ? [ \ ? sessionContext .()Lio/netty/handler/ssl/OpenSslSessionContext; ? ?
? ? c(Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;Lio/netty/handler/ssl/OpenSslSessionContext;)V k ?
? ^ _ ? isClient ()Z ? ?
? ? V = ? Y Z ? ? ? %getRejectRemoteInitiatedRenegotiation ? ?
? ? ] = ? keyCertChain ? a ? ? ` a ? 2()Lio/netty/handler/ssl/OpenSslKeyMaterialManager; e ?
? ? e f ? g = ? ? ? ctxLock *Ljava/util/concurrent/locks/ReadWriteLock; ? ? ? ? (java/util/concurrent/locks/ReadWriteLock ? readLock #()Ljava/util/concurrent/locks/Lock; ? ? ? ? java/util/concurrent/locks/Lock ? lock ? ? ? ? ctx ? : ? ? io/netty/internal/tcnative/SSL ? newSSL (JZ)J ? ?
? ? 9 : ? unlock ? ? ? ? getBioNonApplicationBufferSize ()I ? ?
? ? bioNewByteBuffer (JI)J ? ?
? ? ; : ? ? ?
setClientAuth $(Lio/netty/handler/ssl/ClientAuth;)V
protocols [Ljava/lang/String; ? setEnabledProtocols ([Ljava/lang/String;)V
setTlsExtHostName (JLjava/lang/String;)V
? (J)V g
? freeSSL
? (io/netty/util/internal/PlatformDependent throwException (Ljava/lang/Throwable;)V
cause Ljava/lang/Throwable; this 4Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine; context 5Lio/netty/handler/ssl/ReferenceCountedOpenSslContext; peerHost peerPort
leakDetection
readerLock !Ljava/util/concurrent/locks/Lock; setOcspResponse ([B)V java/lang/IllegalStateException+ OCSP stapling is not enabled- (Ljava/lang/String;)V k/
,0 Not a server SSLEngine2 (J[B)V)4
?5 [B7 java/lang/Object9 response getOcspResponse ()[B Not a client SSLEngine> (J)[B<@
?A &io/netty/util/AbstractReferenceCountedC F ?
DE retain "()Lio/netty/util/ReferenceCounted;GH
DI #(I)Lio/netty/util/ReferenceCounted;GK
DL increment touchOH
DP 4(Ljava/lang/Object;)Lio/netty/util/ReferenceCounted;OR
DS hint releaseV ?
DW (I)ZVY
DZ decrement getHandshakeSession ()Ljavax/net/ssl/SSLSession; L$SwitchMap$io$netty$handler$ssl$ReferenceCountedOpenSslEngine$HandshakeState [I_` a ordinalc ?
d
sslPointer ()J shutdown , - i 5java/util/concurrent/atomic/AtomicIntegerFieldUpdaterk
compareAndSet (Ljava/lang/Object;II)Zmn
lo %io/netty/handler/ssl/OpenSslEngineMapq remove 7(J)Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;stru U = w T = y
clearError{ ?
?| writePlaintextData (Ljava/nio/ByteBuffer;I)I position? ?
?? limit? ?
?? isDirect? ?
?? !io/netty/internal/tcnative/Buffer? address (Ljava/nio/ByteBuffer;)J??
??
writeToSSL (JJI)I??
?? (I)Ljava/nio/Buffer;??
?? directBuffer (I)Lio/netty/buffer/ByteBuf;?? ????
?? io/netty/buffer/ByteBuf? setBytes 1(ILjava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf;??
??
memoryAddress (Lio/netty/buffer/ByteBuf;)J??
??
?W sslWrote buf Lio/netty/buffer/ByteBuf; src Ljava/nio/ByteBuffer; len pos writeEncryptedData 1(Ljava/nio/ByteBuffer;I)Lio/netty/buffer/ByteBuf; bioSetByteBuffer (JJIZ)V??
??
writeBytes 0(Ljava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf;??
?? readPlaintextData (Ljava/nio/ByteBuffer;)I readFromSSL??
?? java/lang/Math? min (II)I??
?? readerIndex? ?
?? getBytes??
?? sslRead dst wrap N([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult; javax/net/ssl/SSLException? "java/lang/IllegalArgumentException? srcs is null?
?0 dst is null? #java/lang/IndexOutOfBoundsException? java/lang/StringBuilder? k ?
?? offset: ? append -(Ljava/lang/String;)Ljava/lang/StringBuilder;??
?? (I)Ljava/lang/StringBuilder;??
??
, length: ? 6 (expected: offset <= offset + length <= srcs.length (? ))? toString ()Ljava/lang/String;??
??
?0
isReadOnly? ?
?? java/nio/ReadOnlyBufferException?
?? isOutboundDone? ?
? T ?
? isDestroyed? ?
? 8 4 ? 5 4 remaining ?
?
writableBytes ?
? bioLengthByteBuffer (J)I
?
bioFlushByteBuffer
?
NOT_HANDSHAKING /Ljavax/net/ssl/SSLEngineResult$HandshakeStatus; newResultMayFinishHandshake R(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)Ljavax/net/ssl/SSLEngineResult;
bioClearByteBuffer
? j =
readableBytes ?
? java/lang/AssertionError The destination buffer ! -(Ljava/lang/Object;)Ljava/lang/StringBuilder;?#
?$ E didn't have enough remaining space to hold the encrypted content in & (Ljava/lang/Object;)V k(
) internalNioBuffer (II)Ljava/nio/ByteBuffer;+,
?- put ,(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;/0
?1
doSSLShutdown3 ?
4 NEED_WRAP6 7 FINISHED9 ? : STARTED_EXPLICITLY<