class jdk.security.jarsigner.JarSigner$SignatureFile
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.security.jarsigner.JarSigner$SignatureFile
super_class: java.lang.Object
{
java.util.jar.Manifest sf;
descriptor: Ljava/util/jar/Manifest;
flags: (0x0000)
java.lang.String baseName;
descriptor: Ljava/lang/String;
flags: (0x0000)
public void <init>(java.security.MessageDigest[], java.util.jar.Manifest, sun.security.util.ManifestDigester, java.lang.String, boolean);
descriptor: ([Ljava/security/MessageDigest;Ljava/util/jar/Manifest;Lsun/security/util/ManifestDigester;Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=18, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 4
putfield jdk.security.jarsigner.JarSigner$SignatureFile.baseName:Ljava/lang/String;
2: ldc "java.version"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 3: ldc "java.vendor"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 4: aload 0
new java.util.jar.Manifest
dup
invokespecial java.util.jar.Manifest.<init>:()V
putfield jdk.security.jarsigner.JarSigner$SignatureFile.sf:Ljava/util/jar/Manifest;
5: aload 0
getfield jdk.security.jarsigner.JarSigner$SignatureFile.sf:Ljava/util/jar/Manifest;
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
astore 8
start local 8 6: aload 8
getstatic java.util.jar.Attributes$Name.SIGNATURE_VERSION:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes$Name.toString:()Ljava/lang/String;
ldc "1.0"
invokevirtual java.util.jar.Attributes.putValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
7: aload 8
ldc "Created-By"
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 " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.jar.Attributes.putValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
8: iload 5
ifeq 18
9: aload 1
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 17
StackMap locals: jdk.security.jarsigner.JarSigner$SignatureFile java.security.MessageDigest[] java.util.jar.Manifest sun.security.util.ManifestDigester java.lang.String int java.lang.String java.lang.String java.util.jar.Attributes top int int java.security.MessageDigest[]
StackMap stack:
10: aload 12
iload 10
aaload
astore 9
start local 9 11: aload 8
new java.lang.StringBuilder
dup
aload 9
invokevirtual java.security.MessageDigest.getAlgorithm:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-Digest-Manifest"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokestatic java.util.Base64.getEncoder:()Ljava/util/Base64$Encoder;
13: aload 3
aload 9
invokevirtual sun.security.util.ManifestDigester.manifestDigest:(Ljava/security/MessageDigest;)[B
14: invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
15: invokevirtual java.util.jar.Attributes.putValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
end local 9 16: iinc 10 1
StackMap locals:
StackMap stack:
17: iload 10
iload 11
if_icmplt 10
18: StackMap locals: jdk.security.jarsigner.JarSigner$SignatureFile java.security.MessageDigest[] java.util.jar.Manifest sun.security.util.ManifestDigester java.lang.String int java.lang.String java.lang.String java.util.jar.Attributes
StackMap stack:
aload 3
iconst_0
invokevirtual sun.security.util.ManifestDigester.getMainAttsEntry:(Z)Lsun/security/util/ManifestDigester$Entry;
astore 9
start local 9 19: aload 9
ifnull 29
20: aload 1
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 27
StackMap locals: jdk.security.jarsigner.JarSigner$SignatureFile java.security.MessageDigest[] java.util.jar.Manifest sun.security.util.ManifestDigester java.lang.String int java.lang.String java.lang.String java.util.jar.Attributes sun.security.util.ManifestDigester$Entry top int int java.security.MessageDigest[]
StackMap stack:
21: aload 13
iload 11
aaload
astore 10
start local 10 22: aload 8
new java.lang.StringBuilder
dup
aload 10
invokevirtual java.security.MessageDigest.getAlgorithm:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-Digest-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: ldc "Manifest-Main-Attributes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokestatic java.util.Base64.getEncoder:()Ljava/util/Base64$Encoder;
aload 9
aload 10
invokevirtual sun.security.util.ManifestDigester$Entry.digest:(Ljava/security/MessageDigest;)[B
invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
25: invokevirtual java.util.jar.Attributes.putValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
end local 10 26: iinc 11 1
StackMap locals:
StackMap stack:
27: iload 11
iload 12
if_icmplt 21
28: goto 32
29: StackMap locals: jdk.security.jarsigner.JarSigner$SignatureFile java.security.MessageDigest[] java.util.jar.Manifest sun.security.util.ManifestDigester java.lang.String int java.lang.String java.lang.String java.util.jar.Attributes sun.security.util.ManifestDigester$Entry
StackMap stack:
new java.lang.IllegalStateException
dup
30: ldc "ManifestDigester failed to create Manifest-Main-Attribute entry"
31: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 0
getfield jdk.security.jarsigner.JarSigner$SignatureFile.sf:Ljava/util/jar/Manifest;
invokevirtual java.util.jar.Manifest.getEntries:()Ljava/util/Map;
astore 10
start local 10 33: aload 2
invokevirtual java.util.jar.Manifest.getEntries:()Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 48
StackMap locals: jdk.security.jarsigner.JarSigner$SignatureFile java.security.MessageDigest[] java.util.jar.Manifest sun.security.util.ManifestDigester java.lang.String int java.lang.String java.lang.String java.util.jar.Attributes sun.security.util.ManifestDigester$Entry java.util.Map top java.util.Iterator
StackMap stack:
34: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 11
start local 11 35: aload 3
aload 11
iconst_0
invokevirtual sun.security.util.ManifestDigester.get:(Ljava/lang/String;Z)Lsun/security/util/ManifestDigester$Entry;
astore 9
36: aload 9
ifnull 48
37: new java.util.jar.Attributes
dup
invokespecial java.util.jar.Attributes.<init>:()V
astore 13
start local 13 38: aload 1
dup
astore 17
arraylength
istore 16
iconst_0
istore 15
goto 46
StackMap locals: jdk.security.jarsigner.JarSigner$SignatureFile java.security.MessageDigest[] java.util.jar.Manifest sun.security.util.ManifestDigester java.lang.String int java.lang.String java.lang.String java.util.jar.Attributes sun.security.util.ManifestDigester$Entry java.util.Map java.lang.String java.util.Iterator java.util.jar.Attributes top int int java.security.MessageDigest[]
StackMap stack:
39: aload 17
iload 15
aaload
astore 14
start local 14 40: aload 13
new java.lang.StringBuilder
dup
aload 14
invokevirtual java.security.MessageDigest.getAlgorithm:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-Digest"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
41: invokestatic java.util.Base64.getEncoder:()Ljava/util/Base64$Encoder;
42: aload 9
aload 14
invokevirtual sun.security.util.ManifestDigester$Entry.digest:(Ljava/security/MessageDigest;)[B
43: invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
44: invokevirtual java.util.jar.Attributes.putValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
end local 14 45: iinc 15 1
StackMap locals:
StackMap stack:
46: iload 15
iload 16
if_icmplt 39
47: aload 10
aload 11
aload 13
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 13 end local 11 48: StackMap locals: jdk.security.jarsigner.JarSigner$SignatureFile java.security.MessageDigest[] java.util.jar.Manifest sun.security.util.ManifestDigester java.lang.String int java.lang.String java.lang.String java.util.jar.Attributes sun.security.util.ManifestDigester$Entry java.util.Map top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 34
49: return
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 50 0 this Ljdk/security/jarsigner/JarSigner$SignatureFile;
0 50 1 digests [Ljava/security/MessageDigest;
0 50 2 mf Ljava/util/jar/Manifest;
0 50 3 md Lsun/security/util/ManifestDigester;
0 50 4 baseName Ljava/lang/String;
0 50 5 signManifest Z
3 50 6 version Ljava/lang/String;
4 50 7 javaVendor Ljava/lang/String;
6 50 8 mattr Ljava/util/jar/Attributes;
11 16 9 digest Ljava/security/MessageDigest;
19 50 9 mde Lsun/security/util/ManifestDigester$Entry;
22 26 10 digest Ljava/security/MessageDigest;
33 50 10 entries Ljava/util/Map<Ljava/lang/String;Ljava/util/jar/Attributes;>;
35 48 11 name Ljava/lang/String;
38 48 13 attr Ljava/util/jar/Attributes;
40 45 14 digest Ljava/security/MessageDigest;
MethodParameters:
Name Flags
digests
mf
md
baseName
signManifest
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 0
getfield jdk.security.jarsigner.JarSigner$SignatureFile.sf:Ljava/util/jar/Manifest;
aload 1
invokevirtual java.util.jar.Manifest.write:(Ljava/io/OutputStream;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/security/jarsigner/JarSigner$SignatureFile;
0 2 1 out Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
private static java.lang.String getBaseSignatureFilesName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "META-INF/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 baseName Ljava/lang/String;
MethodParameters:
Name Flags
baseName
public java.lang.String getMetaName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield jdk.security.jarsigner.JarSigner$SignatureFile.baseName:Ljava/lang/String;
invokestatic jdk.security.jarsigner.JarSigner$SignatureFile.getBaseSignatureFilesName:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "SF"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/security/jarsigner/JarSigner$SignatureFile;
public java.lang.String getBlockName(java.security.PrivateKey);
descriptor: (Ljava/security/PrivateKey;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
astore 2
start local 2 1: new java.lang.StringBuilder
dup
aload 0
getfield jdk.security.jarsigner.JarSigner$SignatureFile.baseName:Ljava/lang/String;
invokestatic jdk.security.jarsigner.JarSigner$SignatureFile.getBaseSignatureFilesName:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
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;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/security/jarsigner/JarSigner$SignatureFile;
0 2 1 privateKey Ljava/security/PrivateKey;
1 2 2 keyAlgorithm Ljava/lang/String;
MethodParameters:
Name Flags
privateKey
public byte[] generateBlock(com.sun.jarsigner.ContentSignerParameters, boolean, com.sun.jarsigner.ContentSigner);
descriptor: (Lcom/sun/jarsigner/ContentSignerParameters;ZLcom/sun/jarsigner/ContentSigner;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnonnull 2
1: new sun.security.tools.jarsigner.TimestampedSigner
dup
invokespecial sun.security.tools.jarsigner.TimestampedSigner.<init>:()V
astore 3
2: StackMap locals:
StackMap stack:
aload 3
3: aload 1
4: iload 2
5: aload 1
invokeinterface com.sun.jarsigner.ContentSignerParameters.getTimestampingAuthority:()Ljava/net/URI;
ifnonnull 7
6: aload 1
invokeinterface com.sun.jarsigner.ContentSignerParameters.getTimestampingAuthorityCertificate:()Ljava/security/cert/X509Certificate;
ifnonnull 7
iconst_0
goto 8
StackMap locals: jdk.security.jarsigner.JarSigner$SignatureFile com.sun.jarsigner.ContentSignerParameters int com.sun.jarsigner.ContentSigner
StackMap stack: com.sun.jarsigner.ContentSigner com.sun.jarsigner.ContentSignerParameters int
7: iconst_1
8: StackMap locals: jdk.security.jarsigner.JarSigner$SignatureFile com.sun.jarsigner.ContentSignerParameters int com.sun.jarsigner.ContentSigner
StackMap stack: com.sun.jarsigner.ContentSigner com.sun.jarsigner.ContentSignerParameters int int
invokevirtual com.sun.jarsigner.ContentSigner.generateSignedData:(Lcom/sun/jarsigner/ContentSignerParameters;ZZ)[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/security/jarsigner/JarSigner$SignatureFile;
0 9 1 params Lcom/sun/jarsigner/ContentSignerParameters;
0 9 2 externalSF Z
0 9 3 signingMechanism Lcom/sun/jarsigner/ContentSigner;
Exceptions:
throws java.security.NoSuchAlgorithmException, java.io.IOException, java.security.cert.CertificateException
MethodParameters:
Name Flags
params
externalSF
signingMechanism
}
SourceFile: "JarSigner.java"
NestHost: jdk.security.jarsigner.JarSigner
InnerClasses:
public Encoder = java.util.Base64$Encoder of java.util.Base64
public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes
SignatureFile = jdk.security.jarsigner.JarSigner$SignatureFile of jdk.security.jarsigner.JarSigner
public Entry = sun.security.util.ManifestDigester$Entry of sun.security.util.ManifestDigester