public final class sun.security.tools.jarsigner.TimestampedSigner extends com.sun.jarsigner.ContentSigner
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.tools.jarsigner.TimestampedSigner
super_class: com.sun.jarsigner.ContentSigner
{
private static final java.lang.String SUBJECT_INFO_ACCESS_OID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "1.3.6.1.5.5.7.1.11"
private static final sun.security.util.ObjectIdentifier AD_TIMESTAMPING_Id;
descriptor: Lsun/security/util/ObjectIdentifier;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: aconst_null
astore 0
start local 0 1: new sun.security.util.ObjectIdentifier
dup
ldc "1.3.6.1.5.5.7.48.3"
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
astore 0
2: goto 4
StackMap locals: sun.security.util.ObjectIdentifier
StackMap stack: java.io.IOException
3: pop
4: StackMap locals:
StackMap stack:
aload 0
putstatic sun.security.tools.jarsigner.TimestampedSigner.AD_TIMESTAMPING_Id:Lsun/security/util/ObjectIdentifier;
end local 0 5: return
LocalVariableTable:
Start End Slot Name Signature
1 5 0 tmp Lsun/security/util/ObjectIdentifier;
Exception table:
from to target type
1 2 3 Class java.io.IOException
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.sun.jarsigner.ContentSigner.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/tools/jarsigner/TimestampedSigner;
public byte[] generateSignedData(com.sun.jarsigner.ContentSignerParameters, boolean, boolean);
descriptor: (Lcom/sun/jarsigner/ContentSignerParameters;ZZ)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface com.sun.jarsigner.ContentSignerParameters.getSignatureAlgorithm:()Ljava/lang/String;
pop
3: aload 1
invokeinterface com.sun.jarsigner.ContentSignerParameters.getSignerCertificateChain:()[Ljava/security/cert/X509Certificate;
astore 4
start local 4 4: aload 1
invokeinterface com.sun.jarsigner.ContentSignerParameters.getSignature:()[B
astore 5
start local 5 5: iload 2
ifeq 6
aconst_null
goto 7
StackMap locals: java.security.cert.X509Certificate[] byte[]
StackMap stack:
6: aload 1
invokeinterface com.sun.jarsigner.ContentSignerParameters.getContent:()[B
StackMap locals:
StackMap stack: byte[]
7: astore 6
start local 6 8: aconst_null
astore 7
start local 7 9: iload 3
ifeq 18
10: aload 1
invokeinterface com.sun.jarsigner.ContentSignerParameters.getTimestampingAuthority:()Ljava/net/URI;
astore 7
11: aload 7
ifnonnull 18
12: aload 1
invokeinterface com.sun.jarsigner.ContentSignerParameters.getTimestampingAuthorityCertificate:()Ljava/security/cert/X509Certificate;
13: invokestatic sun.security.tools.jarsigner.TimestampedSigner.getTimestampingURI:(Ljava/security/cert/X509Certificate;)Ljava/net/URI;
astore 7
14: aload 7
ifnonnull 18
15: new java.security.cert.CertificateException
dup
16: ldc "Subject Information Access extension not found"
17: invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: byte[] java.net.URI
StackMap stack:
ldc "SHA-256"
astore 8
start local 8 19: aload 1
instanceof sun.security.tools.jarsigner.JarSignerParameters
ifeq 21
20: aload 1
checkcast sun.security.tools.jarsigner.JarSignerParameters
invokevirtual sun.security.tools.jarsigner.JarSignerParameters.getTSADigestAlg:()Ljava/lang/String;
astore 8
21: StackMap locals: java.lang.String
StackMap stack:
aload 5
aload 4
aload 6
22: aload 1
invokeinterface com.sun.jarsigner.ContentSignerParameters.getSignatureAlgorithm:()Ljava/lang/String;
aload 7
23: aload 1
invokeinterface com.sun.jarsigner.ContentSignerParameters.getTSAPolicyID:()Ljava/lang/String;
24: aload 8
25: invokestatic sun.security.pkcs.PKCS7.generateSignedData:([B[Ljava/security/cert/X509Certificate;[BLjava/lang/String;Ljava/net/URI;Ljava/lang/String;Ljava/lang/String;)[B
areturn
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 26 0 this Lsun/security/tools/jarsigner/TimestampedSigner;
0 26 1 params Lcom/sun/jarsigner/ContentSignerParameters;
0 26 2 omitContent Z
0 26 3 applyTimestamp Z
4 26 4 signerChain [Ljava/security/cert/X509Certificate;
5 26 5 signature [B
8 26 6 content [B
9 26 7 tsaURI Ljava/net/URI;
19 26 8 tSADigestAlg Ljava/lang/String;
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.cert.CertificateException, java.io.IOException
MethodParameters:
Name Flags
params
omitContent
applyTimestamp
public static java.net.URI getTimestampingURI(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)Ljava/net/URI;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "1.3.6.1.5.5.7.1.11"
invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
3: astore 1
start local 1 4: aload 1
ifnonnull 6
5: aconst_null
areturn
6: StackMap locals: byte[]
StackMap stack:
new sun.security.util.DerInputStream
dup
aload 1
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 2
start local 2 7: new sun.security.util.DerInputStream
dup
aload 2
invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 2
8: aload 2
iconst_5
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 3
start local 3 9: iconst_0
istore 7
start local 7 10: goto 22
11: StackMap locals: java.security.cert.X509Certificate byte[] sun.security.util.DerInputStream sun.security.util.DerValue[] top top top int
StackMap stack:
new sun.security.x509.AccessDescription
dup
aload 3
iload 7
aaload
invokespecial sun.security.x509.AccessDescription.<init>:(Lsun/security/util/DerValue;)V
astore 4
start local 4 12: aload 4
invokevirtual sun.security.x509.AccessDescription.getAccessMethod:()Lsun/security/util/ObjectIdentifier;
13: getstatic sun.security.tools.jarsigner.TimestampedSigner.AD_TIMESTAMPING_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 21
14: aload 4
invokevirtual sun.security.x509.AccessDescription.getAccessLocation:()Lsun/security/x509/GeneralName;
astore 5
start local 5 15: aload 5
invokevirtual sun.security.x509.GeneralName.getType:()I
bipush 6
if_icmpne 21
16: aload 5
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
checkcast sun.security.x509.URIName
astore 6
start local 6 17: aload 6
invokevirtual sun.security.x509.URIName.getScheme:()Ljava/lang/String;
ldc "http"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 19
18: aload 6
invokevirtual sun.security.x509.URIName.getScheme:()Ljava/lang/String;
ldc "https"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 21
19: StackMap locals: java.security.cert.X509Certificate byte[] sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.x509.AccessDescription sun.security.x509.GeneralName sun.security.x509.URIName int
StackMap stack:
aload 6
invokevirtual sun.security.x509.URIName.getURI:()Ljava/net/URI;
20: areturn
end local 6 end local 5 21: StackMap locals: java.security.cert.X509Certificate byte[] sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.x509.AccessDescription top top int
StackMap stack:
iinc 7 1
end local 4 StackMap locals: java.security.cert.X509Certificate byte[] sun.security.util.DerInputStream sun.security.util.DerValue[] top top top int
StackMap stack:
22: iload 7
aload 3
arraylength
if_icmplt 11
end local 7 end local 3 end local 2 end local 1 23: goto 25
StackMap locals: java.security.cert.X509Certificate
StackMap stack: java.io.IOException
24: pop
25: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 tsaCertificate Ljava/security/cert/X509Certificate;
4 23 1 extensionValue [B
7 23 2 der Lsun/security/util/DerInputStream;
9 23 3 derValue [Lsun/security/util/DerValue;
12 22 4 description Lsun/security/x509/AccessDescription;
15 21 5 location Lsun/security/x509/GeneralName;
17 21 6 uri Lsun/security/x509/URIName;
10 23 7 i I
Exception table:
from to target type
2 5 24 Class java.io.IOException
6 20 24 Class java.io.IOException
21 23 24 Class java.io.IOException
MethodParameters:
Name Flags
tsaCertificate
}
SourceFile: "TimestampedSigner.java"