public class sun.security.pkcs.SignerInfo implements sun.security.util.DerEncoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.pkcs.SignerInfo
  super_class: java.lang.Object
{
  private static final java.util.Set<java.security.CryptoPrimitive> DIGEST_PRIMITIVE_SET;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/security/CryptoPrimitive;>;

  private static final java.util.Set<java.security.CryptoPrimitive> SIG_PRIMITIVE_SET;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/security/CryptoPrimitive;>;

  private static final sun.security.util.DisabledAlgorithmConstraints JAR_DISABLED_CHECK;
    descriptor: Lsun/security/util/DisabledAlgorithmConstraints;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  java.math.BigInteger version;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0000) 

  sun.security.x509.X500Name issuerName;
    descriptor: Lsun/security/x509/X500Name;
    flags: (0x0000) 

  java.math.BigInteger certificateSerialNumber;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0000) 

  sun.security.x509.AlgorithmId digestAlgorithmId;
    descriptor: Lsun/security/x509/AlgorithmId;
    flags: (0x0000) 

  sun.security.x509.AlgorithmId digestEncryptionAlgorithmId;
    descriptor: Lsun/security/x509/AlgorithmId;
    flags: (0x0000) 

  byte[] encryptedDigest;
    descriptor: [B
    flags: (0x0000) 

  java.security.Timestamp timestamp;
    descriptor: Ljava/security/Timestamp;
    flags: (0x0000) 

  private boolean hasTimestamp;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  sun.security.pkcs.PKCS9Attributes authenticatedAttributes;
    descriptor: Lsun/security/pkcs/PKCS9Attributes;
    flags: (0x0000) 

  sun.security.pkcs.PKCS9Attributes unauthenticatedAttributes;
    descriptor: Lsun/security/pkcs/PKCS9Attributes;
    flags: (0x0000) 

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 60
            getstatic java.security.CryptoPrimitive.MESSAGE_DIGEST:Ljava/security/CryptoPrimitive;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
         1: .line 59
            putstatic sun.security.pkcs.SignerInfo.DIGEST_PRIMITIVE_SET:Ljava/util/Set;
         2: .line 63
            getstatic java.security.CryptoPrimitive.SIGNATURE:Ljava/security/CryptoPrimitive;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
         3: .line 62
            putstatic sun.security.pkcs.SignerInfo.SIG_PRIMITIVE_SET:Ljava/util/Set;
         4: .line 66
            new sun.security.util.DisabledAlgorithmConstraints
            dup
         5: .line 67
            ldc "jdk.jar.disabledAlgorithms"
         6: .line 66
            invokespecial sun.security.util.DisabledAlgorithmConstraints.<init>:(Ljava/lang/String;)V
         7: .line 65
            putstatic sun.security.pkcs.SignerInfo.JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
         8: .line 77
            ldc "jar"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic sun.security.pkcs.SignerInfo.debug:Lsun/security/util/Debug;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(sun.security.x509.X500Name, java.math.BigInteger, sun.security.x509.AlgorithmId, sun.security.x509.AlgorithmId, byte[]);
    descriptor: (Lsun/security/x509/X500Name;Ljava/math/BigInteger;Lsun/security/x509/AlgorithmId;Lsun/security/x509/AlgorithmId;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // sun.security.pkcs.SignerInfo this
        start local 1 // sun.security.x509.X500Name issuerName
        start local 2 // java.math.BigInteger serial
        start local 3 // sun.security.x509.AlgorithmId digestAlgorithmId
        start local 4 // sun.security.x509.AlgorithmId digestEncryptionAlgorithmId
        start local 5 // byte[] encryptedDigest
         0: .line 87
            aload 0 /* this */
            aload 1 /* issuerName */
            aload 2 /* serial */
            aload 3 /* digestAlgorithmId */
            aconst_null
         1: .line 88
            aload 4 /* digestEncryptionAlgorithmId */
            aload 5 /* encryptedDigest */
            aconst_null
            invokespecial sun.security.pkcs.SignerInfo.<init>:(Lsun/security/x509/X500Name;Ljava/math/BigInteger;Lsun/security/x509/AlgorithmId;Lsun/security/pkcs/PKCS9Attributes;Lsun/security/x509/AlgorithmId;[BLsun/security/pkcs/PKCS9Attributes;)V
         2: .line 89
            return
        end local 5 // byte[] encryptedDigest
        end local 4 // sun.security.x509.AlgorithmId digestEncryptionAlgorithmId
        end local 3 // sun.security.x509.AlgorithmId digestAlgorithmId
        end local 2 // java.math.BigInteger serial
        end local 1 // sun.security.x509.X500Name issuerName
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    3     0                         this  Lsun/security/pkcs/SignerInfo;
            0    3     1                   issuerName  Lsun/security/x509/X500Name;
            0    3     2                       serial  Ljava/math/BigInteger;
            0    3     3            digestAlgorithmId  Lsun/security/x509/AlgorithmId;
            0    3     4  digestEncryptionAlgorithmId  Lsun/security/x509/AlgorithmId;
            0    3     5              encryptedDigest  [B
    MethodParameters:
                             Name  Flags
      issuerName                   
      serial                       
      digestAlgorithmId            
      digestEncryptionAlgorithmId  
      encryptedDigest              

  public void <init>(sun.security.x509.X500Name, java.math.BigInteger, sun.security.x509.AlgorithmId, sun.security.pkcs.PKCS9Attributes, sun.security.x509.AlgorithmId, byte[], sun.security.pkcs.PKCS9Attributes);
    descriptor: (Lsun/security/x509/X500Name;Ljava/math/BigInteger;Lsun/security/x509/AlgorithmId;Lsun/security/pkcs/PKCS9Attributes;Lsun/security/x509/AlgorithmId;[BLsun/security/pkcs/PKCS9Attributes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=8
        start local 0 // sun.security.pkcs.SignerInfo this
        start local 1 // sun.security.x509.X500Name issuerName
        start local 2 // java.math.BigInteger serial
        start local 3 // sun.security.x509.AlgorithmId digestAlgorithmId
        start local 4 // sun.security.pkcs.PKCS9Attributes authenticatedAttributes
        start local 5 // sun.security.x509.AlgorithmId digestEncryptionAlgorithmId
        start local 6 // byte[] encryptedDigest
        start local 7 // sun.security.pkcs.PKCS9Attributes unauthenticatedAttributes
         0: .line 91
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs.SignerInfo.hasTimestamp:Z
         2: .line 98
            aload 0 /* this */
            getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
            putfield sun.security.pkcs.SignerInfo.version:Ljava/math/BigInteger;
         3: .line 99
            aload 0 /* this */
            aload 1 /* issuerName */
            putfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
         4: .line 100
            aload 0 /* this */
            aload 2 /* serial */
            putfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
         5: .line 101
            aload 0 /* this */
            aload 3 /* digestAlgorithmId */
            putfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
         6: .line 102
            aload 0 /* this */
            aload 4 /* authenticatedAttributes */
            putfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
         7: .line 103
            aload 0 /* this */
            aload 5 /* digestEncryptionAlgorithmId */
            putfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
         8: .line 104
            aload 0 /* this */
            aload 6 /* encryptedDigest */
            putfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
         9: .line 105
            aload 0 /* this */
            aload 7 /* unauthenticatedAttributes */
            putfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
        10: .line 106
            return
        end local 7 // sun.security.pkcs.PKCS9Attributes unauthenticatedAttributes
        end local 6 // byte[] encryptedDigest
        end local 5 // sun.security.x509.AlgorithmId digestEncryptionAlgorithmId
        end local 4 // sun.security.pkcs.PKCS9Attributes authenticatedAttributes
        end local 3 // sun.security.x509.AlgorithmId digestAlgorithmId
        end local 2 // java.math.BigInteger serial
        end local 1 // sun.security.x509.X500Name issuerName
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   11     0                         this  Lsun/security/pkcs/SignerInfo;
            0   11     1                   issuerName  Lsun/security/x509/X500Name;
            0   11     2                       serial  Ljava/math/BigInteger;
            0   11     3            digestAlgorithmId  Lsun/security/x509/AlgorithmId;
            0   11     4      authenticatedAttributes  Lsun/security/pkcs/PKCS9Attributes;
            0   11     5  digestEncryptionAlgorithmId  Lsun/security/x509/AlgorithmId;
            0   11     6              encryptedDigest  [B
            0   11     7    unauthenticatedAttributes  Lsun/security/pkcs/PKCS9Attributes;
    MethodParameters:
                             Name  Flags
      issuerName                   
      serial                       
      digestAlgorithmId            
      authenticatedAttributes      
      digestEncryptionAlgorithmId  
      encryptedDigest              
      unauthenticatedAttributes    

  public void <init>(sun.security.util.DerInputStream);
    descriptor: (Lsun/security/util/DerInputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.pkcs.SignerInfo this
        start local 1 // sun.security.util.DerInputStream derin
         0: .line 114
            aload 0 /* this */
            aload 1 /* derin */
            iconst_0
            invokespecial sun.security.pkcs.SignerInfo.<init>:(Lsun/security/util/DerInputStream;Z)V
         1: .line 115
            return
        end local 1 // sun.security.util.DerInputStream derin
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/pkcs/SignerInfo;
            0    2     1  derin  Lsun/security/util/DerInputStream;
    Exceptions:
      throws java.io.IOException, sun.security.pkcs.ParsingException
    MethodParameters:
       Name  Flags
      derin  

  public void <init>(sun.security.util.DerInputStream, boolean);
    descriptor: (Lsun/security/util/DerInputStream;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // sun.security.pkcs.SignerInfo this
        start local 1 // sun.security.util.DerInputStream derin
        start local 2 // boolean oldStyle
         0: .line 127
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs.SignerInfo.hasTimestamp:Z
         2: .line 131
            aload 0 /* this */
            aload 1 /* derin */
            invokevirtual sun.security.util.DerInputStream.getBigInteger:()Ljava/math/BigInteger;
            putfield sun.security.pkcs.SignerInfo.version:Ljava/math/BigInteger;
         3: .line 134
            aload 1 /* derin */
            iconst_2
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
            astore 3 /* issuerAndSerialNumber */
        start local 3 // sun.security.util.DerValue[] issuerAndSerialNumber
         4: .line 135
            aload 3 /* issuerAndSerialNumber */
            arraylength
            iconst_2
            if_icmpeq 6
         5: .line 136
            new sun.security.pkcs.ParsingException
            dup
            ldc "Invalid length for IssuerAndSerialNumber"
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 138
      StackMap locals: sun.security.pkcs.SignerInfo sun.security.util.DerInputStream int sun.security.util.DerValue[]
      StackMap stack:
            aload 3 /* issuerAndSerialNumber */
            iconst_0
            aaload
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            astore 4 /* issuerBytes */
        start local 4 // byte[] issuerBytes
         7: .line 139
            aload 0 /* this */
            new sun.security.x509.X500Name
            dup
            new sun.security.util.DerValue
            dup
            bipush 48
         8: .line 140
            aload 4 /* issuerBytes */
            invokespecial sun.security.util.DerValue.<init>:(B[B)V
            invokespecial sun.security.x509.X500Name.<init>:(Lsun/security/util/DerValue;)V
         9: .line 139
            putfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
        10: .line 141
            aload 0 /* this */
            aload 3 /* issuerAndSerialNumber */
            iconst_1
            aaload
            invokevirtual sun.security.util.DerValue.getBigInteger:()Ljava/math/BigInteger;
            putfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
        11: .line 144
            aload 1 /* derin */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 5 /* tmp */
        start local 5 // sun.security.util.DerValue tmp
        12: .line 146
            aload 0 /* this */
            aload 5 /* tmp */
            invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
            putfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
        13: .line 149
            iload 2 /* oldStyle */
            ifeq 16
        14: .line 152
            aload 1 /* derin */
            iconst_0
            invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
            pop
        15: .line 153
            goto 18
        16: .line 156
      StackMap locals: byte[] sun.security.util.DerValue
      StackMap stack:
            aload 1 /* derin */
            invokevirtual sun.security.util.DerInputStream.peekByte:()I
            i2b
            bipush -96
            if_icmpne 18
        17: .line 157
            aload 0 /* this */
            new sun.security.pkcs.PKCS9Attributes
            dup
            aload 1 /* derin */
            invokespecial sun.security.pkcs.PKCS9Attributes.<init>:(Lsun/security/util/DerInputStream;)V
            putfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
        18: .line 163
      StackMap locals:
      StackMap stack:
            aload 1 /* derin */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 5 /* tmp */
        19: .line 165
            aload 0 /* this */
            aload 5 /* tmp */
            invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
            putfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
        20: .line 168
            aload 0 /* this */
            aload 1 /* derin */
            invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
            putfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
        21: .line 171
            iload 2 /* oldStyle */
            ifeq 24
        22: .line 174
            aload 1 /* derin */
            iconst_0
            invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
            pop
        23: .line 175
            goto 29
        24: .line 178
      StackMap locals:
      StackMap stack:
            aload 1 /* derin */
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 29
        25: .line 179
            aload 1 /* derin */
            invokevirtual sun.security.util.DerInputStream.peekByte:()I
            i2b
            bipush -95
            if_icmpne 29
        26: .line 180
            aload 0 /* this */
        27: .line 181
            new sun.security.pkcs.PKCS9Attributes
            dup
            aload 1 /* derin */
            iconst_1
            invokespecial sun.security.pkcs.PKCS9Attributes.<init>:(Lsun/security/util/DerInputStream;Z)V
        28: .line 180
            putfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
        29: .line 186
      StackMap locals:
      StackMap stack:
            aload 1 /* derin */
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 31
        30: .line 187
            new sun.security.pkcs.ParsingException
            dup
            ldc "extra data at the end"
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs.SignerInfo.checkCMSAlgorithmProtection:()V
        32: .line 192
            return
        end local 5 // sun.security.util.DerValue tmp
        end local 4 // byte[] issuerBytes
        end local 3 // sun.security.util.DerValue[] issuerAndSerialNumber
        end local 2 // boolean oldStyle
        end local 1 // sun.security.util.DerInputStream derin
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   33     0                   this  Lsun/security/pkcs/SignerInfo;
            0   33     1                  derin  Lsun/security/util/DerInputStream;
            0   33     2               oldStyle  Z
            4   33     3  issuerAndSerialNumber  [Lsun/security/util/DerValue;
            7   33     4            issuerBytes  [B
           12   33     5                    tmp  Lsun/security/util/DerValue;
    Exceptions:
      throws java.io.IOException, sun.security.pkcs.ParsingException
    MethodParameters:
          Name  Flags
      derin     
      oldStyle  

  private void checkCMSAlgorithmProtection();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // sun.security.pkcs.SignerInfo this
         0: .line 196
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            ifnonnull 2
         1: .line 197
            return
         2: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
         3: .line 200
            getstatic sun.security.pkcs.PKCS9Attribute.CMS_ALGORITHM_PROTECTION_OID:Lsun/security/util/ObjectIdentifier;
         4: .line 199
            invokevirtual sun.security.pkcs.PKCS9Attributes.getAttribute:(Lsun/security/util/ObjectIdentifier;)Lsun/security/pkcs/PKCS9Attribute;
            astore 1 /* ap */
        start local 1 // sun.security.pkcs.PKCS9Attribute ap
         5: .line 201
            aload 1 /* ap */
            ifnonnull 7
         6: .line 202
            return
         7: .line 204
      StackMap locals: sun.security.pkcs.PKCS9Attribute
      StackMap stack:
            new sun.security.util.DerValue
            dup
            aload 1 /* ap */
            invokevirtual sun.security.pkcs.PKCS9Attribute.getValue:()Ljava/lang/Object;
            checkcast byte[]
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 2 /* dv */
        start local 2 // sun.security.util.DerValue dv
         8: .line 205
            aload 2 /* dv */
            invokevirtual sun.security.util.DerValue.data:()Lsun/security/util/DerInputStream;
            astore 3 /* data */
        start local 3 // sun.security.util.DerInputStream data
         9: .line 206
            aload 3 /* data */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
            astore 4 /* d */
        start local 4 // sun.security.x509.AlgorithmId d
        10: .line 207
            aload 3 /* data */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 5 /* ds */
        start local 5 // sun.security.util.DerValue ds
        11: .line 208
            aload 3 /* data */
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifle 13
        12: .line 209
            new java.io.IOException
            dup
            ldc "Unknown field in CMSAlgorithmProtection"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 211
      StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS9Attribute sun.security.util.DerValue sun.security.util.DerInputStream sun.security.x509.AlgorithmId sun.security.util.DerValue
      StackMap stack:
            aload 5 /* ds */
            iconst_1
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifne 15
        14: .line 212
            new java.io.IOException
            dup
            ldc "No signature algorithm in CMSAlgorithmProtection"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 214
      StackMap locals:
      StackMap stack:
            aload 5 /* ds */
            bipush 48
            invokevirtual sun.security.util.DerValue.withTag:(B)Lsun/security/util/DerValue;
            invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
            astore 6 /* s */
        start local 6 // sun.security.x509.AlgorithmId s
        16: .line 215
            aload 6 /* s */
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
            ifeq 18
        17: .line 216
            aload 4 /* d */
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
            ifne 19
        18: .line 217
      StackMap locals: sun.security.x509.AlgorithmId
      StackMap stack:
            new java.io.IOException
            dup
            ldc "CMSAlgorithmProtection check failed"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 219
      StackMap locals:
      StackMap stack:
            return
        end local 6 // sun.security.x509.AlgorithmId s
        end local 5 // sun.security.util.DerValue ds
        end local 4 // sun.security.x509.AlgorithmId d
        end local 3 // sun.security.util.DerInputStream data
        end local 2 // sun.security.util.DerValue dv
        end local 1 // sun.security.pkcs.PKCS9Attribute ap
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lsun/security/pkcs/SignerInfo;
            5   20     1    ap  Lsun/security/pkcs/PKCS9Attribute;
            8   20     2    dv  Lsun/security/util/DerValue;
            9   20     3  data  Lsun/security/util/DerInputStream;
           10   20     4     d  Lsun/security/x509/AlgorithmId;
           11   20     5    ds  Lsun/security/util/DerValue;
           16   20     6     s  Lsun/security/x509/AlgorithmId;
    Exceptions:
      throws java.io.IOException

  public void encode(sun.security.util.DerOutputStream);
    descriptor: (Lsun/security/util/DerOutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.pkcs.SignerInfo this
        start local 1 // sun.security.util.DerOutputStream out
         0: .line 223
            aload 0 /* this */
            aload 1 /* out */
            invokevirtual sun.security.pkcs.SignerInfo.derEncode:(Ljava/io/OutputStream;)V
         1: .line 224
            return
        end local 1 // sun.security.util.DerOutputStream out
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/pkcs/SignerInfo;
            0    2     1   out  Lsun/security/util/DerOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public void derEncode(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.security.pkcs.SignerInfo this
        start local 1 // java.io.OutputStream out
         0: .line 236
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* seq */
        start local 2 // sun.security.util.DerOutputStream seq
         1: .line 237
            aload 2 /* seq */
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.version:Ljava/math/BigInteger;
            invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
         2: .line 238
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 3 /* issuerAndSerialNumber */
        start local 3 // sun.security.util.DerOutputStream issuerAndSerialNumber
         3: .line 239
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
            aload 3 /* issuerAndSerialNumber */
            invokevirtual sun.security.x509.X500Name.encode:(Lsun/security/util/DerOutputStream;)V
         4: .line 240
            aload 3 /* issuerAndSerialNumber */
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
            invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
         5: .line 241
            aload 2 /* seq */
            bipush 48
            aload 3 /* issuerAndSerialNumber */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
         6: .line 243
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
            aload 2 /* seq */
            invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
         7: .line 246
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            ifnull 9
         8: .line 247
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            bipush -96
            aload 2 /* seq */
            invokevirtual sun.security.pkcs.PKCS9Attributes.encode:(BLjava/io/OutputStream;)V
         9: .line 249
      StackMap locals: sun.security.util.DerOutputStream sun.security.util.DerOutputStream
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
            aload 2 /* seq */
            invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
        10: .line 251
            aload 2 /* seq */
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
        11: .line 254
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            ifnull 13
        12: .line 255
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            bipush -95
            aload 2 /* seq */
            invokevirtual sun.security.pkcs.PKCS9Attributes.encode:(BLjava/io/OutputStream;)V
        13: .line 257
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 4 /* tmp */
        start local 4 // sun.security.util.DerOutputStream tmp
        14: .line 258
            aload 4 /* tmp */
            bipush 48
            aload 2 /* seq */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        15: .line 260
            aload 1 /* out */
            aload 4 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            invokevirtual java.io.OutputStream.write:([B)V
        16: .line 261
            return
        end local 4 // sun.security.util.DerOutputStream tmp
        end local 3 // sun.security.util.DerOutputStream issuerAndSerialNumber
        end local 2 // sun.security.util.DerOutputStream seq
        end local 1 // java.io.OutputStream out
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   17     0                   this  Lsun/security/pkcs/SignerInfo;
            0   17     1                    out  Ljava/io/OutputStream;
            1   17     2                    seq  Lsun/security/util/DerOutputStream;
            3   17     3  issuerAndSerialNumber  Lsun/security/util/DerOutputStream;
           14   17     4                    tmp  Lsun/security/util/DerOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public java.security.cert.X509Certificate getCertificate(sun.security.pkcs.PKCS7);
    descriptor: (Lsun/security/pkcs/PKCS7;)Ljava/security/cert/X509Certificate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.pkcs.SignerInfo this
        start local 1 // sun.security.pkcs.PKCS7 block
         0: .line 269
            aload 1 /* block */
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
            invokevirtual sun.security.pkcs.PKCS7.getCertificate:(Ljava/math/BigInteger;Lsun/security/x509/X500Name;)Ljava/security/cert/X509Certificate;
            areturn
        end local 1 // sun.security.pkcs.PKCS7 block
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/pkcs/SignerInfo;
            0    1     1  block  Lsun/security/pkcs/PKCS7;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      block  

  public java.util.ArrayList<java.security.cert.X509Certificate> getCertificateChain(sun.security.pkcs.PKCS7);
    descriptor: (Lsun/security/pkcs/PKCS7;)Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // sun.security.pkcs.SignerInfo this
        start local 1 // sun.security.pkcs.PKCS7 block
         0: .line 279
            aload 1 /* block */
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
            invokevirtual sun.security.pkcs.PKCS7.getCertificate:(Ljava/math/BigInteger;Lsun/security/x509/X500Name;)Ljava/security/cert/X509Certificate;
            astore 2 /* userCert */
        start local 2 // java.security.cert.X509Certificate userCert
         1: .line 280
            aload 2 /* userCert */
            ifnonnull 3
         2: .line 281
            aconst_null
            areturn
         3: .line 283
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* certList */
        start local 3 // java.util.ArrayList certList
         4: .line 284
            aload 3 /* certList */
            aload 2 /* userCert */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 286
            aload 1 /* block */
            invokevirtual sun.security.pkcs.PKCS7.getCertificates:()[Ljava/security/cert/X509Certificate;
            astore 4 /* pkcsCerts */
        start local 4 // java.security.cert.X509Certificate[] pkcsCerts
         6: .line 287
            aload 4 /* pkcsCerts */
            ifnull 8
         7: .line 288
            aload 2 /* userCert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            aload 2 /* userCert */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 289
      StackMap locals: java.util.ArrayList java.security.cert.X509Certificate[]
      StackMap stack:
            aload 3 /* certList */
            areturn
         9: .line 292
      StackMap locals:
      StackMap stack:
            aload 2 /* userCert */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 5 /* issuer */
        start local 5 // java.security.Principal issuer
        10: .line 293
            iconst_0
            istore 6 /* start */
        start local 6 // int start
        11: .line 295
      StackMap locals: java.security.Principal int
      StackMap stack:
            iconst_0
            istore 7 /* match */
        start local 7 // boolean match
        12: .line 296
            iload 6 /* start */
            istore 8 /* i */
        start local 8 // int i
        13: .line 297
            goto 30
        14: .line 298
      StackMap locals: int int
      StackMap stack:
            aload 5 /* issuer */
            aload 4 /* pkcsCerts */
            iload 8 /* i */
            aaload
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
            ifeq 29
        15: .line 300
            aload 3 /* certList */
            aload 4 /* pkcsCerts */
            iload 8 /* i */
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        16: .line 303
            aload 4 /* pkcsCerts */
            iload 8 /* i */
            aaload
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        17: .line 304
            aload 4 /* pkcsCerts */
            iload 8 /* i */
            aaload
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
        18: .line 303
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
        19: .line 304
            ifeq 22
        20: .line 305
            aload 4 /* pkcsCerts */
            arraylength
            istore 6 /* start */
        21: .line 306
            goto 27
        22: .line 307
      StackMap locals:
      StackMap stack:
            aload 4 /* pkcsCerts */
            iload 8 /* i */
            aaload
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 5 /* issuer */
        23: .line 308
            aload 4 /* pkcsCerts */
            iload 6 /* start */
            aaload
            astore 9 /* tmpCert */
        start local 9 // java.security.cert.X509Certificate tmpCert
        24: .line 309
            aload 4 /* pkcsCerts */
            iload 6 /* start */
            aload 4 /* pkcsCerts */
            iload 8 /* i */
            aaload
            aastore
        25: .line 310
            aload 4 /* pkcsCerts */
            iload 8 /* i */
            aload 9 /* tmpCert */
            aastore
        26: .line 311
            iinc 6 /* start */ 1
        end local 9 // java.security.cert.X509Certificate tmpCert
        27: .line 313
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* match */
        28: .line 314
            goto 31
        29: .line 316
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
        30: .line 297
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            aload 4 /* pkcsCerts */
            arraylength
            if_icmplt 14
        31: .line 319
      StackMap locals:
      StackMap stack:
            iload 7 /* match */
            ifne 11
        end local 8 // int i
        end local 7 // boolean match
        32: .line 323
            aload 3 /* certList */
            areturn
        end local 6 // int start
        end local 5 // java.security.Principal issuer
        end local 4 // java.security.cert.X509Certificate[] pkcsCerts
        end local 3 // java.util.ArrayList certList
        end local 2 // java.security.cert.X509Certificate userCert
        end local 1 // sun.security.pkcs.PKCS7 block
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0       this  Lsun/security/pkcs/SignerInfo;
            0   33     1      block  Lsun/security/pkcs/PKCS7;
            1   33     2   userCert  Ljava/security/cert/X509Certificate;
            4   33     3   certList  Ljava/util/ArrayList<Ljava/security/cert/X509Certificate;>;
            6   33     4  pkcsCerts  [Ljava/security/cert/X509Certificate;
           10   33     5     issuer  Ljava/security/Principal;
           11   33     6      start  I
           12   32     7      match  Z
           13   32     8          i  I
           24   27     9    tmpCert  Ljava/security/cert/X509Certificate;
    Exceptions:
      throws java.io.IOException
    Signature: (Lsun/security/pkcs/PKCS7;)Ljava/util/ArrayList<Ljava/security/cert/X509Certificate;>;
    MethodParameters:
       Name  Flags
      block  

  sun.security.pkcs.SignerInfo verify(sun.security.pkcs.PKCS7, byte[]);
    descriptor: (Lsun/security/pkcs/PKCS7;[B)Lsun/security/pkcs/SignerInfo;
    flags: (0x0000) 
    Code:
      stack=5, locals=14, args_size=3
        start local 0 // sun.security.pkcs.SignerInfo this
        start local 1 // sun.security.pkcs.PKCS7 block
        start local 2 // byte[] data
         0: .line 333
            aload 1 /* block */
            invokevirtual sun.security.pkcs.PKCS7.getContentInfo:()Lsun/security/pkcs/ContentInfo;
            astore 3 /* content */
        start local 3 // sun.security.pkcs.ContentInfo content
         1: .line 334
            aload 2 /* data */
            ifnonnull 3
         2: .line 335
            aload 3 /* content */
            invokevirtual sun.security.pkcs.ContentInfo.getContentBytes:()[B
            astore 2 /* data */
         3: .line 338
      StackMap locals: sun.security.pkcs.ContentInfo
      StackMap stack:
            aconst_null
            astore 4 /* timestamp */
        start local 4 // java.security.Timestamp timestamp
         4: .line 340
            aload 0 /* this */
            invokevirtual sun.security.pkcs.SignerInfo.getTimestamp:()Ljava/security/Timestamp;
            astore 4 /* timestamp */
         5: .line 341
            goto 7
      StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp
      StackMap stack: java.lang.Exception
         6: pop
         7: .line 345
      StackMap locals:
      StackMap stack:
            new sun.security.util.ConstraintsParameters
            dup
            aload 4 /* timestamp */
            invokespecial sun.security.util.ConstraintsParameters.<init>:(Ljava/security/Timestamp;)V
         8: .line 344
            astore 5 /* cparams */
        start local 5 // sun.security.util.ConstraintsParameters cparams
         9: .line 351
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            ifnonnull 12
        10: .line 352
            aload 2 /* data */
            astore 6 /* dataSigned */
        start local 6 // byte[] dataSigned
        11: .line 353
            goto 57
        end local 6 // byte[] dataSigned
        12: .line 357
      StackMap locals: sun.security.util.ConstraintsParameters
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
        13: .line 358
            getstatic sun.security.pkcs.PKCS9Attribute.CONTENT_TYPE_OID:Lsun/security/util/ObjectIdentifier;
        14: .line 357
            invokevirtual sun.security.pkcs.PKCS9Attributes.getAttributeValue:(Lsun/security/util/ObjectIdentifier;)Ljava/lang/Object;
        15: .line 356
            checkcast sun.security.util.ObjectIdentifier
            astore 7 /* contentType */
        start local 7 // sun.security.util.ObjectIdentifier contentType
        16: .line 359
            aload 7 /* contentType */
            ifnull 18
        17: .line 360
            aload 7 /* contentType */
            aload 3 /* content */
            getfield sun.security.pkcs.ContentInfo.contentType:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifne 19
        18: .line 361
      StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters top sun.security.util.ObjectIdentifier
      StackMap stack:
            aconst_null
            areturn
        19: .line 365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
        20: .line 366
            getstatic sun.security.pkcs.PKCS9Attribute.MESSAGE_DIGEST_OID:Lsun/security/util/ObjectIdentifier;
        21: .line 365
            invokevirtual sun.security.pkcs.PKCS9Attributes.getAttributeValue:(Lsun/security/util/ObjectIdentifier;)Ljava/lang/Object;
        22: .line 364
            checkcast byte[]
            astore 8 /* messageDigest */
        start local 8 // byte[] messageDigest
        23: .line 368
            aload 8 /* messageDigest */
            ifnonnull 25
        24: .line 369
            aconst_null
            areturn
        25: .line 371
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            astore 9 /* digestAlgname */
        start local 9 // java.lang.String digestAlgname
        26: .line 375
            getstatic sun.security.pkcs.SignerInfo.JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
            aload 9 /* digestAlgname */
            aload 5 /* cparams */
            invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/lang/String;Lsun/security/util/ConstraintsParameters;)V
        27: .line 376
            goto 30
      StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters top sun.security.util.ObjectIdentifier byte[] java.lang.String
      StackMap stack: java.security.cert.CertPathValidatorException
        28: astore 10 /* e */
        start local 10 // java.security.cert.CertPathValidatorException e
        29: .line 377
            new java.security.SignatureException
            dup
            aload 10 /* e */
            invokevirtual java.security.cert.CertPathValidatorException.getMessage:()Ljava/lang/String;
            aload 10 /* e */
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 10 // java.security.cert.CertPathValidatorException e
        30: .line 381
      StackMap locals:
      StackMap stack:
            aload 9 /* digestAlgname */
            ldc "SHAKE256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 32
        31: .line 382
            aload 9 /* digestAlgname */
            ldc "SHAKE256-LEN"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 46
        32: .line 383
      StackMap locals:
      StackMap stack:
            aload 9 /* digestAlgname */
            ldc "SHAKE256-LEN"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 42
        33: .line 384
            new sun.security.util.DerValue
            dup
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
        34: .line 385
            invokevirtual sun.security.x509.AlgorithmId.getEncodedParams:()[B
        35: .line 384
            invokespecial sun.security.util.DerValue.<init>:([B)V
        36: .line 385
            invokevirtual sun.security.util.DerValue.getInteger:()I
        37: .line 384
            istore 11 /* v */
        start local 11 // int v
        38: .line 386
            iload 11 /* v */
            sipush 512
            if_icmpeq 42
        39: .line 387
            new java.security.SignatureException
            dup
        40: .line 388
            new java.lang.StringBuilder
            dup
            ldc "Unsupported id-shake256-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 11 /* v */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 387
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // int v
        42: .line 391
      StackMap locals:
      StackMap stack:
            new sun.security.provider.SHAKE256
            dup
            bipush 64
            invokespecial sun.security.provider.SHAKE256.<init>:(I)V
            astore 11 /* md */
        start local 11 // sun.security.provider.SHAKE256 md
        43: .line 392
            aload 11 /* md */
            aload 2 /* data */
            iconst_0
            aload 2 /* data */
            arraylength
            invokevirtual sun.security.provider.SHAKE256.update:([BII)V
        44: .line 393
            aload 11 /* md */
            invokevirtual sun.security.provider.SHAKE256.digest:()[B
            astore 10 /* computedMessageDigest */
        end local 11 // sun.security.provider.SHAKE256 md
        start local 10 // byte[] computedMessageDigest
        45: .line 394
            goto 48
        end local 10 // byte[] computedMessageDigest
        46: .line 395
      StackMap locals:
      StackMap stack:
            aload 9 /* digestAlgname */
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 11 /* md */
        start local 11 // java.security.MessageDigest md
        47: .line 396
            aload 11 /* md */
            aload 2 /* data */
            invokevirtual java.security.MessageDigest.digest:([B)[B
            astore 10 /* computedMessageDigest */
        end local 11 // java.security.MessageDigest md
        start local 10 // byte[] computedMessageDigest
        48: .line 399
      StackMap locals: byte[]
      StackMap stack:
            aload 8 /* messageDigest */
            arraylength
            aload 10 /* computedMessageDigest */
            arraylength
            if_icmpeq 50
        49: .line 400
            aconst_null
            areturn
        50: .line 401
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        51: goto 55
        52: .line 402
      StackMap locals: int
      StackMap stack:
            aload 8 /* messageDigest */
            iload 11 /* i */
            baload
            aload 10 /* computedMessageDigest */
            iload 11 /* i */
            baload
            if_icmpeq 54
        53: .line 403
            aconst_null
            areturn
        54: .line 401
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 11 /* i */
            aload 8 /* messageDigest */
            arraylength
            if_icmplt 52
        end local 11 // int i
        56: .line 412
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            invokevirtual sun.security.pkcs.PKCS9Attributes.getDerEncoding:()[B
            astore 6 /* dataSigned */
        end local 10 // byte[] computedMessageDigest
        end local 9 // java.lang.String digestAlgname
        end local 8 // byte[] messageDigest
        end local 7 // sun.security.util.ObjectIdentifier contentType
        start local 6 // byte[] dataSigned
        57: .line 418
      StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
        58: .line 419
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
        59: .line 420
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            ifnonnull 60
            iconst_1
            goto 61
      StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters byte[]
      StackMap stack: sun.security.x509.AlgorithmId sun.security.x509.AlgorithmId
        60: iconst_0
        61: .line 417
      StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters byte[]
      StackMap stack: sun.security.x509.AlgorithmId sun.security.x509.AlgorithmId int
            invokestatic sun.security.pkcs.SignerInfo.makeSigAlg:(Lsun/security/x509/AlgorithmId;Lsun/security/x509/AlgorithmId;Z)Ljava/lang/String;
            astore 7 /* algname */
        start local 7 // java.lang.String algname
        62: .line 424
            getstatic sun.security.pkcs.SignerInfo.JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
            aload 7 /* algname */
            aload 5 /* cparams */
            invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/lang/String;Lsun/security/util/ConstraintsParameters;)V
        63: .line 425
            goto 66
      StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters byte[] java.lang.String
      StackMap stack: java.security.cert.CertPathValidatorException
        64: astore 8 /* e */
        start local 8 // java.security.cert.CertPathValidatorException e
        65: .line 426
            new java.security.SignatureException
            dup
            aload 8 /* e */
            invokevirtual java.security.cert.CertPathValidatorException.getMessage:()Ljava/lang/String;
            aload 8 /* e */
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.security.cert.CertPathValidatorException e
        66: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* block */
            invokevirtual sun.security.pkcs.SignerInfo.getCertificate:(Lsun/security/pkcs/PKCS7;)Ljava/security/cert/X509Certificate;
            astore 8 /* cert */
        start local 8 // java.security.cert.X509Certificate cert
        67: .line 430
            aload 8 /* cert */
            ifnonnull 69
        68: .line 431
            aconst_null
            areturn
        69: .line 433
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 8 /* cert */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 9 /* key */
        start local 9 // java.security.PublicKey key
        70: .line 436
            getstatic sun.security.pkcs.SignerInfo.JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
            getstatic sun.security.pkcs.SignerInfo.SIG_PRIMITIVE_SET:Ljava/util/Set;
            aload 9 /* key */
            invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/security/Key;)Z
            ifne 75
        71: .line 437
            new java.security.SignatureException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Public key check failed. Disabled key used: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        72: .line 439
            aload 9 /* key */
            invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bit "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        73: .line 440
            aload 9 /* key */
            invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        74: .line 437
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        75: .line 443
      StackMap locals: java.security.PublicKey
      StackMap stack:
            aload 8 /* cert */
            invokevirtual java.security.cert.X509Certificate.hasUnsupportedCriticalExtension:()Z
            ifeq 77
        76: .line 444
            new java.security.SignatureException
            dup
            ldc "Certificate has unsupported critical extension(s)"
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        77: .line 452
      StackMap locals:
      StackMap stack:
            aload 8 /* cert */
            invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
            astore 10 /* keyUsageBits */
        start local 10 // boolean[] keyUsageBits
        78: .line 453
            aload 10 /* keyUsageBits */
            ifnull 89
        79: .line 460
            new sun.security.x509.KeyUsageExtension
            dup
            aload 10 /* keyUsageBits */
            invokespecial sun.security.x509.KeyUsageExtension.<init>:([Z)V
            astore 11 /* keyUsage */
        start local 11 // sun.security.x509.KeyUsageExtension keyUsage
        80: .line 461
            goto 83
        end local 11 // sun.security.x509.KeyUsageExtension keyUsage
      StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters byte[] java.lang.String java.security.cert.X509Certificate java.security.PublicKey boolean[]
      StackMap stack: java.io.IOException
        81: pop
        82: .line 462
            new java.security.SignatureException
            dup
            ldc "Failed to parse keyUsage extension"
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        start local 11 // sun.security.x509.KeyUsageExtension keyUsage
        83: .line 467
      StackMap locals: sun.security.x509.KeyUsageExtension
      StackMap stack:
            aload 11 /* keyUsage */
            ldc "digital_signature"
            invokevirtual sun.security.x509.KeyUsageExtension.get:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
        84: .line 466
            istore 12 /* digSigAllowed */
        start local 12 // boolean digSigAllowed
        85: .line 470
            aload 11 /* keyUsage */
            ldc "non_repudiation"
            invokevirtual sun.security.x509.KeyUsageExtension.get:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
        86: .line 469
            istore 13 /* nonRepuAllowed */
        start local 13 // boolean nonRepuAllowed
        87: .line 472
            iload 12 /* digSigAllowed */
            ifne 89
            iload 13 /* nonRepuAllowed */
            ifne 89
        88: .line 473
            new java.security.SignatureException
            dup
            ldc "Key usage restricted: cannot be used for digital signatures"
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // boolean nonRepuAllowed
        end local 12 // boolean digSigAllowed
        end local 11 // sun.security.x509.KeyUsageExtension keyUsage
        89: .line 479
      StackMap locals:
      StackMap stack:
            aload 7 /* algname */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 11 /* sig */
        start local 11 // java.security.Signature sig
        90: .line 482
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.getParameters:()Ljava/security/AlgorithmParameters;
        91: .line 481
            astore 12 /* ap */
        start local 12 // java.security.AlgorithmParameters ap
        92: .line 484
            aload 11 /* sig */
            aload 9 /* key */
        93: .line 485
            aload 7 /* algname */
            aload 12 /* ap */
            invokestatic sun.security.util.SignatureUtil.getParamSpec:(Ljava/lang/String;Ljava/security/AlgorithmParameters;)Ljava/security/spec/AlgorithmParameterSpec;
        94: .line 484
            invokestatic sun.security.util.SignatureUtil.initVerifyWithParam:(Ljava/security/Signature;Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
        95: .line 486
            goto 98
        96: .line 487
      StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters byte[] java.lang.String java.security.cert.X509Certificate java.security.PublicKey boolean[] java.security.Signature java.security.AlgorithmParameters
      StackMap stack: java.lang.Exception
            astore 13 /* e */
        start local 13 // java.lang.Exception e
        97: .line 488
            new java.security.SignatureException
            dup
            aload 13 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            aload 13 /* e */
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.lang.Exception e
        98: .line 491
      StackMap locals:
      StackMap stack:
            aload 11 /* sig */
            aload 6 /* dataSigned */
            invokevirtual java.security.Signature.update:([B)V
        99: .line 492
            aload 11 /* sig */
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
            invokevirtual java.security.Signature.verify:([B)Z
            ifeq 106
       100: .line 493
            aload 0 /* this */
       101: areturn
        end local 12 // java.security.AlgorithmParameters ap
        end local 11 // java.security.Signature sig
        end local 10 // boolean[] keyUsageBits
        end local 9 // java.security.PublicKey key
        end local 8 // java.security.cert.X509Certificate cert
        end local 7 // java.lang.String algname
        end local 6 // byte[] dataSigned
        end local 5 // sun.security.util.ConstraintsParameters cparams
        end local 4 // java.security.Timestamp timestamp
        end local 3 // sun.security.pkcs.ContentInfo content
       102: .line 495
      StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[]
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
       103: .line 496
            new java.security.SignatureException
            dup
            new java.lang.StringBuilder
            dup
            ldc "IO error verifying signature:\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       104: .line 497
            aload 3 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       105: .line 496
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.io.IOException e
       106: .line 499
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // byte[] data
        end local 1 // sun.security.pkcs.PKCS7 block
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0  107     0                   this  Lsun/security/pkcs/SignerInfo;
            0  107     1                  block  Lsun/security/pkcs/PKCS7;
            0  107     2                   data  [B
            1  102     3                content  Lsun/security/pkcs/ContentInfo;
            4  102     4              timestamp  Ljava/security/Timestamp;
            9  102     5                cparams  Lsun/security/util/ConstraintsParameters;
           11   12     6             dataSigned  [B
           57  102     6             dataSigned  [B
           16   57     7            contentType  Lsun/security/util/ObjectIdentifier;
           23   57     8          messageDigest  [B
           26   57     9          digestAlgname  Ljava/lang/String;
           29   30    10                      e  Ljava/security/cert/CertPathValidatorException;
           45   46    10  computedMessageDigest  [B
           48   57    10  computedMessageDigest  [B
           38   42    11                      v  I
           43   45    11                     md  Lsun/security/provider/SHAKE256;
           47   48    11                     md  Ljava/security/MessageDigest;
           51   56    11                      i  I
           62  102     7                algname  Ljava/lang/String;
           65   66     8                      e  Ljava/security/cert/CertPathValidatorException;
           67  102     8                   cert  Ljava/security/cert/X509Certificate;
           70  102     9                    key  Ljava/security/PublicKey;
           78  102    10           keyUsageBits  [Z
           80   81    11               keyUsage  Lsun/security/x509/KeyUsageExtension;
           83   89    11               keyUsage  Lsun/security/x509/KeyUsageExtension;
           85   89    12          digSigAllowed  Z
           87   89    13         nonRepuAllowed  Z
           90  102    11                    sig  Ljava/security/Signature;
           92  102    12                     ap  Ljava/security/AlgorithmParameters;
           97   98    13                      e  Ljava/lang/Exception;
          103  106     3                      e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.Exception
          26    27      28  Class java.security.cert.CertPathValidatorException
          62    63      64  Class java.security.cert.CertPathValidatorException
          79    80      81  Class java.io.IOException
          92    95      96  Class java.security.ProviderException
          92    95      96  Class java.security.InvalidAlgorithmParameterException
          92    95      96  Class java.security.InvalidKeyException
           0    18     102  Class java.io.IOException
          19    24     102  Class java.io.IOException
          25    49     102  Class java.io.IOException
          50    53     102  Class java.io.IOException
          54    68     102  Class java.io.IOException
          69   101     102  Class java.io.IOException
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.SignatureException
    MethodParameters:
       Name  Flags
      block  
      data   

  public static java.lang.String makeSigAlg(sun.security.x509.AlgorithmId, sun.security.x509.AlgorithmId, boolean);
    descriptor: (Lsun/security/x509/AlgorithmId;Lsun/security/x509/AlgorithmId;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // sun.security.x509.AlgorithmId digAlgId
        start local 1 // sun.security.x509.AlgorithmId encAlgId
        start local 2 // boolean directSign
         0: .line 524
            aload 1 /* encAlgId */
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            astore 3 /* encAlg */
        start local 3 // java.lang.String encAlg
         1: .line 525
            aload 3 /* encAlg */
            dup
            astore 4
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
           -276032869: 2
             66753689: 3
           1775481508: 4
              default: 19
          }
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
         2: aload 4
            ldc "Ed25519"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 19
      StackMap locals:
      StackMap stack:
         3: aload 4
            ldc "Ed448"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 19
      StackMap locals:
      StackMap stack:
         4: aload 4
            ldc "RSASSA-PSS"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            goto 19
         5: .line 528
      StackMap locals:
      StackMap stack:
            aload 3 /* encAlg */
            aload 1 /* encAlgId */
            invokevirtual sun.security.x509.AlgorithmId.getParameters:()Ljava/security/AlgorithmParameters;
            invokestatic sun.security.util.SignatureUtil.getParamSpec:(Ljava/lang/String;Ljava/security/AlgorithmParameters;)Ljava/security/spec/AlgorithmParameterSpec;
         6: .line 527
            checkcast java.security.spec.PSSParameterSpec
            astore 5 /* spec */
        start local 5 // java.security.spec.PSSParameterSpec spec
         7: .line 529
            aload 5 /* spec */
            invokevirtual java.security.spec.PSSParameterSpec.getDigestAlgorithm:()Ljava/lang/String;
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
            aload 0 /* digAlgId */
            invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
            ifne 9
         8: .line 530
            new java.security.NoSuchAlgorithmException
            dup
            ldc "Incompatible digest algorithm"
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 532
      StackMap locals: java.security.spec.PSSParameterSpec
      StackMap stack:
            aload 3 /* encAlg */
            areturn
        end local 5 // java.security.spec.PSSParameterSpec spec
        10: .line 534
      StackMap locals:
      StackMap stack:
            aload 0 /* digAlgId */
            getstatic sun.security.util.SignatureUtil$EdDSADigestAlgHolder.sha512:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
            ifne 12
        11: .line 535
            new java.security.NoSuchAlgorithmException
            dup
            ldc "Incompatible digest algorithm"
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 537
      StackMap locals:
      StackMap stack:
            aload 3 /* encAlg */
            areturn
        13: .line 539
      StackMap locals:
      StackMap stack:
            iload 2 /* directSign */
            ifeq 16
        14: .line 540
            aload 0 /* digAlgId */
            getstatic sun.security.util.SignatureUtil$EdDSADigestAlgHolder.shake256:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
            ifne 18
        15: .line 541
            new java.security.NoSuchAlgorithmException
            dup
            ldc "Incompatible digest algorithm"
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 544
      StackMap locals:
      StackMap stack:
            aload 0 /* digAlgId */
            getstatic sun.security.util.SignatureUtil$EdDSADigestAlgHolder.shake256$512:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
            ifne 18
        17: .line 545
            new java.security.NoSuchAlgorithmException
            dup
            ldc "Incompatible digest algorithm"
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 548
      StackMap locals:
      StackMap stack:
            aload 3 /* encAlg */
            areturn
        19: .line 550
      StackMap locals:
      StackMap stack:
            aload 0 /* digAlgId */
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            astore 6 /* digAlg */
        start local 6 // java.lang.String digAlg
        20: .line 551
            aload 3 /* encAlg */
            invokestatic sun.security.util.SignatureUtil.extractKeyAlgFromDwithE:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* keyAlg */
        start local 7 // java.lang.String keyAlg
        21: .line 552
            aload 7 /* keyAlg */
            ifnonnull 23
        22: .line 554
            aload 3 /* encAlg */
            astore 7 /* keyAlg */
        23: .line 556
      StackMap locals: sun.security.x509.AlgorithmId sun.security.x509.AlgorithmId int java.lang.String java.lang.String top java.lang.String java.lang.String
      StackMap stack:
            aload 6 /* digAlg */
            ldc "SHA-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 25
        24: .line 557
            new java.lang.StringBuilder
            dup
            ldc "SHA"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* digAlg */
            iconst_4
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* digAlg */
        25: .line 559
      StackMap locals:
      StackMap stack:
            aload 7 /* keyAlg */
            ldc "EC"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
            ldc "ECDSA"
            astore 7 /* keyAlg */
        26: .line 560
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 6 /* digAlg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "with"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* keyAlg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 7 // java.lang.String keyAlg
        end local 6 // java.lang.String digAlg
        end local 3 // java.lang.String encAlg
        end local 2 // boolean directSign
        end local 1 // sun.security.x509.AlgorithmId encAlgId
        end local 0 // sun.security.x509.AlgorithmId digAlgId
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   27     0    digAlgId  Lsun/security/x509/AlgorithmId;
            0   27     1    encAlgId  Lsun/security/x509/AlgorithmId;
            0   27     2  directSign  Z
            1   27     3      encAlg  Ljava/lang/String;
            7   10     5        spec  Ljava/security/spec/PSSParameterSpec;
           20   27     6      digAlg  Ljava/lang/String;
           21   27     7      keyAlg  Ljava/lang/String;
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
            Name  Flags
      digAlgId    
      encAlgId    
      directSign  

  sun.security.pkcs.SignerInfo verify(sun.security.pkcs.PKCS7);
    descriptor: (Lsun/security/pkcs/PKCS7;)Lsun/security/pkcs/SignerInfo;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.pkcs.SignerInfo this
        start local 1 // sun.security.pkcs.PKCS7 block
         0: .line 567
            aload 0 /* this */
            aload 1 /* block */
            aconst_null
            invokevirtual sun.security.pkcs.SignerInfo.verify:(Lsun/security/pkcs/PKCS7;[B)Lsun/security/pkcs/SignerInfo;
            areturn
        end local 1 // sun.security.pkcs.PKCS7 block
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/pkcs/SignerInfo;
            0    1     1  block  Lsun/security/pkcs/PKCS7;
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.SignatureException
    MethodParameters:
       Name  Flags
      block  

  public java.math.BigInteger getVersion();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs.SignerInfo this
         0: .line 571
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.version:Ljava/math/BigInteger;
            areturn
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs/SignerInfo;

  public sun.security.x509.X500Name getIssuerName();
    descriptor: ()Lsun/security/x509/X500Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs.SignerInfo this
         0: .line 575
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
            areturn
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs/SignerInfo;

  public java.math.BigInteger getCertificateSerialNumber();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs.SignerInfo this
         0: .line 579
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
            areturn
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs/SignerInfo;

  public sun.security.x509.AlgorithmId getDigestAlgorithmId();
    descriptor: ()Lsun/security/x509/AlgorithmId;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs.SignerInfo this
         0: .line 583
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
            areturn
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs/SignerInfo;

  public sun.security.pkcs.PKCS9Attributes getAuthenticatedAttributes();
    descriptor: ()Lsun/security/pkcs/PKCS9Attributes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs.SignerInfo this
         0: .line 587
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            areturn
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs/SignerInfo;

  public sun.security.x509.AlgorithmId getDigestEncryptionAlgorithmId();
    descriptor: ()Lsun/security/x509/AlgorithmId;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs.SignerInfo this
         0: .line 591
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
            areturn
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs/SignerInfo;

  public byte[] getEncryptedDigest();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs.SignerInfo this
         0: .line 595
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
            areturn
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs/SignerInfo;

  public sun.security.pkcs.PKCS9Attributes getUnauthenticatedAttributes();
    descriptor: ()Lsun/security/pkcs/PKCS9Attributes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs.SignerInfo this
         0: .line 599
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            areturn
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs/SignerInfo;

  public sun.security.pkcs.PKCS7 getTsToken();
    descriptor: ()Lsun/security/pkcs/PKCS7;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.security.pkcs.SignerInfo this
         0: .line 607
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            ifnonnull 2
         1: .line 608
            aconst_null
            areturn
         2: .line 611
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
         3: .line 612
            getstatic sun.security.pkcs.PKCS9Attribute.SIGNATURE_TIMESTAMP_TOKEN_OID:Lsun/security/util/ObjectIdentifier;
         4: .line 611
            invokevirtual sun.security.pkcs.PKCS9Attributes.getAttribute:(Lsun/security/util/ObjectIdentifier;)Lsun/security/pkcs/PKCS9Attribute;
         5: .line 610
            astore 1 /* tsTokenAttr */
        start local 1 // sun.security.pkcs.PKCS9Attribute tsTokenAttr
         6: .line 613
            aload 1 /* tsTokenAttr */
            ifnonnull 8
         7: .line 614
            aconst_null
            areturn
         8: .line 616
      StackMap locals: sun.security.pkcs.PKCS9Attribute
      StackMap stack:
            new sun.security.pkcs.PKCS7
            dup
            aload 1 /* tsTokenAttr */
            invokevirtual sun.security.pkcs.PKCS9Attribute.getValue:()Ljava/lang/Object;
            checkcast byte[]
            invokespecial sun.security.pkcs.PKCS7.<init>:([B)V
            areturn
        end local 1 // sun.security.pkcs.PKCS9Attribute tsTokenAttr
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lsun/security/pkcs/SignerInfo;
            6    9     1  tsTokenAttr  Lsun/security/pkcs/PKCS9Attribute;
    Exceptions:
      throws java.io.IOException

  public java.security.Timestamp getTimestamp();
    descriptor: ()Ljava/security/Timestamp;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // sun.security.pkcs.SignerInfo this
         0: .line 643
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.timestamp:Ljava/security/Timestamp;
            ifnonnull 1
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.hasTimestamp:Z
            ifne 2
         1: .line 644
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.timestamp:Ljava/security/Timestamp;
            areturn
         2: .line 646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs.SignerInfo.getTsToken:()Lsun/security/pkcs/PKCS7;
            astore 1 /* tsToken */
        start local 1 // sun.security.pkcs.PKCS7 tsToken
         3: .line 647
            aload 1 /* tsToken */
            ifnonnull 6
         4: .line 648
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs.SignerInfo.hasTimestamp:Z
         5: .line 649
            aconst_null
            areturn
         6: .line 653
      StackMap locals: sun.security.pkcs.PKCS7
      StackMap stack:
            aload 1 /* tsToken */
            invokevirtual sun.security.pkcs.PKCS7.getContentInfo:()Lsun/security/pkcs/ContentInfo;
            invokevirtual sun.security.pkcs.ContentInfo.getData:()[B
            astore 2 /* encTsTokenInfo */
        start local 2 // byte[] encTsTokenInfo
         7: .line 656
            aload 1 /* tsToken */
            aload 2 /* encTsTokenInfo */
            invokevirtual sun.security.pkcs.PKCS7.verify:([B)[Lsun/security/pkcs/SignerInfo;
            astore 3 /* tsa */
        start local 3 // sun.security.pkcs.SignerInfo[] tsa
         8: .line 658
            aload 3 /* tsa */
            iconst_0
            aaload
            aload 1 /* tsToken */
            invokevirtual sun.security.pkcs.SignerInfo.getCertificateChain:(Lsun/security/pkcs/PKCS7;)Ljava/util/ArrayList;
            astore 4 /* chain */
        start local 4 // java.util.ArrayList chain
         9: .line 659
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 5 /* cf */
        start local 5 // java.security.cert.CertificateFactory cf
        10: .line 660
            aload 5 /* cf */
            aload 4 /* chain */
            invokevirtual java.security.cert.CertificateFactory.generateCertPath:(Ljava/util/List;)Ljava/security/cert/CertPath;
            astore 6 /* tsaChain */
        start local 6 // java.security.cert.CertPath tsaChain
        11: .line 662
            new sun.security.timestamp.TimestampToken
            dup
            aload 2 /* encTsTokenInfo */
            invokespecial sun.security.timestamp.TimestampToken.<init>:([B)V
            astore 7 /* tsTokenInfo */
        start local 7 // sun.security.timestamp.TimestampToken tsTokenInfo
        12: .line 664
            aload 0 /* this */
            aload 7 /* tsTokenInfo */
            invokevirtual sun.security.pkcs.SignerInfo.verifyTimestamp:(Lsun/security/timestamp/TimestampToken;)V
        13: .line 666
            aload 0 /* this */
            new java.security.Timestamp
            dup
            aload 7 /* tsTokenInfo */
            invokevirtual sun.security.timestamp.TimestampToken.getDate:()Ljava/util/Date;
            aload 6 /* tsaChain */
            invokespecial java.security.Timestamp.<init>:(Ljava/util/Date;Ljava/security/cert/CertPath;)V
            putfield sun.security.pkcs.SignerInfo.timestamp:Ljava/security/Timestamp;
        14: .line 667
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.timestamp:Ljava/security/Timestamp;
            areturn
        end local 7 // sun.security.timestamp.TimestampToken tsTokenInfo
        end local 6 // java.security.cert.CertPath tsaChain
        end local 5 // java.security.cert.CertificateFactory cf
        end local 4 // java.util.ArrayList chain
        end local 3 // sun.security.pkcs.SignerInfo[] tsa
        end local 2 // byte[] encTsTokenInfo
        end local 1 // sun.security.pkcs.PKCS7 tsToken
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lsun/security/pkcs/SignerInfo;
            3   15     1         tsToken  Lsun/security/pkcs/PKCS7;
            7   15     2  encTsTokenInfo  [B
            8   15     3             tsa  [Lsun/security/pkcs/SignerInfo;
            9   15     4           chain  Ljava/util/ArrayList<Ljava/security/cert/X509Certificate;>;
           10   15     5              cf  Ljava/security/cert/CertificateFactory;
           11   15     6        tsaChain  Ljava/security/cert/CertPath;
           12   15     7     tsTokenInfo  Lsun/security/timestamp/TimestampToken;
    Exceptions:
      throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.SignatureException, java.security.cert.CertificateException

  private void verifyTimestamp(sun.security.timestamp.TimestampToken);
    descriptor: (Lsun/security/timestamp/TimestampToken;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.security.pkcs.SignerInfo this
        start local 1 // sun.security.timestamp.TimestampToken token
         0: .line 677
            aload 1 /* token */
            invokevirtual sun.security.timestamp.TimestampToken.getHashAlgorithm:()Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            astore 2 /* digestAlgname */
        start local 2 // java.lang.String digestAlgname
         1: .line 679
            getstatic sun.security.pkcs.SignerInfo.JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
            getstatic sun.security.pkcs.SignerInfo.DIGEST_PRIMITIVE_SET:Ljava/util/Set;
            aload 2 /* digestAlgname */
         2: .line 680
            aconst_null
         3: .line 679
            invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
         4: .line 680
            ifne 8
         5: .line 681
            new java.security.SignatureException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Timestamp token digest check failed. Disabled algorithm used: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 682
            aload 2 /* digestAlgname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 681
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 686
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* digestAlgname */
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
         9: .line 685
            astore 3 /* md */
        start local 3 // java.security.MessageDigest md
        10: .line 688
            aload 1 /* token */
            invokevirtual sun.security.timestamp.TimestampToken.getHashedMessage:()[B
        11: .line 689
            aload 3 /* md */
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
            invokevirtual java.security.MessageDigest.digest:([B)[B
        12: .line 688
            invokestatic java.util.Arrays.equals:([B[B)Z
        13: .line 689
            ifne 18
        14: .line 691
            new java.security.SignatureException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Signature timestamp (#"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 692
            aload 1 /* token */
            invokevirtual sun.security.timestamp.TimestampToken.getSerialNumber:()Ljava/math/BigInteger;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") generated on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* token */
            invokevirtual sun.security.timestamp.TimestampToken.getDate:()Ljava/util/Date;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        16: .line 693
            ldc " is inapplicable"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 691
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 696
      StackMap locals: java.security.MessageDigest
      StackMap stack:
            getstatic sun.security.pkcs.SignerInfo.debug:Lsun/security/util/Debug;
            ifnull 24
        19: .line 697
            getstatic sun.security.pkcs.SignerInfo.debug:Lsun/security/util/Debug;
            invokevirtual sun.security.util.Debug.println:()V
        20: .line 698
            getstatic sun.security.pkcs.SignerInfo.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Detected signature timestamp (#"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 699
            aload 1 /* token */
            invokevirtual sun.security.timestamp.TimestampToken.getSerialNumber:()Ljava/math/BigInteger;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") generated on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* token */
            invokevirtual sun.security.timestamp.TimestampToken.getDate:()Ljava/util/Date;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 698
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        23: .line 700
            getstatic sun.security.pkcs.SignerInfo.debug:Lsun/security/util/Debug;
            invokevirtual sun.security.util.Debug.println:()V
        24: .line 702
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.security.MessageDigest md
        end local 2 // java.lang.String digestAlgname
        end local 1 // sun.security.timestamp.TimestampToken token
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Lsun/security/pkcs/SignerInfo;
            0   25     1          token  Lsun/security/timestamp/TimestampToken;
            1   25     2  digestAlgname  Ljava/lang/String;
           10   25     3             md  Ljava/security/MessageDigest;
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.SignatureException
    MethodParameters:
       Name  Flags
      token  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.security.pkcs.SignerInfo this
         0: .line 705
            new sun.security.util.HexDumpEncoder
            dup
            invokespecial sun.security.util.HexDumpEncoder.<init>:()V
            astore 1 /* hexDump */
        start local 1 // sun.security.util.HexDumpEncoder hexDump
         1: .line 707
            ldc ""
            astore 2 /* out */
        start local 2 // java.lang.String out
         2: .line 709
            new java.lang.StringBuilder
            dup
            aload 2 /* out */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Signer Info for (issuer): "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* out */
         3: .line 710
            new java.lang.StringBuilder
            dup
            aload 2 /* out */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\tversion: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.version:Ljava/math/BigInteger;
            invokestatic sun.security.util.Debug.toHexString:(Ljava/math/BigInteger;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* out */
         4: .line 711
            new java.lang.StringBuilder
            dup
            aload 2 /* out */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\tcertificateSerialNumber: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 712
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
            invokestatic sun.security.util.Debug.toHexString:(Ljava/math/BigInteger;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 711
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* out */
         7: .line 713
            new java.lang.StringBuilder
            dup
            aload 2 /* out */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\tdigestAlgorithmId: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* out */
         8: .line 714
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            ifnull 12
         9: .line 715
            new java.lang.StringBuilder
            dup
            aload 2 /* out */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\tauthenticatedAttributes: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        10: .line 716
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 715
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* out */
        12: .line 718
      StackMap locals: sun.security.util.HexDumpEncoder java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* out */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\tdigestEncryptionAlgorithmId: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        13: .line 719
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 718
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* out */
        15: .line 721
            new java.lang.StringBuilder
            dup
            aload 2 /* out */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\tencryptedDigest: \n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 722
            aload 1 /* hexDump */
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
            invokevirtual sun.security.util.HexDumpEncoder.encodeBuffer:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 721
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* out */
        18: .line 723
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            ifnull 22
        19: .line 724
            new java.lang.StringBuilder
            dup
            aload 2 /* out */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\tunauthenticatedAttributes: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 725
            aload 0 /* this */
            getfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 724
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* out */
        22: .line 727
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            areturn
        end local 2 // java.lang.String out
        end local 1 // sun.security.util.HexDumpEncoder hexDump
        end local 0 // sun.security.pkcs.SignerInfo this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Lsun/security/pkcs/SignerInfo;
            1   23     1  hexDump  Lsun/security/util/HexDumpEncoder;
            2   23     2      out  Ljava/lang/String;
}
SourceFile: "SignerInfo.java"
InnerClasses:
  public EdDSADigestAlgHolder = sun.security.util.SignatureUtil$EdDSADigestAlgHolder of sun.security.util.SignatureUtil