public final class sun.security.rsa.PSSParameters extends java.security.AlgorithmParametersSpi
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.security.rsa.PSSParameters
  super_class: java.security.AlgorithmParametersSpi
{
  private java.security.spec.PSSParameterSpec spec;
    descriptor: Ljava/security/spec/PSSParameterSpec;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.rsa.PSSParameters this
         0: .line 57
            aload 0 /* this */
            invokespecial java.security.AlgorithmParametersSpi.<init>:()V
         1: .line 58
            return
        end local 0 // sun.security.rsa.PSSParameters this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/rsa/PSSParameters;

  protected void engineInit(java.security.spec.AlgorithmParameterSpec);
    descriptor: (Ljava/security/spec/AlgorithmParameterSpec;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.security.rsa.PSSParameters this
        start local 1 // java.security.spec.AlgorithmParameterSpec paramSpec
         0: .line 63
            aload 1 /* paramSpec */
            instanceof java.security.spec.PSSParameterSpec
            ifne 4
         1: .line 64
            new java.security.spec.InvalidParameterSpecException
            dup
         2: .line 65
            ldc "Inappropriate parameter specification"
         3: .line 64
            invokespecial java.security.spec.InvalidParameterSpecException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 67
      StackMap locals:
      StackMap stack:
            aload 1 /* paramSpec */
            checkcast java.security.spec.PSSParameterSpec
            astore 2 /* spec */
        start local 2 // java.security.spec.PSSParameterSpec spec
         5: .line 69
            aload 2 /* spec */
            invokevirtual java.security.spec.PSSParameterSpec.getMGFAlgorithm:()Ljava/lang/String;
            astore 3 /* mgfName */
        start local 3 // java.lang.String mgfName
         6: .line 70
            aload 2 /* spec */
            invokevirtual java.security.spec.PSSParameterSpec.getMGFAlgorithm:()Ljava/lang/String;
            ldc "MGF1"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 10
         7: .line 71
            new java.security.spec.InvalidParameterSpecException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported mgf "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 72
            aload 3 /* mgfName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; MGF1 only"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 71
            invokespecial java.security.spec.InvalidParameterSpecException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 74
      StackMap locals: java.security.spec.PSSParameterSpec java.lang.String
      StackMap stack:
            aload 2 /* spec */
            invokevirtual java.security.spec.PSSParameterSpec.getMGFParameters:()Ljava/security/spec/AlgorithmParameterSpec;
            astore 4 /* mgfSpec */
        start local 4 // java.security.spec.AlgorithmParameterSpec mgfSpec
        11: .line 75
            aload 4 /* mgfSpec */
            instanceof java.security.spec.MGF1ParameterSpec
            ifne 13
        12: .line 76
            new java.security.spec.InvalidParameterSpecException
            dup
            ldc "Inappropriate mgf parameters; non-null MGF1ParameterSpec only"
            invokespecial java.security.spec.InvalidParameterSpecException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 79
      StackMap locals: java.security.spec.AlgorithmParameterSpec
      StackMap stack:
            aload 0 /* this */
            aload 2 /* spec */
            putfield sun.security.rsa.PSSParameters.spec:Ljava/security/spec/PSSParameterSpec;
        14: .line 80
            return
        end local 4 // java.security.spec.AlgorithmParameterSpec mgfSpec
        end local 3 // java.lang.String mgfName
        end local 2 // java.security.spec.PSSParameterSpec spec
        end local 1 // java.security.spec.AlgorithmParameterSpec paramSpec
        end local 0 // sun.security.rsa.PSSParameters this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lsun/security/rsa/PSSParameters;
            0   15     1  paramSpec  Ljava/security/spec/AlgorithmParameterSpec;
            5   15     2       spec  Ljava/security/spec/PSSParameterSpec;
            6   15     3    mgfName  Ljava/lang/String;
           11   15     4    mgfSpec  Ljava/security/spec/AlgorithmParameterSpec;
    Exceptions:
      throws java.security.spec.InvalidParameterSpecException
    MethodParameters:
           Name  Flags
      paramSpec  

  protected void engineInit(byte[]);
    descriptor: ([B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=16, args_size=2
        start local 0 // sun.security.rsa.PSSParameters this
        start local 1 // byte[] encoded
         0: .line 86
            getstatic java.security.spec.PSSParameterSpec.DEFAULT:Ljava/security/spec/PSSParameterSpec;
            invokevirtual java.security.spec.PSSParameterSpec.getDigestAlgorithm:()Ljava/lang/String;
            astore 2 /* mdName */
        start local 2 // java.lang.String mdName
         1: .line 87
            getstatic java.security.spec.PSSParameterSpec.DEFAULT:Ljava/security/spec/PSSParameterSpec;
            invokevirtual java.security.spec.PSSParameterSpec.getMGFParameters:()Ljava/security/spec/AlgorithmParameterSpec;
            checkcast java.security.spec.MGF1ParameterSpec
            astore 3 /* mgfSpec */
        start local 3 // java.security.spec.MGF1ParameterSpec mgfSpec
         2: .line 88
            getstatic java.security.spec.PSSParameterSpec.DEFAULT:Ljava/security/spec/PSSParameterSpec;
            invokevirtual java.security.spec.PSSParameterSpec.getSaltLength:()I
            istore 4 /* saltLength */
        start local 4 // int saltLength
         3: .line 89
            getstatic java.security.spec.PSSParameterSpec.DEFAULT:Ljava/security/spec/PSSParameterSpec;
            invokevirtual java.security.spec.PSSParameterSpec.getTrailerField:()I
            istore 5 /* trailerField */
        start local 5 // int trailerField
         4: .line 91
            new sun.security.util.DerInputStream
            dup
            aload 1 /* encoded */
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 6 /* der */
        start local 6 // sun.security.util.DerInputStream der
         5: .line 92
            aload 6 /* der */
            iconst_4
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
            astore 7 /* datum */
        start local 7 // sun.security.util.DerValue[] datum
         6: .line 94
            aload 7 /* datum */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 61
      StackMap locals: sun.security.rsa.PSSParameters byte[] java.lang.String java.security.spec.MGF1ParameterSpec int int sun.security.util.DerInputStream sun.security.util.DerValue[] top int int sun.security.util.DerValue[]
      StackMap stack:
         7: aload 11
            iload 9
            aaload
            astore 8 /* d */
        start local 8 // sun.security.util.DerValue d
         8: .line 95
            aload 8 /* d */
            iconst_0
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifeq 14
         9: .line 98
            aload 8 /* d */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
        10: .line 97
            invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
        11: .line 98
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
        12: .line 97
            astore 2 /* mdName */
        13: .line 99
            goto 60
      StackMap locals: sun.security.rsa.PSSParameters byte[] java.lang.String java.security.spec.MGF1ParameterSpec int int sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.util.DerValue int int sun.security.util.DerValue[]
      StackMap stack:
        14: aload 8 /* d */
            iconst_1
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifeq 49
        15: .line 101
            aload 8 /* d */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            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 12 /* val */
        start local 12 // sun.security.x509.AlgorithmId val
        16: .line 102
            aload 12 /* val */
            invokevirtual sun.security.x509.AlgorithmId.getOID:()Lsun/security/util/ObjectIdentifier;
            getstatic sun.security.x509.AlgorithmId.mgf1_oid:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifne 18
        17: .line 103
            new java.io.IOException
            dup
            ldc "Only MGF1 mgf is supported"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 106
      StackMap locals: sun.security.x509.AlgorithmId
      StackMap stack:
            new sun.security.util.DerValue
            dup
            aload 12 /* val */
            invokevirtual sun.security.x509.AlgorithmId.getEncodedParams:()[B
            invokespecial sun.security.util.DerValue.<init>:([B)V
        19: .line 105
            invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
            astore 13 /* params */
        start local 13 // sun.security.x509.AlgorithmId params
        20: .line 107
            aload 13 /* params */
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            astore 14 /* mgfDigestName */
        start local 14 // java.lang.String mgfDigestName
        21: .line 108
            aload 14 /* mgfDigestName */
            dup
            astore 15
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 7
          -1523887821: 22
          -1523887726: 23
          -1523886674: 24
          -1523884971: 25
             78861104: 26
            752961850: 27
            752961945: 28
              default: 43
          }
      StackMap locals: sun.security.x509.AlgorithmId java.lang.String java.lang.String
      StackMap stack:
        22: aload 15
            ldc "SHA-224"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 31
            goto 43
      StackMap locals:
      StackMap stack:
        23: aload 15
            ldc "SHA-256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 33
            goto 43
      StackMap locals:
      StackMap stack:
        24: aload 15
            ldc "SHA-384"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 35
            goto 43
      StackMap locals:
      StackMap stack:
        25: aload 15
            ldc "SHA-512"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 37
            goto 43
      StackMap locals:
      StackMap stack:
        26: aload 15
            ldc "SHA-1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 43
      StackMap locals:
      StackMap stack:
        27: aload 15
            ldc "SHA-512/224"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 39
            goto 43
      StackMap locals:
      StackMap stack:
        28: aload 15
            ldc "SHA-512/256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 41
            goto 43
        29: .line 110
      StackMap locals:
      StackMap stack:
            getstatic java.security.spec.MGF1ParameterSpec.SHA1:Ljava/security/spec/MGF1ParameterSpec;
            astore 3 /* mgfSpec */
        30: .line 111
            goto 60
        31: .line 113
      StackMap locals:
      StackMap stack:
            getstatic java.security.spec.MGF1ParameterSpec.SHA224:Ljava/security/spec/MGF1ParameterSpec;
            astore 3 /* mgfSpec */
        32: .line 114
            goto 60
        33: .line 116
      StackMap locals:
      StackMap stack:
            getstatic java.security.spec.MGF1ParameterSpec.SHA256:Ljava/security/spec/MGF1ParameterSpec;
            astore 3 /* mgfSpec */
        34: .line 117
            goto 60
        35: .line 119
      StackMap locals:
      StackMap stack:
            getstatic java.security.spec.MGF1ParameterSpec.SHA384:Ljava/security/spec/MGF1ParameterSpec;
            astore 3 /* mgfSpec */
        36: .line 120
            goto 60
        37: .line 122
      StackMap locals:
      StackMap stack:
            getstatic java.security.spec.MGF1ParameterSpec.SHA512:Ljava/security/spec/MGF1ParameterSpec;
            astore 3 /* mgfSpec */
        38: .line 123
            goto 60
        39: .line 125
      StackMap locals:
      StackMap stack:
            getstatic java.security.spec.MGF1ParameterSpec.SHA512_224:Ljava/security/spec/MGF1ParameterSpec;
            astore 3 /* mgfSpec */
        40: .line 126
            goto 60
        41: .line 128
      StackMap locals:
      StackMap stack:
            getstatic java.security.spec.MGF1ParameterSpec.SHA512_256:Ljava/security/spec/MGF1ParameterSpec;
            astore 3 /* mgfSpec */
        42: .line 129
            goto 60
        43: .line 131
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
        44: .line 132
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized message digest algorithm "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        45: .line 133
            aload 14 /* mgfDigestName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        46: .line 132
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        47: .line 131
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // java.lang.String mgfDigestName
        end local 13 // sun.security.x509.AlgorithmId params
        end local 12 // sun.security.x509.AlgorithmId val
        48: .line 135
      StackMap locals: sun.security.rsa.PSSParameters byte[] java.lang.String java.security.spec.MGF1ParameterSpec int int sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.util.DerValue int int sun.security.util.DerValue[]
      StackMap stack:
            goto 60
      StackMap locals:
      StackMap stack:
        49: aload 8 /* d */
            iconst_2
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifeq 53
        50: .line 137
            aload 8 /* d */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            invokevirtual sun.security.util.DerValue.getInteger:()I
            istore 4 /* saltLength */
        51: .line 138
            iload 4 /* saltLength */
            ifge 60
        52: .line 139
            new java.io.IOException
            dup
            ldc "Negative value for saltLength"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        53: .line 141
      StackMap locals:
      StackMap stack:
            aload 8 /* d */
            iconst_3
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifeq 59
        54: .line 143
            aload 8 /* d */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            invokevirtual sun.security.util.DerValue.getInteger:()I
            istore 5 /* trailerField */
        55: .line 144
            iload 5 /* trailerField */
            iconst_1
            if_icmpeq 60
        56: .line 145
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported trailerField value "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        57: .line 146
            iload 5 /* trailerField */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        58: .line 145
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        59: .line 149
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Invalid encoded PSSParameters"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // sun.security.util.DerValue d
        60: .line 94
      StackMap locals: sun.security.rsa.PSSParameters byte[] java.lang.String java.security.spec.MGF1ParameterSpec int int sun.security.util.DerInputStream sun.security.util.DerValue[] top int int sun.security.util.DerValue[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        61: iload 9
            iload 10
            if_icmplt 7
        62: .line 153
            aload 0 /* this */
            new java.security.spec.PSSParameterSpec
            dup
            aload 2 /* mdName */
            ldc "MGF1"
            aload 3 /* mgfSpec */
        63: .line 154
            iload 4 /* saltLength */
            iload 5 /* trailerField */
            invokespecial java.security.spec.PSSParameterSpec.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;II)V
        64: .line 153
            putfield sun.security.rsa.PSSParameters.spec:Ljava/security/spec/PSSParameterSpec;
        65: .line 155
            return
        end local 7 // sun.security.util.DerValue[] datum
        end local 6 // sun.security.util.DerInputStream der
        end local 5 // int trailerField
        end local 4 // int saltLength
        end local 3 // java.security.spec.MGF1ParameterSpec mgfSpec
        end local 2 // java.lang.String mdName
        end local 1 // byte[] encoded
        end local 0 // sun.security.rsa.PSSParameters this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   66     0           this  Lsun/security/rsa/PSSParameters;
            0   66     1        encoded  [B
            1   66     2         mdName  Ljava/lang/String;
            2   66     3        mgfSpec  Ljava/security/spec/MGF1ParameterSpec;
            3   66     4     saltLength  I
            4   66     5   trailerField  I
            5   66     6            der  Lsun/security/util/DerInputStream;
            6   66     7          datum  [Lsun/security/util/DerValue;
            8   60     8              d  Lsun/security/util/DerValue;
           16   48    12            val  Lsun/security/x509/AlgorithmId;
           20   48    13         params  Lsun/security/x509/AlgorithmId;
           21   48    14  mgfDigestName  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      encoded  

  protected void engineInit(byte[], java.lang.String);
    descriptor: ([BLjava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.security.rsa.PSSParameters this
        start local 1 // byte[] encoded
        start local 2 // java.lang.String decodingMethod
         0: .line 160
            aload 2 /* decodingMethod */
            ifnull 3
         1: .line 161
            aload 2 /* decodingMethod */
            ldc "ASN.1"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 3
         2: .line 162
            new java.lang.IllegalArgumentException
            dup
            ldc "Only support ASN.1 format"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* encoded */
            invokevirtual sun.security.rsa.PSSParameters.engineInit:([B)V
         4: .line 165
            return
        end local 2 // java.lang.String decodingMethod
        end local 1 // byte[] encoded
        end local 0 // sun.security.rsa.PSSParameters this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lsun/security/rsa/PSSParameters;
            0    5     1         encoded  [B
            0    5     2  decodingMethod  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      encoded         
      decodingMethod  

  protected <T extends java.security.spec.AlgorithmParameterSpec> T engineGetParameterSpec(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.rsa.PSSParameters this
        start local 1 // java.lang.Class paramSpec
         0: .line 171
            ldc Ljava/security/spec/PSSParameterSpec;
            aload 1 /* paramSpec */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 2
         1: .line 172
            aload 1 /* paramSpec */
            aload 0 /* this */
            getfield sun.security.rsa.PSSParameters.spec:Ljava/security/spec/PSSParameterSpec;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.spec.AlgorithmParameterSpec
            areturn
         2: .line 174
      StackMap locals:
      StackMap stack:
            new java.security.spec.InvalidParameterSpecException
            dup
         3: .line 175
            ldc "Inappropriate parameter specification"
         4: .line 174
            invokespecial java.security.spec.InvalidParameterSpecException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Class paramSpec
        end local 0 // sun.security.rsa.PSSParameters this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lsun/security/rsa/PSSParameters;
            0    5     1  paramSpec  Ljava/lang/Class<TT;>;
    Exceptions:
      throws java.security.spec.InvalidParameterSpecException
    Signature: <T::Ljava/security/spec/AlgorithmParameterSpec;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
           Name  Flags
      paramSpec  

  protected byte[] engineGetEncoded();
    descriptor: ()[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.rsa.PSSParameters this
         0: .line 181
            aload 0 /* this */
            getfield sun.security.rsa.PSSParameters.spec:Ljava/security/spec/PSSParameterSpec;
            invokestatic sun.security.rsa.PSSParameters.getEncoded:(Ljava/security/spec/PSSParameterSpec;)[B
            areturn
        end local 0 // sun.security.rsa.PSSParameters this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/rsa/PSSParameters;
    Exceptions:
      throws java.io.IOException

  protected byte[] engineGetEncoded(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.rsa.PSSParameters this
        start local 1 // java.lang.String encMethod
         0: .line 186
            aload 1 /* encMethod */
            ifnull 3
         1: .line 187
            aload 1 /* encMethod */
            ldc "ASN.1"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 3
         2: .line 188
            new java.lang.IllegalArgumentException
            dup
            ldc "Only support ASN.1 format"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.rsa.PSSParameters.engineGetEncoded:()[B
            areturn
        end local 1 // java.lang.String encMethod
        end local 0 // sun.security.rsa.PSSParameters this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lsun/security/rsa/PSSParameters;
            0    4     1  encMethod  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      encMethod  

  protected java.lang.String engineToString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.rsa.PSSParameters this
         0: .line 195
            aload 0 /* this */
            getfield sun.security.rsa.PSSParameters.spec:Ljava/security/spec/PSSParameterSpec;
            invokevirtual java.security.spec.PSSParameterSpec.toString:()Ljava/lang/String;
            areturn
        end local 0 // sun.security.rsa.PSSParameters this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/rsa/PSSParameters;

  public static byte[] getEncoded(java.security.spec.PSSParameterSpec);
    descriptor: (Ljava/security/spec/PSSParameterSpec;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // java.security.spec.PSSParameterSpec spec
         0: .line 209
            aload 0 /* spec */
            invokevirtual java.security.spec.PSSParameterSpec.getMGFParameters:()Ljava/security/spec/AlgorithmParameterSpec;
            astore 1 /* mgfSpec */
        start local 1 // java.security.spec.AlgorithmParameterSpec mgfSpec
         1: .line 210
            aload 1 /* mgfSpec */
            instanceof java.security.spec.MGF1ParameterSpec
            ifne 3
         2: .line 211
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot encode "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* mgfSpec */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 214
      StackMap locals: java.security.spec.AlgorithmParameterSpec
      StackMap stack:
            aload 1 /* mgfSpec */
            checkcast java.security.spec.MGF1ParameterSpec
            astore 2 /* mgf1Spec */
        start local 2 // java.security.spec.MGF1ParameterSpec mgf1Spec
         4: .line 216
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 3 /* tmp */
        start local 3 // sun.security.util.DerOutputStream tmp
         5: .line 222
            aload 0 /* spec */
            invokevirtual java.security.spec.PSSParameterSpec.getDigestAlgorithm:()Ljava/lang/String;
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
            astore 6 /* mdAlgId */
        start local 6 // sun.security.x509.AlgorithmId mdAlgId
         6: .line 223
            goto 11
        end local 6 // sun.security.x509.AlgorithmId mdAlgId
      StackMap locals: java.security.spec.PSSParameterSpec java.security.spec.AlgorithmParameterSpec java.security.spec.MGF1ParameterSpec sun.security.util.DerOutputStream
      StackMap stack: java.security.NoSuchAlgorithmException
         7: pop
         8: .line 224
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "AlgorithmId "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* spec */
            invokevirtual java.security.spec.PSSParameterSpec.getDigestAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 225
            ldc " impl not found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 224
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        start local 6 // sun.security.x509.AlgorithmId mdAlgId
        11: .line 227
      StackMap locals: java.security.spec.PSSParameterSpec java.security.spec.AlgorithmParameterSpec java.security.spec.MGF1ParameterSpec sun.security.util.DerOutputStream top top sun.security.x509.AlgorithmId
      StackMap stack:
            aload 6 /* mdAlgId */
            invokevirtual sun.security.x509.AlgorithmId.getOID:()Lsun/security/util/ObjectIdentifier;
            getstatic sun.security.x509.AlgorithmId.SHA_oid:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifne 17
        12: .line 228
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 4 /* tmp2 */
        start local 4 // sun.security.util.DerOutputStream tmp2
        13: .line 229
            aload 6 /* mdAlgId */
            aload 4 /* tmp2 */
            invokevirtual sun.security.x509.AlgorithmId.derEncode:(Ljava/io/OutputStream;)V
        14: .line 230
            aload 3 /* tmp */
            bipush -128
            iconst_1
            iconst_0
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        15: .line 231
            aload 4 /* tmp2 */
        16: .line 230
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        end local 4 // sun.security.util.DerOutputStream tmp2
        17: .line 237
      StackMap locals:
      StackMap stack:
            aload 2 /* mgf1Spec */
            invokevirtual java.security.spec.MGF1ParameterSpec.getDigestAlgorithm:()Ljava/lang/String;
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
            astore 7 /* mgfDigestId */
        start local 7 // sun.security.x509.AlgorithmId mgfDigestId
        18: .line 238
            goto 23
        end local 7 // sun.security.x509.AlgorithmId mgfDigestId
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
        19: pop
        20: .line 239
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "AlgorithmId "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 240
            aload 2 /* mgf1Spec */
            invokevirtual java.security.spec.MGF1ParameterSpec.getDigestAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " impl not found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 239
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        start local 7 // sun.security.x509.AlgorithmId mgfDigestId
        23: .line 243
      StackMap locals: sun.security.x509.AlgorithmId
      StackMap stack:
            aload 7 /* mgfDigestId */
            invokevirtual sun.security.x509.AlgorithmId.getOID:()Lsun/security/util/ObjectIdentifier;
            getstatic sun.security.x509.AlgorithmId.SHA_oid:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifne 32
        24: .line 244
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 4 /* tmp2 */
        start local 4 // sun.security.util.DerOutputStream tmp2
        25: .line 245
            aload 4 /* tmp2 */
            getstatic sun.security.x509.AlgorithmId.mgf1_oid:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
        26: .line 246
            aload 7 /* mgfDigestId */
            aload 4 /* tmp2 */
            invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
        27: .line 247
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 5 /* tmp3 */
        start local 5 // sun.security.util.DerOutputStream tmp3
        28: .line 248
            aload 5 /* tmp3 */
            bipush 48
            aload 4 /* tmp2 */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        29: .line 249
            aload 3 /* tmp */
            bipush -128
            iconst_1
            iconst_1
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        30: .line 250
            aload 5 /* tmp3 */
        31: .line 249
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        end local 5 // sun.security.util.DerOutputStream tmp3
        end local 4 // sun.security.util.DerOutputStream tmp2
        32: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* spec */
            invokevirtual java.security.spec.PSSParameterSpec.getSaltLength:()I
            bipush 20
            if_icmpeq 38
        33: .line 255
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 4 /* tmp2 */
        start local 4 // sun.security.util.DerOutputStream tmp2
        34: .line 256
            aload 4 /* tmp2 */
            aload 0 /* spec */
            invokevirtual java.security.spec.PSSParameterSpec.getSaltLength:()I
            invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
        35: .line 257
            aload 3 /* tmp */
            bipush -128
            iconst_1
            iconst_2
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        36: .line 258
            aload 4 /* tmp2 */
        37: .line 257
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        end local 4 // sun.security.util.DerOutputStream tmp2
        38: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* spec */
            invokevirtual java.security.spec.PSSParameterSpec.getTrailerField:()I
            iconst_1
            if_icmpeq 44
        39: .line 263
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 4 /* tmp2 */
        start local 4 // sun.security.util.DerOutputStream tmp2
        40: .line 264
            aload 4 /* tmp2 */
            aload 0 /* spec */
            invokevirtual java.security.spec.PSSParameterSpec.getTrailerField:()I
            invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
        41: .line 265
            aload 3 /* tmp */
            bipush -128
            iconst_1
            iconst_3
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        42: .line 266
            aload 4 /* tmp2 */
        43: .line 265
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        end local 4 // sun.security.util.DerOutputStream tmp2
        44: .line 270
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 8 /* out */
        start local 8 // sun.security.util.DerOutputStream out
        45: .line 271
            aload 8 /* out */
            bipush 48
            aload 3 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        46: .line 272
            aload 8 /* out */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            areturn
        end local 8 // sun.security.util.DerOutputStream out
        end local 7 // sun.security.x509.AlgorithmId mgfDigestId
        end local 6 // sun.security.x509.AlgorithmId mdAlgId
        end local 3 // sun.security.util.DerOutputStream tmp
        end local 2 // java.security.spec.MGF1ParameterSpec mgf1Spec
        end local 1 // java.security.spec.AlgorithmParameterSpec mgfSpec
        end local 0 // java.security.spec.PSSParameterSpec spec
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   47     0         spec  Ljava/security/spec/PSSParameterSpec;
            1   47     1      mgfSpec  Ljava/security/spec/AlgorithmParameterSpec;
            4   47     2     mgf1Spec  Ljava/security/spec/MGF1ParameterSpec;
            5   47     3          tmp  Lsun/security/util/DerOutputStream;
           13   17     4         tmp2  Lsun/security/util/DerOutputStream;
           25   32     4         tmp2  Lsun/security/util/DerOutputStream;
           34   38     4         tmp2  Lsun/security/util/DerOutputStream;
           40   44     4         tmp2  Lsun/security/util/DerOutputStream;
           28   32     5         tmp3  Lsun/security/util/DerOutputStream;
            6    7     6      mdAlgId  Lsun/security/x509/AlgorithmId;
           11   47     6      mdAlgId  Lsun/security/x509/AlgorithmId;
           18   19     7  mgfDigestId  Lsun/security/x509/AlgorithmId;
           23   47     7  mgfDigestId  Lsun/security/x509/AlgorithmId;
           45   47     8          out  Lsun/security/util/DerOutputStream;
      Exception table:
        from    to  target  type
           5     6       7  Class java.security.NoSuchAlgorithmException
          17    18      19  Class java.security.NoSuchAlgorithmException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      spec  
}
SourceFile: "PSSParameters.java"