class io.netty.handler.ssl.OpenSslKeyMaterialManager
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.netty.handler.ssl.OpenSslKeyMaterialManager
super_class: java.lang.Object
{
static final java.lang.String KEY_TYPE_RSA;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "RSA"
static final java.lang.String KEY_TYPE_DH_RSA;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "DH_RSA"
static final java.lang.String KEY_TYPE_EC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "EC"
static final java.lang.String KEY_TYPE_EC_EC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "EC_EC"
static final java.lang.String KEY_TYPE_EC_RSA;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "EC_RSA"
private static final java.util.Map<java.lang.String, java.lang.String> KEY_TYPES;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private final javax.net.ssl.X509KeyManager keyManager;
descriptor: Ljavax/net/ssl/X509KeyManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String password;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic io.netty.handler.ssl.OpenSslKeyMaterialManager.KEY_TYPES:Ljava/util/Map;
1: getstatic io.netty.handler.ssl.OpenSslKeyMaterialManager.KEY_TYPES:Ljava/util/Map;
ldc "RSA"
ldc "RSA"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: getstatic io.netty.handler.ssl.OpenSslKeyMaterialManager.KEY_TYPES:Ljava/util/Map;
ldc "DHE_RSA"
ldc "RSA"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: getstatic io.netty.handler.ssl.OpenSslKeyMaterialManager.KEY_TYPES:Ljava/util/Map;
ldc "ECDHE_RSA"
ldc "RSA"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: getstatic io.netty.handler.ssl.OpenSslKeyMaterialManager.KEY_TYPES:Ljava/util/Map;
ldc "ECDHE_ECDSA"
ldc "EC"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic io.netty.handler.ssl.OpenSslKeyMaterialManager.KEY_TYPES:Ljava/util/Map;
ldc "ECDH_RSA"
ldc "EC_RSA"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: getstatic io.netty.handler.ssl.OpenSslKeyMaterialManager.KEY_TYPES:Ljava/util/Map;
ldc "ECDH_ECDSA"
ldc "EC_EC"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: getstatic io.netty.handler.ssl.OpenSslKeyMaterialManager.KEY_TYPES:Ljava/util/Map;
ldc "DH_RSA"
ldc "DH_RSA"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(javax.net.ssl.X509KeyManager, java.lang.String);
descriptor: (Ljavax/net/ssl/X509KeyManager;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.netty.handler.ssl.OpenSslKeyMaterialManager.keyManager:Ljavax/net/ssl/X509KeyManager;
2: aload 0
aload 2
putfield io.netty.handler.ssl.OpenSslKeyMaterialManager.password:Ljava/lang/String;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/ssl/OpenSslKeyMaterialManager;
0 4 1 keyManager Ljavax/net/ssl/X509KeyManager;
0 4 2 password Ljava/lang/String;
MethodParameters:
Name Flags
keyManager
password
void setKeyMaterial(io.netty.handler.ssl.ReferenceCountedOpenSslEngine);
descriptor: (Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;)V
flags: (0x0000)
Code:
stack=4, locals=12, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.netty.handler.ssl.ReferenceCountedOpenSslEngine.sslPointer:()J
lstore 2
start local 2 1: lload 2
invokestatic io.netty.internal.tcnative.SSL.authenticationMethods:(J)[Ljava/lang/String;
astore 4
start local 4 2: new java.util.HashSet
dup
aload 4
arraylength
invokespecial java.util.HashSet.<init>:(I)V
astore 5
start local 5 3: aload 4
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 11
StackMap locals: io.netty.handler.ssl.OpenSslKeyMaterialManager io.netty.handler.ssl.ReferenceCountedOpenSslEngine long java.lang.String[] java.util.Set top int int java.lang.String[]
StackMap stack:
4: aload 9
iload 7
aaload
astore 6
start local 6 5: getstatic io.netty.handler.ssl.OpenSslKeyMaterialManager.KEY_TYPES:Ljava/util/Map;
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 6: aload 10
ifnull 10
7: aload 0
aload 1
aload 10
invokevirtual io.netty.handler.ssl.OpenSslKeyMaterialManager.chooseServerAlias:(Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;Ljava/lang/String;)Ljava/lang/String;
astore 11
start local 11 8: aload 11
ifnull 10
aload 5
aload 11
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 10
9: aload 0
lload 2
aload 11
invokevirtual io.netty.handler.ssl.OpenSslKeyMaterialManager.setKeyMaterial:(JLjava/lang/String;)V
end local 11 end local 10 end local 6 10: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
11: iload 7
iload 8
if_icmplt 4
12: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/netty/handler/ssl/OpenSslKeyMaterialManager;
0 13 1 engine Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;
1 13 2 ssl J
2 13 4 authMethods [Ljava/lang/String;
3 13 5 aliases Ljava/util/Set<Ljava/lang/String;>;
5 10 6 authMethod Ljava/lang/String;
6 10 10 type Ljava/lang/String;
8 10 11 alias Ljava/lang/String;
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
engine
io.netty.internal.tcnative.CertificateRequestedCallback$KeyMaterial keyMaterial(io.netty.handler.ssl.ReferenceCountedOpenSslEngine, java.lang.String[], javax.security.auth.x500.X500Principal[]);
descriptor: (Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;[Ljava/lang/String;[Ljavax/security/auth/x500/X500Principal;)Lio/netty/internal/tcnative/CertificateRequestedCallback$KeyMaterial;
flags: (0x0000)
Code:
stack=6, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual io.netty.handler.ssl.OpenSslKeyMaterialManager.chooseClientAlias:(Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;[Ljava/lang/String;[Ljavax/security/auth/x500/X500Principal;)Ljava/lang/String;
astore 4
start local 4 1: lconst_0
lstore 5
start local 5 2: lconst_0
lstore 7
start local 7 3: lconst_0
lstore 9
start local 9 4: lconst_0
lstore 11
start local 11 5: aload 0
getfield io.netty.handler.ssl.OpenSslKeyMaterialManager.keyManager:Ljavax/net/ssl/X509KeyManager;
aload 4
invokeinterface javax.net.ssl.X509KeyManager.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;
astore 13
start local 13 6: aload 13
ifnull 7
aload 13
arraylength
ifne 12
7: StackMap locals: io.netty.handler.ssl.OpenSslKeyMaterialManager io.netty.handler.ssl.ReferenceCountedOpenSslEngine java.lang.String[] javax.security.auth.x500.X500Principal[] java.lang.String long long long long java.security.cert.X509Certificate[]
StackMap stack:
lload 5
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
8: lload 7
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
9: lload 9
invokestatic io.netty.internal.tcnative.SSL.freePrivateKey:(J)V
10: lload 11
invokestatic io.netty.internal.tcnative.SSL.freeX509Chain:(J)V
11: aconst_null
areturn
12: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.OpenSslKeyMaterialManager.keyManager:Ljavax/net/ssl/X509KeyManager;
aload 4
invokeinterface javax.net.ssl.X509KeyManager.getPrivateKey:(Ljava/lang/String;)Ljava/security/PrivateKey;
astore 14
start local 14 13: aload 13
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.toBIO:([Ljava/security/cert/X509Certificate;)J
lstore 7
14: lload 7
invokestatic io.netty.internal.tcnative.SSL.parseX509Chain:(J)J
lstore 11
15: aload 14
ifnull 18
16: aload 14
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.toBIO:(Ljava/security/PrivateKey;)J
lstore 5
17: lload 5
aload 0
getfield io.netty.handler.ssl.OpenSslKeyMaterialManager.password:Ljava/lang/String;
invokestatic io.netty.internal.tcnative.SSL.parsePrivateKey:(JLjava/lang/String;)J
lstore 9
18: StackMap locals: java.security.PrivateKey
StackMap stack:
new io.netty.internal.tcnative.CertificateRequestedCallback$KeyMaterial
dup
19: lload 11
lload 9
20: invokespecial io.netty.internal.tcnative.CertificateRequestedCallback$KeyMaterial.<init>:(JJ)V
astore 15
start local 15 21: lconst_0
dup2
lstore 9
lstore 11
22: aload 15
astore 17
23: lload 5
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
24: lload 7
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
25: lload 9
invokestatic io.netty.internal.tcnative.SSL.freePrivateKey:(J)V
26: lload 11
invokestatic io.netty.internal.tcnative.SSL.freeX509Chain:(J)V
27: aload 17
areturn
end local 15 end local 14 end local 13 28: StackMap locals: io.netty.handler.ssl.OpenSslKeyMaterialManager io.netty.handler.ssl.ReferenceCountedOpenSslEngine java.lang.String[] javax.security.auth.x500.X500Principal[] java.lang.String long long long long
StackMap stack: javax.net.ssl.SSLException
astore 13
start local 13 29: aload 13
athrow
end local 13 30: StackMap locals:
StackMap stack: java.lang.Exception
astore 13
start local 13 31: new javax.net.ssl.SSLException
dup
aload 13
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 13 32: StackMap locals:
StackMap stack: java.lang.Throwable
astore 16
33: lload 5
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
34: lload 7
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
35: lload 9
invokestatic io.netty.internal.tcnative.SSL.freePrivateKey:(J)V
36: lload 11
invokestatic io.netty.internal.tcnative.SSL.freeX509Chain:(J)V
37: aload 16
athrow
end local 11 end local 9 end local 7 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 38 0 this Lio/netty/handler/ssl/OpenSslKeyMaterialManager;
0 38 1 engine Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;
0 38 2 keyTypes [Ljava/lang/String;
0 38 3 issuer [Ljavax/security/auth/x500/X500Principal;
1 38 4 alias Ljava/lang/String;
2 38 5 keyBio J
3 38 7 keyCertChainBio J
4 38 9 pkey J
5 38 11 certChain J
6 28 13 certificates [Ljava/security/cert/X509Certificate;
13 28 14 key Ljava/security/PrivateKey;
21 28 15 material Lio/netty/internal/tcnative/CertificateRequestedCallback$KeyMaterial;
29 30 13 e Ljavax/net/ssl/SSLException;
31 32 13 e Ljava/lang/Exception;
Exception table:
from to target type
5 7 28 Class javax.net.ssl.SSLException
12 23 28 Class javax.net.ssl.SSLException
5 7 30 Class java.lang.Exception
12 23 30 Class java.lang.Exception
5 7 32 any
12 23 32 any
28 32 32 any
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
engine
keyTypes
issuer
private void setKeyMaterial(long, java.lang.String);
descriptor: (JLjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=15, args_size=3
start local 0 start local 1 start local 3 0: lconst_0
lstore 4
start local 4 1: lconst_0
lstore 6
start local 6 2: lconst_0
lstore 8
start local 8 3: aload 0
getfield io.netty.handler.ssl.OpenSslKeyMaterialManager.keyManager:Ljavax/net/ssl/X509KeyManager;
aload 3
invokeinterface javax.net.ssl.X509KeyManager.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;
astore 10
start local 10 4: aload 10
ifnull 5
aload 10
arraylength
ifne 9
5: StackMap locals: io.netty.handler.ssl.OpenSslKeyMaterialManager long java.lang.String long long long java.security.cert.X509Certificate[]
StackMap stack:
lload 4
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
6: lload 6
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
7: lload 8
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
8: return
9: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.OpenSslKeyMaterialManager.keyManager:Ljavax/net/ssl/X509KeyManager;
aload 3
invokeinterface javax.net.ssl.X509KeyManager.getPrivateKey:(Ljava/lang/String;)Ljava/security/PrivateKey;
astore 11
start local 11 10: getstatic io.netty.buffer.ByteBufAllocator.DEFAULT:Lio/netty/buffer/ByteBufAllocator;
iconst_1
aload 10
invokestatic io.netty.handler.ssl.PemX509Certificate.toPEM:(Lio/netty/buffer/ByteBufAllocator;Z[Ljava/security/cert/X509Certificate;)Lio/netty/handler/ssl/PemEncoded;
astore 12
start local 12 11: getstatic io.netty.buffer.ByteBufAllocator.DEFAULT:Lio/netty/buffer/ByteBufAllocator;
aload 12
invokeinterface io.netty.handler.ssl.PemEncoded.retain:()Lio/netty/handler/ssl/PemEncoded;
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.toBIO:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/ssl/PemEncoded;)J
lstore 6
12: getstatic io.netty.buffer.ByteBufAllocator.DEFAULT:Lio/netty/buffer/ByteBufAllocator;
aload 12
invokeinterface io.netty.handler.ssl.PemEncoded.retain:()Lio/netty/handler/ssl/PemEncoded;
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.toBIO:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/handler/ssl/PemEncoded;)J
lstore 8
13: aload 11
ifnull 15
14: aload 11
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.toBIO:(Ljava/security/PrivateKey;)J
lstore 4
15: StackMap locals: java.security.PrivateKey io.netty.handler.ssl.PemEncoded
StackMap stack:
lload 1
lload 6
lload 4
aload 0
getfield io.netty.handler.ssl.OpenSslKeyMaterialManager.password:Ljava/lang/String;
invokestatic io.netty.internal.tcnative.SSL.setCertificateBio:(JJJLjava/lang/String;)V
16: lload 1
lload 8
iconst_1
invokestatic io.netty.internal.tcnative.SSL.setCertificateChainBio:(JJZ)V
17: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 13
19: aload 12
invokeinterface io.netty.handler.ssl.PemEncoded.release:()Z
pop
20: aload 13
athrow
21: StackMap locals:
StackMap stack:
aload 12
invokeinterface io.netty.handler.ssl.PemEncoded.release:()Z
pop
end local 12 end local 11 end local 10 22: goto 32
StackMap locals: io.netty.handler.ssl.OpenSslKeyMaterialManager long java.lang.String long long long
StackMap stack: javax.net.ssl.SSLException
23: astore 10
start local 10 24: aload 10
athrow
end local 10 25: StackMap locals:
StackMap stack: java.lang.Exception
astore 10
start local 10 26: new javax.net.ssl.SSLException
dup
aload 10
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 10 27: StackMap locals:
StackMap stack: java.lang.Throwable
astore 14
28: lload 4
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
29: lload 6
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
30: lload 8
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
31: aload 14
athrow
32: StackMap locals:
StackMap stack:
lload 4
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
33: lload 6
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
34: lload 8
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.freeBio:(J)V
35: return
end local 8 end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lio/netty/handler/ssl/OpenSslKeyMaterialManager;
0 36 1 ssl J
0 36 3 alias Ljava/lang/String;
1 36 4 keyBio J
2 36 6 keyCertChainBio J
3 36 8 keyCertChainBio2 J
4 22 10 certificates [Ljava/security/cert/X509Certificate;
10 22 11 key Ljava/security/PrivateKey;
11 22 12 encoded Lio/netty/handler/ssl/PemEncoded;
24 25 10 e Ljavax/net/ssl/SSLException;
26 27 10 e Ljava/lang/Exception;
Exception table:
from to target type
11 18 18 any
3 5 23 Class javax.net.ssl.SSLException
9 22 23 Class javax.net.ssl.SSLException
3 5 25 Class java.lang.Exception
9 22 25 Class java.lang.Exception
3 5 27 any
9 27 27 any
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
ssl
alias
protected java.lang.String chooseClientAlias(io.netty.handler.ssl.ReferenceCountedOpenSslEngine, java.lang.String[], javax.security.auth.x500.X500Principal[]);
descriptor: (Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;[Ljava/lang/String;[Ljavax/security/auth/x500/X500Principal;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.netty.handler.ssl.OpenSslKeyMaterialManager.keyManager:Ljavax/net/ssl/X509KeyManager;
aload 2
aload 3
aconst_null
invokeinterface javax.net.ssl.X509KeyManager.chooseClientAlias:([Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/OpenSslKeyMaterialManager;
0 1 1 engine Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;
0 1 2 keyTypes [Ljava/lang/String;
0 1 3 issuer [Ljavax/security/auth/x500/X500Principal;
MethodParameters:
Name Flags
engine
keyTypes
issuer
protected java.lang.String chooseServerAlias(io.netty.handler.ssl.ReferenceCountedOpenSslEngine, java.lang.String);
descriptor: (Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.netty.handler.ssl.OpenSslKeyMaterialManager.keyManager:Ljavax/net/ssl/X509KeyManager;
aload 2
aconst_null
aconst_null
invokeinterface javax.net.ssl.X509KeyManager.chooseServerAlias:(Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/OpenSslKeyMaterialManager;
0 1 1 engine Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;
0 1 2 type Ljava/lang/String;
MethodParameters:
Name Flags
engine
type
}
SourceFile: "OpenSslKeyMaterialManager.java"
InnerClasses:
public KeyMaterial = io.netty.internal.tcnative.CertificateRequestedCallback$KeyMaterial of io.netty.internal.tcnative.CertificateRequestedCallback