final class sun.security.ssl.CertificateVerify$T10CertificateVerifyProducer implements sun.security.ssl.HandshakeProducer
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.CertificateVerify$T10CertificateVerifyProducer
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.security.ssl.CertificateVerify$T10CertificateVerifyProducer this
0: .line 485
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 487
return
end local 0 // sun.security.ssl.CertificateVerify$T10CertificateVerifyProducer this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/CertificateVerify$T10CertificateVerifyProducer;
public byte[] produce(sun.security.ssl.ConnectionContext, sun.security.ssl.SSLHandshake$HandshakeMessage);
descriptor: (Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 // sun.security.ssl.CertificateVerify$T10CertificateVerifyProducer this
start local 1 // sun.security.ssl.ConnectionContext context
start local 2 // sun.security.ssl.SSLHandshake$HandshakeMessage message
0: .line 493
aload 1 /* context */
checkcast sun.security.ssl.ClientHandshakeContext
astore 3 /* chc */
start local 3 // sun.security.ssl.ClientHandshakeContext chc
1: .line 494
aconst_null
astore 4 /* x509Possession */
start local 4 // sun.security.ssl.X509Authentication$X509Possession x509Possession
2: .line 495
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.handshakePossessions:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 7
StackMap locals: sun.security.ssl.CertificateVerify$T10CertificateVerifyProducer sun.security.ssl.ConnectionContext sun.security.ssl.SSLHandshake$HandshakeMessage sun.security.ssl.ClientHandshakeContext sun.security.ssl.X509Authentication$X509Possession top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.SSLPossession
astore 5 /* possession */
start local 5 // sun.security.ssl.SSLPossession possession
4: .line 496
aload 5 /* possession */
instanceof sun.security.ssl.X509Authentication$X509Possession
ifeq 7
5: .line 497
aload 5 /* possession */
checkcast sun.security.ssl.X509Authentication$X509Possession
astore 4 /* x509Possession */
6: .line 498
goto 8
end local 5 // sun.security.ssl.SSLPossession possession
7: .line 495
StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: .line 502
StackMap locals: sun.security.ssl.CertificateVerify$T10CertificateVerifyProducer sun.security.ssl.ConnectionContext sun.security.ssl.SSLHandshake$HandshakeMessage sun.security.ssl.ClientHandshakeContext sun.security.ssl.X509Authentication$X509Possession
StackMap stack:
aload 4 /* x509Possession */
ifnull 10
9: .line 503
aload 4 /* x509Possession */
getfield sun.security.ssl.X509Authentication$X509Possession.popPrivateKey:Ljava/security/PrivateKey;
ifnonnull 14
10: .line 504
StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 13
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 13
11: .line 506
ldc "No X.509 credentials negotiated for CertificateVerify"
iconst_0
anewarray java.lang.Object
12: .line 505
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
13: .line 509
StackMap locals:
StackMap stack:
aconst_null
areturn
14: .line 513
StackMap locals:
StackMap stack:
new sun.security.ssl.CertificateVerify$T10CertificateVerifyMessage
dup
aload 3 /* chc */
aload 4 /* x509Possession */
invokespecial sun.security.ssl.CertificateVerify$T10CertificateVerifyMessage.<init>:(Lsun/security/ssl/HandshakeContext;Lsun/security/ssl/X509Authentication$X509Possession;)V
15: .line 512
astore 5 /* cvm */
start local 5 // sun.security.ssl.CertificateVerify$T10CertificateVerifyMessage cvm
16: .line 514
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 19
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 19
17: .line 516
ldc "Produced CertificateVerify handshake message"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5 /* cvm */
aastore
18: .line 515
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
19: .line 520
StackMap locals: sun.security.ssl.CertificateVerify$T10CertificateVerifyMessage
StackMap stack:
aload 5 /* cvm */
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.handshakeOutput:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.CertificateVerify$T10CertificateVerifyMessage.write:(Lsun/security/ssl/HandshakeOutStream;)V
20: .line 521
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.handshakeOutput:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.HandshakeOutStream.flush:()V
21: .line 524
aconst_null
areturn
end local 5 // sun.security.ssl.CertificateVerify$T10CertificateVerifyMessage cvm
end local 4 // sun.security.ssl.X509Authentication$X509Possession x509Possession
end local 3 // sun.security.ssl.ClientHandshakeContext chc
end local 2 // sun.security.ssl.SSLHandshake$HandshakeMessage message
end local 1 // sun.security.ssl.ConnectionContext context
end local 0 // sun.security.ssl.CertificateVerify$T10CertificateVerifyProducer this
LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/security/ssl/CertificateVerify$T10CertificateVerifyProducer;
0 22 1 context Lsun/security/ssl/ConnectionContext;
0 22 2 message Lsun/security/ssl/SSLHandshake$HandshakeMessage;
1 22 3 chc Lsun/security/ssl/ClientHandshakeContext;
2 22 4 x509Possession Lsun/security/ssl/X509Authentication$X509Possession;
4 7 5 possession Lsun/security/ssl/SSLPossession;
16 22 5 cvm Lsun/security/ssl/CertificateVerify$T10CertificateVerifyMessage;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
message
}
SourceFile: "CertificateVerify.java"
NestHost: sun.security.ssl.CertificateVerify
InnerClasses:
final T10CertificateVerifyMessage = sun.security.ssl.CertificateVerify$T10CertificateVerifyMessage of sun.security.ssl.CertificateVerify
private final T10CertificateVerifyProducer = sun.security.ssl.CertificateVerify$T10CertificateVerifyProducer of sun.security.ssl.CertificateVerify
abstract HandshakeMessage = sun.security.ssl.SSLHandshake$HandshakeMessage of sun.security.ssl.SSLHandshake
final X509Possession = sun.security.ssl.X509Authentication$X509Possession of sun.security.ssl.X509Authentication