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 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=1, locals=0, args_size=0
0: getstatic sun.security.util.KnownOIDs.AD_TimeStamping:Lsun/security/util/KnownOIDs;
invokestatic sun.security.util.ObjectIdentifier.of:(Lsun/security/util/KnownOIDs;)Lsun/security/util/ObjectIdentifier;
1: putstatic sun.security.tools.jarsigner.TimestampedSigner.AD_TIMESTAMPING_Id:Lsun/security/util/ObjectIdentifier;
2: return
LocalVariableTable:
Start End Slot Name Signature
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=8, 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:
aload 5
aload 4
aload 6
19: aload 1
invokeinterface com.sun.jarsigner.ContentSignerParameters.getSignatureAlgorithm:()Ljava/lang/String;
aload 7
20: aload 1
invokeinterface com.sun.jarsigner.ContentSignerParameters.getTSAPolicyID:()Ljava/lang/String;
21: aload 1
invokeinterface com.sun.jarsigner.ContentSignerParameters.getTSADigestAlg:()Ljava/lang/String;
22: 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 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 23 0 this Lsun/security/tools/jarsigner/TimestampedSigner;
0 23 1 params Lcom/sun/jarsigner/ContentSignerParameters;
0 23 2 omitContent Z
0 23 3 applyTimestamp Z
4 23 4 signerChain [Ljava/security/cert/X509Certificate;
5 23 5 signature [B
8 23 6 content [B
9 23 7 tsaURI Ljava/net/URI;
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
3: getstatic sun.security.util.KnownOIDs.SubjectInfoAccess:Lsun/security/util/KnownOIDs;
invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
4: invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
astore 1
start local 1 5: aload 1
ifnonnull 7
6: aconst_null
areturn
7: 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 8: 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
9: aload 2
iconst_5
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 3
start local 3 10: iconst_0
istore 7
start local 7 11: goto 23
12: 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 13: aload 4
invokevirtual sun.security.x509.AccessDescription.getAccessMethod:()Lsun/security/util/ObjectIdentifier;
14: getstatic sun.security.tools.jarsigner.TimestampedSigner.AD_TIMESTAMPING_Id:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 22
15: aload 4
invokevirtual sun.security.x509.AccessDescription.getAccessLocation:()Lsun/security/x509/GeneralName;
astore 5
start local 5 16: aload 5
invokevirtual sun.security.x509.GeneralName.getType:()I
bipush 6
if_icmpne 22
17: aload 5
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
checkcast sun.security.x509.URIName
astore 6
start local 6 18: aload 6
invokevirtual sun.security.x509.URIName.getScheme:()Ljava/lang/String;
ldc "http"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 20
19: aload 6
invokevirtual sun.security.x509.URIName.getScheme:()Ljava/lang/String;
ldc "https"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 22
20: 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;
21: areturn
end local 6 end local 5 22: 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:
23: iload 7
aload 3
arraylength
if_icmplt 12
end local 7 end local 3 end local 2 end local 1 24: goto 26
StackMap locals: java.security.cert.X509Certificate
StackMap stack: java.io.IOException
25: pop
26: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 tsaCertificate Ljava/security/cert/X509Certificate;
5 24 1 extensionValue [B
8 24 2 der Lsun/security/util/DerInputStream;
10 24 3 derValue [Lsun/security/util/DerValue;
13 23 4 description Lsun/security/x509/AccessDescription;
16 22 5 location Lsun/security/x509/GeneralName;
18 22 6 uri Lsun/security/x509/URIName;
11 24 7 i I
Exception table:
from to target type
2 6 25 Class java.io.IOException
7 21 25 Class java.io.IOException
22 24 25 Class java.io.IOException
MethodParameters:
Name Flags
tsaCertificate
}
SourceFile: "TimestampedSigner.java"