public class sun.security.tools.jarsigner.SignatureFile$Block
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.tools.jarsigner.SignatureFile$Block
super_class: java.lang.Object
{
private byte[] block;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private java.lang.String blockFileName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
void <init>(sun.security.tools.jarsigner.SignatureFile, java.security.PrivateKey, java.lang.String, java.security.cert.X509Certificate[], boolean, java.lang.String, java.security.cert.X509Certificate, java.lang.String, java.lang.String, com.sun.jarsigner.ContentSigner, java.lang.String[], java.util.zip.ZipFile);
descriptor: (Lsun/security/tools/jarsigner/SignatureFile;Ljava/security/PrivateKey;Ljava/lang/String;[Ljava/security/cert/X509Certificate;ZLjava/lang/String;Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;Lcom/sun/jarsigner/ContentSigner;[Ljava/lang/String;Ljava/util/zip/ZipFile;)V
flags: (0x0000)
Code:
stack=12, locals=23, args_size=13
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 4
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
astore 13
start local 13 2: aload 13
instanceof sun.security.x509.X500Name
ifne 7
3: new sun.security.x509.X509CertInfo
dup
aload 4
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getTBSCertificate:()[B
4: invokespecial sun.security.x509.X509CertInfo.<init>:([B)V
astore 14
start local 14 5: aload 14
ldc "issuer.dname"
invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
6: checkcast java.security.Principal
astore 13
end local 14 7: StackMap locals: sun.security.tools.jarsigner.SignatureFile$Block sun.security.tools.jarsigner.SignatureFile java.security.PrivateKey java.lang.String java.security.cert.X509Certificate[] int java.lang.String java.security.cert.X509Certificate java.lang.String java.lang.String com.sun.jarsigner.ContentSigner java.lang.String[] java.util.zip.ZipFile java.security.Principal
StackMap stack:
aload 4
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
pop
8: aload 2
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
astore 15
start local 15 9: aload 3
ifnonnull 20
10: aload 15
ldc "DSA"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 13
11: ldc "SHA256withDSA"
astore 14
start local 14 12: goto 21
end local 14 13: StackMap locals: sun.security.tools.jarsigner.SignatureFile$Block sun.security.tools.jarsigner.SignatureFile java.security.PrivateKey java.lang.String java.security.cert.X509Certificate[] int java.lang.String java.security.cert.X509Certificate java.lang.String java.lang.String com.sun.jarsigner.ContentSigner java.lang.String[] java.util.zip.ZipFile java.security.Principal top java.lang.String
StackMap stack:
aload 15
ldc "RSA"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 16
14: ldc "SHA256withRSA"
astore 14
start local 14 15: goto 21
end local 14 16: StackMap locals:
StackMap stack:
aload 15
ldc "EC"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 19
17: ldc "SHA256withECDSA"
astore 14
start local 14 18: goto 21
end local 14 19: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "private key is not a DSA or RSA key"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 3
astore 14
start local 14 21: StackMap locals: sun.security.tools.jarsigner.SignatureFile$Block sun.security.tools.jarsigner.SignatureFile java.security.PrivateKey java.lang.String java.security.cert.X509Certificate[] int java.lang.String java.security.cert.X509Certificate java.lang.String java.lang.String com.sun.jarsigner.ContentSigner java.lang.String[] java.util.zip.ZipFile java.security.Principal java.lang.String java.lang.String
StackMap stack:
aload 14
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 16
start local 16 22: aload 16
ldc "WITHRSA"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 24
23: aload 15
ldc "RSA"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 28
24: StackMap locals: java.lang.String
StackMap stack:
aload 16
ldc "WITHECDSA"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 26
25: aload 15
ldc "EC"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 28
26: StackMap locals:
StackMap stack:
aload 16
ldc "WITHDSA"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 31
27: aload 15
ldc "DSA"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 31
28: StackMap locals:
StackMap stack:
new java.security.SignatureException
dup
29: ldc "private key algorithm is not compatible with signature algorithm"
30: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "META-INF/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual sun.security.tools.jarsigner.SignatureFile.getBaseName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield sun.security.tools.jarsigner.SignatureFile$Block.blockFileName:Ljava/lang/String;
32: aload 14
invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
pop
33: aload 15
invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
pop
34: aload 14
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
astore 17
start local 17 35: aload 17
aload 2
invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
36: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 18
start local 18 37: aload 1
aload 18
invokevirtual sun.security.tools.jarsigner.SignatureFile.write:(Ljava/io/OutputStream;)V
38: aload 18
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 19
start local 19 39: aload 17
aload 19
invokevirtual java.security.Signature.update:([B)V
40: aload 17
invokevirtual java.security.Signature.sign:()[B
astore 20
start local 20 41: aload 10
ifnonnull 43
42: new sun.security.tools.jarsigner.TimestampedSigner
dup
invokespecial sun.security.tools.jarsigner.TimestampedSigner.<init>:()V
astore 10
43: StackMap locals: sun.security.tools.jarsigner.SignatureFile$Block sun.security.tools.jarsigner.SignatureFile java.security.PrivateKey java.lang.String java.security.cert.X509Certificate[] int java.lang.String java.security.cert.X509Certificate java.lang.String java.lang.String com.sun.jarsigner.ContentSigner java.lang.String[] java.util.zip.ZipFile java.security.Principal java.lang.String java.lang.String java.lang.String java.security.Signature java.io.ByteArrayOutputStream byte[] byte[]
StackMap stack:
aconst_null
astore 21
start local 21 44: aload 6
ifnull 49
45: new java.net.URI
dup
aload 6
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
astore 21
46: goto 49
StackMap locals: sun.security.tools.jarsigner.SignatureFile$Block sun.security.tools.jarsigner.SignatureFile java.security.PrivateKey java.lang.String java.security.cert.X509Certificate[] int java.lang.String java.security.cert.X509Certificate java.lang.String java.lang.String com.sun.jarsigner.ContentSigner java.lang.String[] java.util.zip.ZipFile java.security.Principal java.lang.String java.lang.String java.lang.String java.security.Signature java.io.ByteArrayOutputStream byte[] byte[] java.net.URI
StackMap stack: java.net.URISyntaxException
47: astore 22
start local 22 48: new java.io.IOException
dup
aload 22
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 22 49: StackMap locals:
StackMap stack:
new sun.security.tools.jarsigner.JarSignerParameters
dup
aload 11
aload 21
aload 7
aload 8
50: aload 9
aload 20
51: aload 14
aload 4
aload 19
aload 12
52: invokespecial sun.security.tools.jarsigner.JarSignerParameters.<init>:([Ljava/lang/String;Ljava/net/URI;Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;[BLjava/lang/String;[Ljava/security/cert/X509Certificate;[BLjava/util/zip/ZipFile;)V
53: astore 22
start local 22 54: aload 0
aload 10
55: aload 22
iload 5
aload 6
ifnonnull 56
aload 7
ifnonnull 56
iconst_0
goto 57
StackMap locals: sun.security.tools.jarsigner.SignatureFile$Block sun.security.tools.jarsigner.SignatureFile java.security.PrivateKey java.lang.String java.security.cert.X509Certificate[] int java.lang.String java.security.cert.X509Certificate java.lang.String java.lang.String com.sun.jarsigner.ContentSigner java.lang.String[] java.util.zip.ZipFile java.security.Principal java.lang.String java.lang.String java.lang.String java.security.Signature java.io.ByteArrayOutputStream byte[] byte[] java.net.URI com.sun.jarsigner.ContentSignerParameters
StackMap stack: sun.security.tools.jarsigner.SignatureFile$Block com.sun.jarsigner.ContentSigner com.sun.jarsigner.ContentSignerParameters int
56: iconst_1
57: StackMap locals: sun.security.tools.jarsigner.SignatureFile$Block sun.security.tools.jarsigner.SignatureFile java.security.PrivateKey java.lang.String java.security.cert.X509Certificate[] int java.lang.String java.security.cert.X509Certificate java.lang.String java.lang.String com.sun.jarsigner.ContentSigner java.lang.String[] java.util.zip.ZipFile java.security.Principal java.lang.String java.lang.String java.lang.String java.security.Signature java.io.ByteArrayOutputStream byte[] byte[] java.net.URI com.sun.jarsigner.ContentSignerParameters
StackMap stack: sun.security.tools.jarsigner.SignatureFile$Block com.sun.jarsigner.ContentSigner com.sun.jarsigner.ContentSignerParameters int int
invokevirtual com.sun.jarsigner.ContentSigner.generateSignedData:(Lcom/sun/jarsigner/ContentSignerParameters;ZZ)[B
putfield sun.security.tools.jarsigner.SignatureFile$Block.block:[B
58: return
end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 59 0 this Lsun/security/tools/jarsigner/SignatureFile$Block;
0 59 1 sfg Lsun/security/tools/jarsigner/SignatureFile;
0 59 2 privateKey Ljava/security/PrivateKey;
0 59 3 sigalg Ljava/lang/String;
0 59 4 certChain [Ljava/security/cert/X509Certificate;
0 59 5 externalSF Z
0 59 6 tsaUrl Ljava/lang/String;
0 59 7 tsaCert Ljava/security/cert/X509Certificate;
0 59 8 tSAPolicyID Ljava/lang/String;
0 59 9 tSADigestAlg Ljava/lang/String;
0 59 10 signingMechanism Lcom/sun/jarsigner/ContentSigner;
0 59 11 args [Ljava/lang/String;
0 59 12 zipFile Ljava/util/zip/ZipFile;
2 59 13 issuerName Ljava/security/Principal;
5 7 14 tbsCert Lsun/security/x509/X509CertInfo;
12 13 14 signatureAlgorithm Ljava/lang/String;
15 16 14 signatureAlgorithm Ljava/lang/String;
18 19 14 signatureAlgorithm Ljava/lang/String;
21 59 14 signatureAlgorithm Ljava/lang/String;
9 59 15 keyAlgorithm Ljava/lang/String;
22 59 16 sigAlgUpperCase Ljava/lang/String;
35 59 17 sig Ljava/security/Signature;
37 59 18 baos Ljava/io/ByteArrayOutputStream;
39 59 19 content [B
41 59 20 signature [B
44 59 21 tsaUri Ljava/net/URI;
48 49 22 e Ljava/net/URISyntaxException;
54 59 22 params Lcom/sun/jarsigner/ContentSignerParameters;
Exception table:
from to target type
44 46 47 Class java.net.URISyntaxException
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.io.IOException, java.security.SignatureException, java.security.cert.CertificateException
MethodParameters:
Name Flags
sfg
privateKey
sigalg
certChain
externalSF
tsaUrl
tsaCert
tSAPolicyID
tSADigestAlg
signingMechanism
args
zipFile
public java.lang.String getMetaName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.tools.jarsigner.SignatureFile$Block.blockFileName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/tools/jarsigner/SignatureFile$Block;
public void write(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield sun.security.tools.jarsigner.SignatureFile$Block.block:[B
invokevirtual java.io.OutputStream.write:([B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/tools/jarsigner/SignatureFile$Block;
0 2 1 out Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
}
SourceFile: "Main.java"
NestHost: sun.security.tools.jarsigner.SignatureFile
InnerClasses:
public Block = sun.security.tools.jarsigner.SignatureFile$Block of sun.security.tools.jarsigner.SignatureFile