public abstract class org.jcp.xml.dsig.internal.dom.DOMSignatureMethod extends org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  super_class: org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod
{
  private static final com.sun.org.slf4j.internal.Logger LOG;
    descriptor: Lcom/sun/org/slf4j/internal/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec params;
    descriptor: Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
    flags: (0x0002) ACC_PRIVATE

  private java.security.Signature signature;
    descriptor: Ljava/security/Signature;
    flags: (0x0002) ACC_PRIVATE

  static final java.lang.String RSA_SHA224;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha224"

  static final java.lang.String RSA_SHA256;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"

  static final java.lang.String RSA_SHA384;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"

  static final java.lang.String RSA_SHA512;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"

  static final java.lang.String RSA_RIPEMD160;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160"

  static final java.lang.String ECDSA_SHA1;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"

  static final java.lang.String ECDSA_SHA224;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha224"

  static final java.lang.String ECDSA_SHA256;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256"

  static final java.lang.String ECDSA_SHA384;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384"

  static final java.lang.String ECDSA_SHA512;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512"

  static final java.lang.String DSA_SHA256;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2009/xmldsig11#dsa-sha256"

  static final java.lang.String ECDSA_RIPEMD160;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2007/05/xmldsig-more#ecdsa-ripemd160"

  static final java.lang.String RSA_SHA1_MGF1;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2007/05/xmldsig-more#sha1-rsa-MGF1"

  static final java.lang.String RSA_SHA224_MGF1;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2007/05/xmldsig-more#sha224-rsa-MGF1"

  static final java.lang.String RSA_SHA256_MGF1;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2007/05/xmldsig-more#sha256-rsa-MGF1"

  static final java.lang.String RSA_SHA384_MGF1;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2007/05/xmldsig-more#sha384-rsa-MGF1"

  static final java.lang.String RSA_SHA512_MGF1;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2007/05/xmldsig-more#sha512-rsa-MGF1"

