final class io.netty.handler.ssl.CipherSuiteConverter
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.netty.handler.ssl.CipherSuiteConverter
super_class: java.lang.Object
{
private static final io.netty.util.internal.logging.InternalLogger logger;
descriptor: Lio/netty/util/internal/logging/InternalLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern JAVA_CIPHERSUITE_PATTERN;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern OPENSSL_CIPHERSUITE_PATTERN;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern JAVA_AES_CBC_PATTERN;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern JAVA_AES_PATTERN;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern OPENSSL_AES_CBC_PATTERN;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern OPENSSL_AES_PATTERN;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.concurrent.ConcurrentMap<java.lang.String, java.lang.String> j2o;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/lang/String;>;
private static final java.util.concurrent.ConcurrentMap<java.lang.String, java.util.Map<java.lang.String, java.lang.String>> o2j;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/netty/handler/ssl/CipherSuiteConverter;
invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
putstatic io.netty.handler.ssl.CipherSuiteConverter.logger:Lio/netty/util/internal/logging/InternalLogger;
1: ldc "^(?:TLS|SSL)_((?:(?!_WITH_).)+)_WITH_(.*)_(.*)$"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
2: putstatic io.netty.handler.ssl.CipherSuiteConverter.JAVA_CIPHERSUITE_PATTERN:Ljava/util/regex/Pattern;
3: ldc "^(?:((?:(?:EXP-)?(?:(?:DHE|EDH|ECDH|ECDHE|SRP|RSA)-(?:DSS|RSA|ECDSA|PSK)|(?:ADH|AECDH|KRB5|PSK|SRP)))|EXP)-)?(.*)-(.*)$"
4: invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
5: putstatic io.netty.handler.ssl.CipherSuiteConverter.OPENSSL_CIPHERSUITE_PATTERN:Ljava/util/regex/Pattern;
6: ldc "^(AES)_([0-9]+)_CBC$"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic io.netty.handler.ssl.CipherSuiteConverter.JAVA_AES_CBC_PATTERN:Ljava/util/regex/Pattern;
7: ldc "^(AES)_([0-9]+)_(.*)$"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic io.netty.handler.ssl.CipherSuiteConverter.JAVA_AES_PATTERN:Ljava/util/regex/Pattern;
8: ldc "^(AES)([0-9]+)$"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic io.netty.handler.ssl.CipherSuiteConverter.OPENSSL_AES_CBC_PATTERN:Ljava/util/regex/Pattern;
9: ldc "^(AES)([0-9]+)-(.*)$"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic io.netty.handler.ssl.CipherSuiteConverter.OPENSSL_AES_PATTERN:Ljava/util/regex/Pattern;
10: invokestatic io.netty.util.internal.PlatformDependent.newConcurrentHashMap:()Ljava/util/concurrent/ConcurrentMap;
putstatic io.netty.handler.ssl.CipherSuiteConverter.j2o:Ljava/util/concurrent/ConcurrentMap;
11: invokestatic io.netty.util.internal.PlatformDependent.newConcurrentHashMap:()Ljava/util/concurrent/ConcurrentMap;
putstatic io.netty.handler.ssl.CipherSuiteConverter.o2j:Ljava/util/concurrent/ConcurrentMap;
return
LocalVariableTable:
Start End Slot Name Signature
static void clearCache();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.handler.ssl.CipherSuiteConverter.j2o:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
1: getstatic io.netty.handler.ssl.CipherSuiteConverter.o2j:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
2: return
LocalVariableTable:
Start End Slot Name Signature
static boolean isJ2OCached(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic io.netty.handler.ssl.CipherSuiteConverter.j2o:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/String;
0 1 1 value Ljava/lang/String;
MethodParameters:
Name Flags
key
value
static boolean isO2JCached(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic io.netty.handler.ssl.CipherSuiteConverter.o2j:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 3
start local 3 1: aload 3
ifnonnull 3
2: iconst_0
ireturn
3: StackMap locals: java.util.Map
StackMap stack:
aload 2
aload 3
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 key Ljava/lang/String;
0 4 1 protocol Ljava/lang/String;
0 4 2 value Ljava/lang/String;
1 4 3 p2j Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
key
protocol
value
static java.lang.String toOpenSsl(java.lang.Iterable<java.lang.String>);
descriptor: (Ljava/lang/Iterable;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: java.lang.Iterable java.lang.StringBuilder top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 3: aload 2
ifnonnull 5
4: goto 11
5: StackMap locals: java.lang.Iterable java.lang.StringBuilder java.lang.String java.util.Iterator
StackMap stack:
aload 2
invokestatic io.netty.handler.ssl.CipherSuiteConverter.toOpenSsl:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 6: aload 4
ifnull 8
7: aload 4
astore 2
8: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 1
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 4 end local 2 10: StackMap locals: java.lang.Iterable java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
11: StackMap locals: java.lang.Iterable java.lang.StringBuilder
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.length:()I
ifle 14
12: aload 1
aload 1
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
isub
invokevirtual java.lang.StringBuilder.setLength:(I)V
13: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
14: StackMap locals:
StackMap stack:
ldc ""
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 javaCipherSuites Ljava/lang/Iterable<Ljava/lang/String;>;
1 15 1 buf Ljava/lang/StringBuilder;
3 10 2 c Ljava/lang/String;
6 10 4 converted Ljava/lang/String;
Signature: (Ljava/lang/Iterable<Ljava/lang/String;>;)Ljava/lang/String;
MethodParameters:
Name Flags
javaCipherSuites
static java.lang.String toOpenSsl(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic io.netty.handler.ssl.CipherSuiteConverter.j2o:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokestatic io.netty.handler.ssl.CipherSuiteConverter.cacheFromJava:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 javaCipherSuite Ljava/lang/String;
1 4 1 converted Ljava/lang/String;
MethodParameters:
Name Flags
javaCipherSuite
private static java.lang.String cacheFromJava(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokestatic io.netty.handler.ssl.CipherSuiteConverter.toOpenSslUncached:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.String
StackMap stack:
getstatic io.netty.handler.ssl.CipherSuiteConverter.j2o:Ljava/util/concurrent/ConcurrentMap;
aload 0
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 0
iconst_4
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
start local 2 5: new java.util.HashMap
dup
iconst_4
invokespecial java.util.HashMap.<init>:(I)V
astore 3
start local 3 6: aload 3
ldc ""
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 3
ldc "SSL"
new java.lang.StringBuilder
dup
ldc "SSL_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 3
ldc "TLS"
new java.lang.StringBuilder
dup
ldc "TLS_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic io.netty.handler.ssl.CipherSuiteConverter.o2j:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 3
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: getstatic io.netty.handler.ssl.CipherSuiteConverter.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Cipher suite mapping: {} => {}"
aload 0
aload 1
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
11: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 javaCipherSuite Ljava/lang/String;
1 12 1 openSslCipherSuite Ljava/lang/String;
5 12 2 javaCipherSuiteSuffix Ljava/lang/String;
6 12 3 p2j Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
javaCipherSuite
static java.lang.String toOpenSslUncached(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: getstatic io.netty.handler.ssl.CipherSuiteConverter.JAVA_CIPHERSUITE_PATTERN:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 1
start local 1 1: aload 1
invokevirtual java.util.regex.Matcher.matches:()Z
ifne 3
2: aconst_null
areturn
3: StackMap locals: java.util.regex.Matcher
StackMap stack:
aload 1
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic io.netty.handler.ssl.CipherSuiteConverter.toOpenSslHandshakeAlgo:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 4: aload 1
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic io.netty.handler.ssl.CipherSuiteConverter.toOpenSslBulkCipher:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 5: aload 1
iconst_3
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic io.netty.handler.ssl.CipherSuiteConverter.toOpenSslHmacAlgo:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 6: aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifeq 8
7: new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
8: StackMap locals: java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 3
ldc "CHACHA20"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 10
9: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
10: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 javaCipherSuite Ljava/lang/String;
1 11 1 m Ljava/util/regex/Matcher;
4 11 2 handshakeAlgo Ljava/lang/String;
5 11 3 bulkCipher Ljava/lang/String;
6 11 4 hmacAlgo Ljava/lang/String;
MethodParameters:
Name Flags
javaCipherSuite
private static java.lang.String toOpenSslHandshakeAlgo(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
ldc "_EXPORT"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
istore 1
start local 1 1: iload 1
ifeq 3
2: aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
bipush 7
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 0
3: StackMap locals: int
StackMap stack:
ldc "RSA"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
4: ldc ""
astore 0
5: goto 8
StackMap locals:
StackMap stack:
6: aload 0
ldc "_anon"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 8
7: new java.lang.StringBuilder
dup
bipush 65
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
iconst_5
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 0
8: StackMap locals:
StackMap stack:
iload 1
ifeq 13
9: aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifeq 12
10: ldc "EXP"
astore 0
11: goto 13
12: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "EXP-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 0
13: StackMap locals:
StackMap stack:
aload 0
bipush 95
bipush 45
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 handshakeAlgo Ljava/lang/String;
1 14 1 export Z
MethodParameters:
Name Flags
handshakeAlgo
private static java.lang.String toOpenSslBulkCipher(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc "AES_"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 7
1: getstatic io.netty.handler.ssl.CipherSuiteConverter.JAVA_AES_CBC_PATTERN:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 1
start local 1 2: aload 1
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 4
3: aload 1
ldc "$1$2"
invokevirtual java.util.regex.Matcher.replaceFirst:(Ljava/lang/String;)Ljava/lang/String;
areturn
4: StackMap locals: java.util.regex.Matcher
StackMap stack:
getstatic io.netty.handler.ssl.CipherSuiteConverter.JAVA_AES_PATTERN:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 1
5: aload 1
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 7
6: aload 1
ldc "$1$2-$3"
invokevirtual java.util.regex.Matcher.replaceFirst:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 7: StackMap locals:
StackMap stack:
ldc "3DES_EDE_CBC"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: ldc "DES-CBC3"
areturn
9: StackMap locals:
StackMap stack:
ldc "RC4_128"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
ldc "RC4_40"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
10: StackMap locals:
StackMap stack:
ldc "RC4"
areturn
11: StackMap locals:
StackMap stack:
ldc "DES40_CBC"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
ldc "DES_CBC_40"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: StackMap locals:
StackMap stack:
ldc "DES-CBC"
areturn
13: StackMap locals:
StackMap stack:
ldc "RC2_CBC_40"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
14: ldc "RC2-CBC"
areturn
15: StackMap locals:
StackMap stack:
aload 0
bipush 95
bipush 45
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 bulkCipher Ljava/lang/String;
2 7 1 m Ljava/util/regex/Matcher;
MethodParameters:
Name Flags
bulkCipher
private static java.lang.String toOpenSslHmacAlgo(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 hmacAlgo Ljava/lang/String;
MethodParameters:
Name Flags
hmacAlgo
static java.lang.String toJava(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: getstatic io.netty.handler.ssl.CipherSuiteConverter.o2j:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 2
start local 2 1: aload 2
ifnonnull 5
2: aload 0
invokestatic io.netty.handler.ssl.CipherSuiteConverter.cacheFromOpenSsl:(Ljava/lang/String;)Ljava/util/Map;
astore 2
3: aload 2
ifnonnull 5
4: aconst_null
areturn
5: StackMap locals: java.util.Map
StackMap stack:
aload 2
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 6: aload 3
ifnonnull 8
7: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 2
ldc ""
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
8: StackMap locals: java.lang.String
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 openSslCipherSuite Ljava/lang/String;
0 9 1 protocol Ljava/lang/String;
1 9 2 p2j Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
6 9 3 javaCipherSuite Ljava/lang/String;
MethodParameters:
Name Flags
openSslCipherSuite
protocol
private static java.util.Map<java.lang.String, java.lang.String> cacheFromOpenSsl(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokestatic io.netty.handler.ssl.CipherSuiteConverter.toJavaUncached:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
ldc "SSL_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 4: new java.lang.StringBuilder
dup
ldc "TLS_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 5: new java.util.HashMap
dup
iconst_4
invokespecial java.util.HashMap.<init>:(I)V
astore 4
start local 4 6: aload 4
ldc ""
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 4
ldc "SSL"
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 4
ldc "TLS"
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic io.netty.handler.ssl.CipherSuiteConverter.o2j:Ljava/util/concurrent/ConcurrentMap;
aload 0
aload 4
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: getstatic io.netty.handler.ssl.CipherSuiteConverter.j2o:Ljava/util/concurrent/ConcurrentMap;
aload 3
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: getstatic io.netty.handler.ssl.CipherSuiteConverter.j2o:Ljava/util/concurrent/ConcurrentMap;
aload 2
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: getstatic io.netty.handler.ssl.CipherSuiteConverter.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Cipher suite mapping: {} => {}"
aload 3
aload 0
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
13: getstatic io.netty.handler.ssl.CipherSuiteConverter.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Cipher suite mapping: {} => {}"
aload 2
aload 0
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
14: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 openSslCipherSuite Ljava/lang/String;
1 15 1 javaCipherSuiteSuffix Ljava/lang/String;
4 15 2 javaCipherSuiteSsl Ljava/lang/String;
5 15 3 javaCipherSuiteTls Ljava/lang/String;
6 15 4 p2j Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
Signature: (Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
openSslCipherSuite
static java.lang.String toJavaUncached(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: getstatic io.netty.handler.ssl.CipherSuiteConverter.OPENSSL_CIPHERSUITE_PATTERN:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 1
start local 1 1: aload 1
invokevirtual java.util.regex.Matcher.matches:()Z
ifne 3
2: aconst_null
areturn
3: StackMap locals: java.util.regex.Matcher
StackMap stack:
aload 1
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 2
start local 2 4: aload 2
ifnonnull 8
5: ldc ""
astore 2
6: iconst_0
istore 3
start local 3 7: goto 17
end local 3 StackMap locals: java.lang.String
StackMap stack:
8: aload 2
ldc "EXP-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 12
9: aload 2
iconst_4
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
10: iconst_1
istore 3
start local 3 11: goto 17
end local 3 StackMap locals:
StackMap stack:
12: ldc "EXP"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
13: ldc ""
astore 2
14: iconst_1
istore 3
start local 3 15: goto 17
end local 3 16: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 17: StackMap locals: int
StackMap stack:
aload 2
iload 3
invokestatic io.netty.handler.ssl.CipherSuiteConverter.toJavaHandshakeAlgo:(Ljava/lang/String;Z)Ljava/lang/String;
astore 2
18: aload 1
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
iload 3
invokestatic io.netty.handler.ssl.CipherSuiteConverter.toJavaBulkCipher:(Ljava/lang/String;Z)Ljava/lang/String;
astore 4
start local 4 19: aload 1
iconst_3
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic io.netty.handler.ssl.CipherSuiteConverter.toJavaHmacAlgo:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 20: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "_WITH_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 21: aload 4
ldc "CHACHA20"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 22
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "_SHA256"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 23
StackMap locals: java.lang.String java.lang.String java.lang.String
StackMap stack:
22: aload 6
StackMap locals:
StackMap stack: java.lang.String
23: areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 openSslCipherSuite Ljava/lang/String;
1 24 1 m Ljava/util/regex/Matcher;
4 24 2 handshakeAlgo Ljava/lang/String;
7 8 3 export Z
11 12 3 export Z
15 16 3 export Z
17 24 3 export Z
19 24 4 bulkCipher Ljava/lang/String;
20 24 5 hmacAlgo Ljava/lang/String;
21 24 6 javaCipherSuite Ljava/lang/String;
MethodParameters:
Name Flags
openSslCipherSuite
private static java.lang.String toJavaHandshakeAlgo(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifeq 3
1: ldc "RSA"
astore 0
2: goto 8
StackMap locals:
StackMap stack:
3: ldc "ADH"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
4: ldc "DH_anon"
astore 0
5: goto 8
StackMap locals:
StackMap stack:
6: ldc "AECDH"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: ldc "ECDH_anon"
astore 0
8: StackMap locals:
StackMap stack:
aload 0
bipush 45
bipush 95
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 0
9: iload 1
ifeq 11
10: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "_EXPORT"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
11: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 handshakeAlgo Ljava/lang/String;
0 12 1 export Z
MethodParameters:
Name Flags
handshakeAlgo
export
private static java.lang.String toJavaBulkCipher(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "AES"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 7
1: getstatic io.netty.handler.ssl.CipherSuiteConverter.OPENSSL_AES_CBC_PATTERN:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 2
start local 2 2: aload 2
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 4
3: aload 2
ldc "$1_$2_CBC"
invokevirtual java.util.regex.Matcher.replaceFirst:(Ljava/lang/String;)Ljava/lang/String;
areturn
4: StackMap locals: java.util.regex.Matcher
StackMap stack:
getstatic io.netty.handler.ssl.CipherSuiteConverter.OPENSSL_AES_PATTERN:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 2
5: aload 2
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 7
6: aload 2
ldc "$1_$2_$3"
invokevirtual java.util.regex.Matcher.replaceFirst:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 2 7: StackMap locals:
StackMap stack:
ldc "DES-CBC3"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: ldc "3DES_EDE_CBC"
areturn
9: StackMap locals:
StackMap stack:
ldc "RC4"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
10: iload 1
ifeq 12
11: ldc "RC4_40"
areturn
12: StackMap locals:
StackMap stack:
ldc "RC4_128"
areturn
13: StackMap locals:
StackMap stack:
ldc "DES-CBC"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
14: iload 1
ifeq 16
15: ldc "DES_CBC_40"
areturn
16: StackMap locals:
StackMap stack:
ldc "DES_CBC"
areturn
17: StackMap locals:
StackMap stack:
ldc "RC2-CBC"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
18: iload 1
ifeq 20
19: ldc "RC2_CBC_40"
areturn
20: StackMap locals:
StackMap stack:
ldc "RC2_CBC"
areturn
21: StackMap locals:
StackMap stack:
aload 0
bipush 45
bipush 95
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 bulkCipher Ljava/lang/String;
0 22 1 export Z
2 7 2 m Ljava/util/regex/Matcher;
MethodParameters:
Name Flags
bulkCipher
export
private static java.lang.String toJavaHmacAlgo(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 hmacAlgo Ljava/lang/String;
MethodParameters:
Name Flags
hmacAlgo
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/CipherSuiteConverter;
}
SourceFile: "CipherSuiteConverter.java"