final class sun.security.ssl.CertificateRequest$T12CertificateRequestProducer implements sun.security.ssl.HandshakeProducer
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.CertificateRequest$T12CertificateRequestProducer
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.CertificateRequest$T12CertificateRequestProducer this
0: .line 592
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 594
return
end local 0 // sun.security.ssl.CertificateRequest$T12CertificateRequestProducer this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/CertificateRequest$T12CertificateRequestProducer;
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=6, locals=6, args_size=3
start local 0 // sun.security.ssl.CertificateRequest$T12CertificateRequestProducer this
start local 1 // sun.security.ssl.ConnectionContext context
start local 2 // sun.security.ssl.SSLHandshake$HandshakeMessage message
0: .line 600
aload 1 /* context */
checkcast sun.security.ssl.ServerHandshakeContext
astore 3 /* shc */
start local 3 // sun.security.ssl.ServerHandshakeContext shc
1: .line 601
aload 3 /* shc */
getfield sun.security.ssl.ServerHandshakeContext.localSupportedSignAlgs:Ljava/util/List;
ifnonnull 6
2: .line 602
aload 3 /* shc */
3: .line 604
aload 3 /* shc */
getfield sun.security.ssl.ServerHandshakeContext.algorithmConstraints:Ljava/security/AlgorithmConstraints;
aload 3 /* shc */
getfield sun.security.ssl.ServerHandshakeContext.activeProtocols:Ljava/util/List;
4: .line 603
invokestatic sun.security.ssl.SignatureScheme.getSupportedAlgorithms:(Ljava/security/AlgorithmConstraints;Ljava/util/List;)Ljava/util/List;
5: .line 602
putfield sun.security.ssl.ServerHandshakeContext.localSupportedSignAlgs:Ljava/util/List;
6: .line 607
StackMap locals: sun.security.ssl.ServerHandshakeContext
StackMap stack:
aload 3 /* shc */
getfield sun.security.ssl.ServerHandshakeContext.localSupportedSignAlgs:Ljava/util/List;
ifnull 8
7: .line 608
aload 3 /* shc */
getfield sun.security.ssl.ServerHandshakeContext.localSupportedSignAlgs:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 11
8: .line 609
StackMap locals:
StackMap stack:
aload 3 /* shc */
getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
9: .line 610
ldc "No supported signature algorithm"
10: .line 609
invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
11: .line 614
StackMap locals:
StackMap stack:
aload 3 /* shc */
getfield sun.security.ssl.ServerHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getX509TrustManager:()Ljavax/net/ssl/X509TrustManager;
invokeinterface javax.net.ssl.X509TrustManager.getAcceptedIssuers:()[Ljava/security/cert/X509Certificate;
12: .line 613
astore 4 /* caCerts */
start local 4 // java.security.cert.X509Certificate[] caCerts
13: .line 615
new sun.security.ssl.CertificateRequest$T12CertificateRequestMessage
dup
14: .line 616
aload 3 /* shc */
aload 4 /* caCerts */
aload 3 /* shc */
getfield sun.security.ssl.ServerHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
15: .line 617
aload 3 /* shc */
getfield sun.security.ssl.ServerHandshakeContext.localSupportedSignAlgs:Ljava/util/List;
16: .line 615
invokespecial sun.security.ssl.CertificateRequest$T12CertificateRequestMessage.<init>:(Lsun/security/ssl/HandshakeContext;[Ljava/security/cert/X509Certificate;Lsun/security/ssl/CipherSuite$KeyExchange;Ljava/util/List;)V
astore 5 /* crm */
start local 5 // sun.security.ssl.CertificateRequest$T12CertificateRequestMessage crm
17: .line 618
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 20
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 20
18: .line 620
ldc "Produced CertificateRequest handshake message"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5 /* crm */
aastore
19: .line 619
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
20: .line 624
StackMap locals: java.security.cert.X509Certificate[] sun.security.ssl.CertificateRequest$T12CertificateRequestMessage
StackMap stack:
aload 5 /* crm */
aload 3 /* shc */
getfield sun.security.ssl.ServerHandshakeContext.handshakeOutput:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.CertificateRequest$T12CertificateRequestMessage.write:(Lsun/security/ssl/HandshakeOutStream;)V
21: .line 625
aload 3 /* shc */
getfield sun.security.ssl.ServerHandshakeContext.handshakeOutput:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.HandshakeOutStream.flush:()V
22: .line 630
aload 3 /* shc */
getfield sun.security.ssl.ServerHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
getstatic sun.security.ssl.SSLHandshake.CERTIFICATE:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
23: .line 631
getstatic sun.security.ssl.SSLHandshake.CERTIFICATE:Lsun/security/ssl/SSLHandshake;
24: .line 630
invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
25: .line 632
aload 3 /* shc */
getfield sun.security.ssl.ServerHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
getstatic sun.security.ssl.SSLHandshake.CERTIFICATE_VERIFY:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
26: .line 633
getstatic sun.security.ssl.SSLHandshake.CERTIFICATE_VERIFY:Lsun/security/ssl/SSLHandshake;
27: .line 632
invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
28: .line 636
aconst_null
areturn
end local 5 // sun.security.ssl.CertificateRequest$T12CertificateRequestMessage crm
end local 4 // java.security.cert.X509Certificate[] caCerts
end local 3 // sun.security.ssl.ServerHandshakeContext shc
end local 2 // sun.security.ssl.SSLHandshake$HandshakeMessage message
end local 1 // sun.security.ssl.ConnectionContext context
end local 0 // sun.security.ssl.CertificateRequest$T12CertificateRequestProducer this
LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/security/ssl/CertificateRequest$T12CertificateRequestProducer;
0 29 1 context Lsun/security/ssl/ConnectionContext;
0 29 2 message Lsun/security/ssl/SSLHandshake$HandshakeMessage;
1 29 3 shc Lsun/security/ssl/ServerHandshakeContext;
13 29 4 caCerts [Ljava/security/cert/X509Certificate;
17 29 5 crm Lsun/security/ssl/CertificateRequest$T12CertificateRequestMessage;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
message
}
SourceFile: "CertificateRequest.java"
NestHost: sun.security.ssl.CertificateRequest
InnerClasses:
final T12CertificateRequestMessage = sun.security.ssl.CertificateRequest$T12CertificateRequestMessage of sun.security.ssl.CertificateRequest
private final T12CertificateRequestProducer = sun.security.ssl.CertificateRequest$T12CertificateRequestProducer of sun.security.ssl.CertificateRequest
final KeyExchange = sun.security.ssl.CipherSuite$KeyExchange of sun.security.ssl.CipherSuite
abstract HandshakeMessage = sun.security.ssl.SSLHandshake$HandshakeMessage of sun.security.ssl.SSLHandshake