  static final java.lang.String RSA_RIPEMD160_MGF1;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2007/05/xmldsig-more#ripemd160-rsa-MGF1"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 56
            ldc Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
            invokestatic com.sun.org.slf4j.internal.LoggerFactory.getLogger:(Ljava/lang/Class;)Lcom/sun/org/slf4j/internal/Logger;
         1: .line 55
            putstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.LOG:Lcom/sun/org/slf4j/internal/Logger;
         2: .line 99
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.security.spec.AlgorithmParameterSpec);
    descriptor: (Ljava/security/spec/AlgorithmParameterSpec;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMSignatureMethod this
        start local 1 // java.security.spec.AlgorithmParameterSpec params
         0: .line 108
            aload 0 /* this */
            invokespecial org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.<init>:()V
         1: .line 111
            aload 1 /* params */
            ifnull 6
         2: .line 112
            aload 1 /* params */
            instanceof javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec
            ifne 6
         3: .line 113
            new java.security.InvalidAlgorithmParameterException
            dup
         4: .line 114
            ldc "params must be of type SignatureMethodParameterSpec"
         5: .line 113
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 116
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.spec.AlgorithmParameterSpec
      StackMap stack:
            aload 0 /* this */
            aload 1 /* params */
            checkcast javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.checkParams:(Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;)V
         7: .line 117
            aload 0 /* this */
            aload 1 /* params */
            checkcast javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec
            putfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.params:Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
         8: .line 118
            return
        end local 1 // java.security.spec.AlgorithmParameterSpec params
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMSignatureMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
            0    9     1  params  Ljava/security/spec/AlgorithmParameterSpec;
    Exceptions:
      throws java.security.InvalidAlgorithmParameterException
    MethodParameters:
        Name  Flags
      params  

  void <init>(org.w3c.dom.Element);
    descriptor: (Lorg/w3c/dom/Element;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMSignatureMethod this
        start local 1 // org.w3c.dom.Element smElem
         0: .line 127
            aload 0 /* this */
            invokespecial org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.<init>:()V
         1: .line 128
            aload 1 /* smElem */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getFirstChildElement:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Element;
            astore 2 /* paramsElem */
        start local 2 // org.w3c.dom.Element paramsElem
         2: .line 129
            aload 2 /* paramsElem */
            ifnull 4
         3: .line 130
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* paramsElem */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.unmarshalParams:(Lorg/w3c/dom/Element;)Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
            putfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.params:Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
         4: .line 133
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod org.w3c.dom.Element org.w3c.dom.Element
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.params:Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.checkParams:(Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;)V
         5: .line 134
            goto 8
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
         6: astore 3 /* iape */
        start local 3 // java.security.InvalidAlgorithmParameterException iape
         7: .line 135
            new javax.xml.crypto.MarshalException
            dup
            aload 3 /* iape */
            invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.security.InvalidAlgorithmParameterException iape
         8: .line 137
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.w3c.dom.Element paramsElem
        end local 1 // org.w3c.dom.Element smElem
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMSignatureMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
            0    9     1      smElem  Lorg/w3c/dom/Element;
            2    9     2  paramsElem  Lorg/w3c/dom/Element;
            7    8     3        iape  Ljava/security/InvalidAlgorithmParameterException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.security.InvalidAlgorithmParameterException
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
        Name  Flags
      smElem  

  abstract byte[] postSignFormat(java.security.Key, byte[]);
    descriptor: (Ljava/security/Key;[B)[B
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      key   
      sig   

  abstract byte[] preVerifyFormat(java.security.Key, byte[]);
    descriptor: (Ljava/security/Key;[B)[B
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      key   
      sig   

  static javax.xml.crypto.dsig.SignatureMethod unmarshal(org.w3c.dom.Element);
    descriptor: (Lorg/w3c/dom/Element;)Ljavax/xml/crypto/dsig/SignatureMethod;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.w3c.dom.Element smElem
         0: .line 168
            aload 0 /* smElem */
            ldc "Algorithm"
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getAttributeValue:(Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* alg */
        start local 1 // java.lang.String alg
         1: .line 169
            aload 1 /* alg */
            ldc "http://www.w3.org/2000/09/xmldsig#rsa-sha1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 170
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withRSA
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withRSA.<init>:(Lorg/w3c/dom/Element;)V
            areturn
         3: .line 171
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#rsa-sha224"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 172
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA224withRSA
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA224withRSA.<init>:(Lorg/w3c/dom/Element;)V
            areturn
         5: .line 173
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 174
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withRSA
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withRSA.<init>:(Lorg/w3c/dom/Element;)V
            areturn
         7: .line 175
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 176
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withRSA
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withRSA.<init>:(Lorg/w3c/dom/Element;)V
            areturn
         9: .line 177
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 178
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withRSA
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withRSA.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        11: .line 179
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 180
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$RIPEMD160withRSA
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$RIPEMD160withRSA.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        13: .line 181
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2007/05/xmldsig-more#sha1-rsa-MGF1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 182
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withRSAandMGF1
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withRSAandMGF1.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        15: .line 183
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2007/05/xmldsig-more#sha224-rsa-MGF1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 184
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA224withRSAandMGF1
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA224withRSAandMGF1.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        17: .line 185
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2007/05/xmldsig-more#sha256-rsa-MGF1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 186
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withRSAandMGF1
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withRSAandMGF1.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        19: .line 187
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2007/05/xmldsig-more#sha384-rsa-MGF1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        20: .line 188
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withRSAandMGF1
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withRSAandMGF1.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        21: .line 189
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2007/05/xmldsig-more#sha512-rsa-MGF1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        22: .line 190
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withRSAandMGF1
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withRSAandMGF1.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        23: .line 191
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2007/05/xmldsig-more#ripemd160-rsa-MGF1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        24: .line 192
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$RIPEMD160withRSAandMGF1
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$RIPEMD160withRSAandMGF1.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        25: .line 193
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2000/09/xmldsig#dsa-sha1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 27
        26: .line 194
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withDSA
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withDSA.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        27: .line 195
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2009/xmldsig11#dsa-sha256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        28: .line 196
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withDSA
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withDSA.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        29: .line 197
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
        30: .line 198
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withECDSA
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withECDSA.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        31: .line 199
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha224"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        32: .line 200
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA224withECDSA
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA224withECDSA.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        33: .line 201
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
        34: .line 202
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withECDSA
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withECDSA.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        35: .line 203
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 37
        36: .line 204
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withECDSA
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withECDSA.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        37: .line 205
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 39
        38: .line 206
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withECDSA
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withECDSA.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        39: .line 207
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2007/05/xmldsig-more#ecdsa-ripemd160"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 41
        40: .line 208
            new org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$RIPEMD160withECDSA
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$RIPEMD160withECDSA.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        41: .line 209
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2000/09/xmldsig#hmac-sha1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 43
        42: .line 210
            new org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA1
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA1.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        43: .line 211
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#hmac-sha224"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 45
        44: .line 212
            new org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA224
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA224.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        45: .line 213
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#hmac-sha256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 47
        46: .line 214
            new org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA256
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA256.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        47: .line 215
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#hmac-sha384"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 49
        48: .line 216
            new org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA384
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA384.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        49: .line 217
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#hmac-sha512"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 51
        50: .line 218
            new org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA512
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA512.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        51: .line 219
      StackMap locals:
      StackMap stack:
            aload 1 /* alg */
            ldc "http://www.w3.org/2001/04/xmldsig-more#hmac-ripemd160"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 53
        52: .line 220
            new org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$RIPEMD160
            dup
            aload 0 /* smElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$RIPEMD160.<init>:(Lorg/w3c/dom/Element;)V
            areturn
        53: .line 222
      StackMap locals:
      StackMap stack:
            new javax.xml.crypto.MarshalException
            dup
        54: .line 223
            new java.lang.StringBuilder
            dup
            ldc "unsupported SignatureMethod algorithm: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* alg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        55: .line 222
            invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String alg
        end local 0 // org.w3c.dom.Element smElem
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   56     0  smElem  Lorg/w3c/dom/Element;
            1   56     1     alg  Ljava/lang/String;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
        Name  Flags
      smElem  

  public final java.security.spec.AlgorithmParameterSpec getParameterSpec();
    descriptor: ()Ljava/security/spec/AlgorithmParameterSpec;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMSignatureMethod this
         0: .line 228
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.params:Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
            areturn
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMSignatureMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;

  java.security.Signature getSignature(java.security.Provider);
    descriptor: (Ljava/security/Provider;)Ljava/security/Signature;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMSignatureMethod this
        start local 1 // java.security.Provider p
         0: .line 243
            aload 1 /* p */
            ifnonnull 2
         1: .line 244
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getJCAAlgorithm:()Ljava/lang/String;
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            goto 3
         2: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getJCAAlgorithm:()Ljava/lang/String;
            aload 1 /* p */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Signature;
         3: .line 243
      StackMap locals:
      StackMap stack: java.security.Signature
            areturn
        end local 1 // java.security.Provider p
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMSignatureMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
            0    4     1     p  Ljava/security/Provider;
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
      Name  Flags
      p     

  boolean verify(java.security.Key, javax.xml.crypto.dsig.SignedInfo, byte[], javax.xml.crypto.dsig.XMLValidateContext);
    descriptor: (Ljava/security/Key;Ljavax/xml/crypto/dsig/SignedInfo;[BLjavax/xml/crypto/dsig/XMLValidateContext;)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMSignatureMethod this
        start local 1 // java.security.Key key
        start local 2 // javax.xml.crypto.dsig.SignedInfo si
        start local 3 // byte[] sig
        start local 4 // javax.xml.crypto.dsig.XMLValidateContext context
         0: .line 252
            aload 1 /* key */
            ifnull 1
            aload 2 /* si */
            ifnull 1
            aload 3 /* sig */
            ifnonnull 2
         1: .line 253
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 256
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            instanceof java.security.PublicKey
            ifne 4
         3: .line 257
            new java.security.InvalidKeyException
            dup
            ldc "key must be PublicKey"
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 259
      StackMap locals:
      StackMap stack:
            aload 4 /* context */
            aload 1 /* key */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.checkKeySize:(Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Key;)V
         5: .line 260
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
            ifnonnull 13
         6: .line 261
            aload 4 /* context */
         7: .line 262
            ldc "org.jcp.xml.dsig.internal.dom.SignatureProvider"
         8: .line 261
            invokeinterface javax.xml.crypto.dsig.XMLValidateContext.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.security.Provider
            astore 5 /* p */
        start local 5 // java.security.Provider p
         9: .line 264
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* p */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getSignature:(Ljava/security/Provider;)Ljava/security/Signature;
            putfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
        10: .line 265
            goto 13
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Key javax.xml.crypto.dsig.SignedInfo byte[] javax.xml.crypto.dsig.XMLValidateContext java.security.Provider
      StackMap stack: java.security.NoSuchAlgorithmException
        11: astore 6 /* nsae */
        start local 6 // java.security.NoSuchAlgorithmException nsae
        12: .line 266
            new javax.xml.crypto.dsig.XMLSignatureException
            dup
            aload 6 /* nsae */
            invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.security.NoSuchAlgorithmException nsae
        end local 5 // java.security.Provider p
        13: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
            aload 1 /* key */
            checkcast java.security.PublicKey
            invokevirtual java.security.Signature.initVerify:(Ljava/security/PublicKey;)V
        14: .line 270
            getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "Signature provider: {}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
            invokevirtual java.security.Signature.getProvider:()Ljava/security/Provider;
            aastore
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        15: .line 271
            getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "Verifying with key: {}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 272
            getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "JCA Algorithm: {}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getJCAAlgorithm:()Ljava/lang/String;
            aastore
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        17: .line 273
            getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "Signature Bytes length: {}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* sig */
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        18: .line 276
            aconst_null
            astore 6
            aconst_null
            astore 7
        19: new org.jcp.xml.dsig.internal.SignerOutputStream
            dup
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
            invokespecial org.jcp.xml.dsig.internal.SignerOutputStream.<init>:(Ljava/security/Signature;)V
            astore 8 /* outputStream */
        start local 8 // org.jcp.xml.dsig.internal.SignerOutputStream outputStream
        20: .line 277
            aload 2 /* si */
            checkcast org.jcp.xml.dsig.internal.dom.DOMSignedInfo
            aload 4 /* context */
            aload 8 /* outputStream */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignedInfo.canonicalize:(Ljavax/xml/crypto/XMLCryptoContext;Ljava/io/ByteArrayOutputStream;)V
        21: .line 279
            aload 0 /* this */
            aload 1 /* key */
            aload 3 /* sig */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.preVerifyFormat:(Ljava/security/Key;[B)[B
            astore 5 /* s */
        start local 5 // byte[] s
        22: .line 280
            aload 8 /* outputStream */
            ifnull 30
            aload 8 /* outputStream */
            invokevirtual org.jcp.xml.dsig.internal.SignerOutputStream.close:()V
            goto 30
        end local 5 // byte[] s
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Key javax.xml.crypto.dsig.SignedInfo byte[] javax.xml.crypto.dsig.XMLValidateContext top java.lang.Throwable java.lang.Throwable org.jcp.xml.dsig.internal.SignerOutputStream
      StackMap stack: java.lang.Throwable
        23: astore 6
            aload 8 /* outputStream */
            ifnull 24
            aload 8 /* outputStream */
            invokevirtual org.jcp.xml.dsig.internal.SignerOutputStream.close:()V
        end local 8 // org.jcp.xml.dsig.internal.SignerOutputStream outputStream
      StackMap locals:
      StackMap stack:
        24: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 7
            aload 6
            ifnonnull 26
            aload 7
            astore 6
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 6
            aload 7
            if_acmpeq 27
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        27: aload 6
            athrow
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Key javax.xml.crypto.dsig.SignedInfo byte[] javax.xml.crypto.dsig.XMLValidateContext
      StackMap stack: java.io.IOException
        28: astore 6 /* ioe */
        start local 6 // java.io.IOException ioe
        29: .line 281
            new javax.xml.crypto.dsig.XMLSignatureException
            dup
            aload 6 /* ioe */
            invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException ioe
        start local 5 // byte[] s
        30: .line 283
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
            aload 5 /* s */
            invokevirtual java.security.Signature.verify:([B)Z
            ireturn
        end local 5 // byte[] s
        end local 4 // javax.xml.crypto.dsig.XMLValidateContext context
        end local 3 // byte[] sig
        end local 2 // javax.xml.crypto.dsig.SignedInfo si
        end local 1 // java.security.Key key
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMSignatureMethod this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   31     0          this  Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
            0   31     1           key  Ljava/security/Key;
            0   31     2            si  Ljavax/xml/crypto/dsig/SignedInfo;
            0   31     3           sig  [B
            0   31     4       context  Ljavax/xml/crypto/dsig/XMLValidateContext;
            9   13     5             p  Ljava/security/Provider;
           12   13     6          nsae  Ljava/security/NoSuchAlgorithmException;
           22   23     5             s  [B
           30   31     5             s  [B
           20   24     8  outputStream  Lorg/jcp/xml/dsig/internal/SignerOutputStream;
           29   30     6           ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           9    10      11  Class java.security.NoSuchAlgorithmException
          20    22      23  any
          19    25      25  any
          18    28      28  Class java.io.IOException
    Exceptions:
      throws java.security.InvalidKeyException, java.security.SignatureException, javax.xml.crypto.dsig.XMLSignatureException
    MethodParameters:
         Name  Flags
      key      
      si       
      sig      
      context  

  private static void checkKeySize(javax.xml.crypto.XMLCryptoContext, java.security.Key);
    descriptor: (Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Key;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javax.xml.crypto.XMLCryptoContext context
        start local 1 // java.security.Key key
         0: .line 296
            aload 0 /* context */
            invokestatic org.jcp.xml.dsig.internal.dom.Utils.secureValidation:(Ljavax/xml/crypto/XMLCryptoContext;)Z
            ifeq 13
         1: .line 297
            aload 1 /* key */
            invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
            istore 2 /* size */
        start local 2 // int size
         2: .line 298
            iload 2 /* size */
            iconst_m1
            if_icmpne 7
         3: .line 302
            getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.LOG:Lcom/sun/org/slf4j/internal/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Size for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 303
            aload 1 /* key */
            invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " key cannot be determined"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 302
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;)V
         6: .line 304
            return
         7: .line 306
      StackMap locals: int
      StackMap stack:
            aload 1 /* key */
            invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
            iload 2 /* size */
            invokestatic org.jcp.xml.dsig.internal.dom.Policy.restrictKey:(Ljava/lang/String;I)Z
            ifeq 13
         8: .line 307
            new javax.xml.crypto.dsig.XMLSignatureException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* key */
            invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 308
            ldc " keys less than "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 309
            aload 1 /* key */
            invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
            invokestatic org.jcp.xml.dsig.internal.dom.Policy.minKeySize:(Ljava/lang/String;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bits are"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 310
            ldc " forbidden when secure validation is enabled"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 307
            invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // int size
        13: .line 313
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.Key key
        end local 0 // javax.xml.crypto.XMLCryptoContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0  context  Ljavax/xml/crypto/XMLCryptoContext;
            0   14     1      key  Ljava/security/Key;
            2   13     2     size  I
    Exceptions:
      throws javax.xml.crypto.dsig.XMLSignatureException
    MethodParameters:
         Name  Flags
      context  
      key      

  byte[] sign(java.security.Key, javax.xml.crypto.dsig.SignedInfo, javax.xml.crypto.dsig.XMLSignContext);
    descriptor: (Ljava/security/Key;Ljavax/xml/crypto/dsig/SignedInfo;Ljavax/xml/crypto/dsig/XMLSignContext;)[B
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMSignatureMethod this
        start local 1 // java.security.Key key
        start local 2 // javax.xml.crypto.dsig.SignedInfo si
        start local 3 // javax.xml.crypto.dsig.XMLSignContext context
         0: .line 318
            aload 1 /* key */
            ifnull 1
            aload 2 /* si */
            ifnonnull 2
         1: .line 319
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 322
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            instanceof java.security.PrivateKey
            ifne 4
         3: .line 323
            new java.security.InvalidKeyException
            dup
            ldc "key must be PrivateKey"
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 325
      StackMap locals:
      StackMap stack:
            aload 3 /* context */
            aload 1 /* key */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.checkKeySize:(Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Key;)V
         5: .line 326
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
            ifnonnull 13
         6: .line 327
            aload 3 /* context */
         7: .line 328
            ldc "org.jcp.xml.dsig.internal.dom.SignatureProvider"
         8: .line 327
            invokeinterface javax.xml.crypto.dsig.XMLSignContext.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.security.Provider
            astore 4 /* p */
        start local 4 // java.security.Provider p
         9: .line 330
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* p */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getSignature:(Ljava/security/Provider;)Ljava/security/Signature;
            putfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
        10: .line 331
            goto 13
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Key javax.xml.crypto.dsig.SignedInfo javax.xml.crypto.dsig.XMLSignContext java.security.Provider
      StackMap stack: java.security.NoSuchAlgorithmException
        11: astore 5 /* nsae */
        start local 5 // java.security.NoSuchAlgorithmException nsae
        12: .line 332
            new javax.xml.crypto.dsig.XMLSignatureException
            dup
            aload 5 /* nsae */
            invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.NoSuchAlgorithmException nsae
        end local 4 // java.security.Provider p
        13: .line 335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
            aload 1 /* key */
            checkcast java.security.PrivateKey
            invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
        14: .line 336
            getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "Signature provider: {}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
            invokevirtual java.security.Signature.getProvider:()Ljava/security/Provider;
            aastore
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        15: .line 337
            getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "Signing with key: {}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 338
            getstatic org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "JCA Algorithm: {}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.getJCAAlgorithm:()Ljava/lang/String;
            aastore
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        17: .line 340
            aconst_null
            astore 4
            aconst_null
            astore 5
        18: new org.jcp.xml.dsig.internal.SignerOutputStream
            dup
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
            invokespecial org.jcp.xml.dsig.internal.SignerOutputStream.<init>:(Ljava/security/Signature;)V
            astore 6 /* outputStream */
        start local 6 // org.jcp.xml.dsig.internal.SignerOutputStream outputStream
        19: .line 341
            aload 2 /* si */
            checkcast org.jcp.xml.dsig.internal.dom.DOMSignedInfo
            aload 3 /* context */
            aload 6 /* outputStream */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignedInfo.canonicalize:(Ljavax/xml/crypto/XMLCryptoContext;Ljava/io/ByteArrayOutputStream;)V
        20: .line 343
            aload 0 /* this */
            aload 1 /* key */
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.signature:Ljava/security/Signature;
            invokevirtual java.security.Signature.sign:()[B
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.postSignFormat:(Ljava/security/Key;[B)[B
        21: .line 344
            aload 6 /* outputStream */
            ifnull 22
            aload 6 /* outputStream */
            invokevirtual org.jcp.xml.dsig.internal.SignerOutputStream.close:()V
        22: .line 343
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Key javax.xml.crypto.dsig.SignedInfo javax.xml.crypto.dsig.XMLSignContext java.lang.Throwable java.lang.Throwable org.jcp.xml.dsig.internal.SignerOutputStream
      StackMap stack: byte[]
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 4
        24: .line 344
            aload 6 /* outputStream */
            ifnull 25
            aload 6 /* outputStream */
            invokevirtual org.jcp.xml.dsig.internal.SignerOutputStream.close:()V
        end local 6 // org.jcp.xml.dsig.internal.SignerOutputStream outputStream
      StackMap locals:
      StackMap stack:
        25: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 5
            aload 4
            ifnonnull 27
            aload 5
            astore 4
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 4
            aload 5
            if_acmpeq 28
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 4
            athrow
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMSignatureMethod java.security.Key javax.xml.crypto.dsig.SignedInfo javax.xml.crypto.dsig.XMLSignContext
      StackMap stack: java.lang.Exception
        29: astore 4 /* ex */
        start local 4 // java.lang.Exception ex
        30: .line 345
            new javax.xml.crypto.dsig.XMLSignatureException
            dup
            aload 4 /* ex */
            invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception ex
        end local 3 // javax.xml.crypto.dsig.XMLSignContext context
        end local 2 // javax.xml.crypto.dsig.SignedInfo si
        end local 1 // java.security.Key key
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMSignatureMethod this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   31     0          this  Lorg/jcp/xml/dsig/internal/dom/DOMSignatureMethod;
            0   31     1           key  Ljava/security/Key;
            0   31     2            si  Ljavax/xml/crypto/dsig/SignedInfo;
            0   31     3       context  Ljavax/xml/crypto/dsig/XMLSignContext;
            9   13     4             p  Ljava/security/Provider;
           12   13     5          nsae  Ljava/security/NoSuchAlgorithmException;
           19   25     6  outputStream  Lorg/jcp/xml/dsig/internal/SignerOutputStream;
           30   31     4            ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           9    10      11  Class java.security.NoSuchAlgorithmException
          19    21      23  any
          18    22      26  any
          23    26      26  any
          17    22      29  Class java.security.SignatureException
          23    29      29  Class java.security.SignatureException
          17    22      29  Class java.io.IOException
          23    29      29  Class java.io.IOException
    Exceptions:
      throws java.security.InvalidKeyException, javax.xml.crypto.dsig.XMLSignatureException
    MethodParameters:
         Name  Flags
      key      
      si       
      context  

  public int hashCode();
    descriptor: ()I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.hashCode:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void marshal(org.w3c.dom.Node, java.lang.String, javax.xml.crypto.dom.DOMCryptoContext);
    descriptor: (Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            invokespecial org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.marshal:(Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws javax.xml.crypto.MarshalException

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokespecial org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.equals:(Ljava/lang/Object;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "DOMSignatureMethod.java"
NestMembers:
  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractDSASignatureMethod  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractECDSASignatureMethod  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractP1363FormatSignatureMethod  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractRSAPSSSignatureMethod  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractRSASignatureMethod  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$RIPEMD160withECDSA  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$RIPEMD160withRSA  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$RIPEMD160withRSAandMGF1  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withDSA  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withECDSA  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withRSA  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withRSAandMGF1  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA224withECDSA  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA224withRSA  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA224withRSAandMGF1  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withDSA  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withECDSA  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withRSA  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withRSAandMGF1  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withECDSA  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withRSA  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withRSAandMGF1  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withECDSA  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withRSA  org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withRSAandMGF1
InnerClasses:
  final RIPEMD160 = org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$RIPEMD160 of org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod
  final SHA1 = org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA1 of org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod
  final SHA224 = org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA224 of org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod
  final SHA256 = org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA256 of org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod
  final SHA384 = org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA384 of org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod
  final SHA512 = org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod$SHA512 of org.jcp.xml.dsig.internal.dom.DOMHMACSignatureMethod
  abstract AbstractDSASignatureMethod = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractDSASignatureMethod of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  abstract AbstractECDSASignatureMethod = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractECDSASignatureMethod of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  abstract AbstractP1363FormatSignatureMethod = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractP1363FormatSignatureMethod of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  abstract AbstractRSAPSSSignatureMethod = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractRSAPSSSignatureMethod of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  abstract AbstractRSASignatureMethod = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$AbstractRSASignatureMethod of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final RIPEMD160withECDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$RIPEMD160withECDSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final RIPEMD160withRSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$RIPEMD160withRSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final RIPEMD160withRSAandMGF1 = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$RIPEMD160withRSAandMGF1 of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA1withDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withDSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA1withECDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withECDSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA1withRSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withRSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA1withRSAandMGF1 = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA1withRSAandMGF1 of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA224withECDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA224withECDSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA224withRSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA224withRSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA224withRSAandMGF1 = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA224withRSAandMGF1 of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA256withDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withDSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA256withECDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withECDSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA256withRSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withRSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA256withRSAandMGF1 = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA256withRSAandMGF1 of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA384withECDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withECDSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA384withRSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withRSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA384withRSAandMGF1 = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA384withRSAandMGF1 of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA512withECDSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withECDSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA512withRSA = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withRSA of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod
  final SHA512withRSAandMGF1 = org.jcp.xml.dsig.internal.dom.DOMSignatureMethod$SHA512withRSAandMGF1 of org.jcp.xml.dsig.internal.dom.DOMSignatureMethod