public abstract class com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac extends com.sun.org.apache.xml.internal.security.algorithms.SignatureAlgorithmSpi
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac
  super_class: com.sun.org.apache.xml.internal.security.algorithms.SignatureAlgorithmSpi
{
  private static java.util.logging.Logger log;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private javax.crypto.Mac macAlgorithm;
    descriptor: Ljavax/crypto/Mac;
    flags: (0x0002) ACC_PRIVATE

  private int HMACOutputLength;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 49
            ldc Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
         1: .line 48
            putstatic com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.log:Ljava/util/logging/Logger;
         2: .line 49
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public abstract java.lang.String engineGetURI();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  abstract int getDigestLength();
    descriptor: ()I
    flags: (0x0400) ACC_ABSTRACT

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
         0: .line 75
            aload 0 /* this */
            invokespecial com.sun.org.apache.xml.internal.security.algorithms.SignatureAlgorithmSpi.<init>:()V
         1: .line 52
            aload 0 /* this */
            aconst_null
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
         2: .line 55
            aload 0 /* this */
            iconst_0
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLength:I
         3: .line 56
            aload 0 /* this */
            iconst_0
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLengthSet:Z
         4: .line 76
            aload 0 /* this */
            invokevirtual com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.engineGetURI:()Ljava/lang/String;
            invokestatic com.sun.org.apache.xml.internal.security.algorithms.JCEMapper.translateURItoJCEID:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* algorithmID */
        start local 1 // java.lang.String algorithmID
         5: .line 77
            getstatic com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 7
         6: .line 78
            getstatic com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Created IntegrityHmacSHA1 using "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* algorithmID */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
         7: .line 82
      StackMap locals: com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* algorithmID */
            invokestatic javax.crypto.Mac.getInstance:(Ljava/lang/String;)Ljavax/crypto/Mac;
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
         8: .line 83
            goto 12
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
         9: astore 2 /* ex */
        start local 2 // java.security.NoSuchAlgorithmException ex
        10: .line 84
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* algorithmID */
            aastore
            dup
            iconst_1
            aload 2 /* ex */
            invokevirtual java.security.NoSuchAlgorithmException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            astore 3 /* exArgs */
        start local 3 // java.lang.Object[] exArgs
        11: .line 86
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "algorithms.NoSuchAlgorithm"
            aload 3 /* exArgs */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 3 // java.lang.Object[] exArgs
        end local 2 // java.security.NoSuchAlgorithmException ex
        12: .line 88
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String algorithmID
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            5   13     1  algorithmID  Ljava/lang/String;
           10   12     2           ex  Ljava/security/NoSuchAlgorithmException;
           11   12     3       exArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           7     8       9  Class java.security.NoSuchAlgorithmException
    Exceptions:
      throws com.sun.org.apache.xml.internal.security.signature.XMLSignatureException

  protected void engineSetParameter(java.security.spec.AlgorithmParameterSpec);
    descriptor: (Ljava/security/spec/AlgorithmParameterSpec;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
        start local 1 // java.security.spec.AlgorithmParameterSpec params
         0: .line 99
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "empty"
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.security.spec.AlgorithmParameterSpec params
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            0    1     1  params  Ljava/security/spec/AlgorithmParameterSpec;
    Exceptions:
      throws com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
    MethodParameters:
        Name  Flags
      params  

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
         0: .line 103
            aload 0 /* this */
            iconst_0
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLength:I
         1: .line 104
            aload 0 /* this */
            iconst_0
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLengthSet:Z
         2: .line 105
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
            invokevirtual javax.crypto.Mac.reset:()V
         3: .line 106
            return
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;

  protected boolean engineVerify(byte[]);
    descriptor: ([B)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
        start local 1 // byte[] signature
         0: .line 118
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLengthSet:Z
            ifeq 5
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLength:I
            aload 0 /* this */
            invokevirtual com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.getDigestLength:()I
            if_icmpge 5
         1: .line 119
            getstatic com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 3
         2: .line 120
            getstatic com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "HMACOutputLength must not be less than "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.getDigestLength:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
         3: .line 122
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.getDigestLength:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aastore
            astore 2 /* exArgs */
        start local 2 // java.lang.Object[] exArgs
         4: .line 123
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "algorithms.HMACOutputLengthMin"
            aload 2 /* exArgs */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.Object[] exArgs
         5: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
            invokevirtual javax.crypto.Mac.doFinal:()[B
            astore 2 /* completeResult */
        start local 2 // byte[] completeResult
         6: .line 126
            aload 2 /* completeResult */
            aload 1 /* signature */
            invokestatic com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm.isEqual:([B[B)Z
         7: ireturn
        end local 2 // byte[] completeResult
         8: .line 128
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
            astore 2 /* ex */
        start local 2 // java.lang.IllegalStateException ex
         9: .line 129
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "empty"
            aload 2 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 2 // java.lang.IllegalStateException ex
        end local 1 // byte[] signature
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            0   10     1       signature  [B
            4    5     2          exArgs  [Ljava/lang/Object;
            6    8     2  completeResult  [B
            9   10     2              ex  Ljava/lang/IllegalStateException;
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.IllegalStateException
    Exceptions:
      throws com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
    MethodParameters:
           Name  Flags
      signature  

  protected void engineInitVerify(java.security.Key);
    descriptor: (Ljava/security/Key;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
        start local 1 // java.security.Key secretKey
         0: .line 141
            aload 1 /* secretKey */
            instanceof javax.crypto.SecretKey
            ifne 5
         1: .line 142
            aload 1 /* secretKey */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 2 /* supplied */
        start local 2 // java.lang.String supplied
         2: .line 143
            ldc Ljavax/crypto/SecretKey;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* needed */
        start local 3 // java.lang.String needed
         3: .line 144
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* supplied */
            aastore
            dup
            iconst_1
            aload 3 /* needed */
            aastore
            astore 4 /* exArgs */
        start local 4 // java.lang.Object[] exArgs
         4: .line 146
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "algorithms.WrongKeyForThisOperation"
            aload 4 /* exArgs */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 4 // java.lang.Object[] exArgs
        end local 3 // java.lang.String needed
        end local 2 // java.lang.String supplied
         5: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
            aload 1 /* secretKey */
            invokevirtual javax.crypto.Mac.init:(Ljava/security/Key;)V
         6: .line 151
            goto 16
      StackMap locals:
      StackMap stack: java.security.InvalidKeyException
         7: astore 2 /* ex */
        start local 2 // java.security.InvalidKeyException ex
         8: .line 154
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
            astore 3 /* mac */
        start local 3 // javax.crypto.Mac mac
         9: .line 156
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
            invokevirtual javax.crypto.Mac.getAlgorithm:()Ljava/lang/String;
            invokestatic javax.crypto.Mac.getInstance:(Ljava/lang/String;)Ljavax/crypto/Mac;
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
        10: .line 157
            goto 15
      StackMap locals: com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac java.security.Key java.security.InvalidKeyException javax.crypto.Mac
      StackMap stack: java.lang.Exception
        11: astore 4 /* e */
        start local 4 // java.lang.Exception e
        12: .line 159
            getstatic com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 14
        13: .line 160
            getstatic com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Exception when reinstantiating Mac:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        14: .line 162
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            aload 3 /* mac */
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
        end local 4 // java.lang.Exception e
        15: .line 164
      StackMap locals:
      StackMap stack:
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "empty"
            aload 2 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 3 // javax.crypto.Mac mac
        end local 2 // java.security.InvalidKeyException ex
        16: .line 166
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.Key secretKey
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            0   17     1  secretKey  Ljava/security/Key;
            2    5     2   supplied  Ljava/lang/String;
            3    5     3     needed  Ljava/lang/String;
            4    5     4     exArgs  [Ljava/lang/Object;
            8   16     2         ex  Ljava/security/InvalidKeyException;
            9   16     3        mac  Ljavax/crypto/Mac;
           12   15     4          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     6       7  Class java.security.InvalidKeyException
           9    10      11  Class java.lang.Exception
    Exceptions:
      throws com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
    MethodParameters:
           Name  Flags
      secretKey  

  protected byte[] engineSign();
    descriptor: ()[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
         0: .line 177
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLengthSet:Z
            ifeq 5
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLength:I
            aload 0 /* this */
            invokevirtual com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.getDigestLength:()I
            if_icmpge 5
         1: .line 178
            getstatic com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 3
         2: .line 179
            getstatic com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "HMACOutputLength must not be less than "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.getDigestLength:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
         3: .line 181
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.getDigestLength:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aastore
            astore 1 /* exArgs */
        start local 1 // java.lang.Object[] exArgs
         4: .line 182
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "algorithms.HMACOutputLengthMin"
            aload 1 /* exArgs */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 1 // java.lang.Object[] exArgs
         5: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
            invokevirtual javax.crypto.Mac.doFinal:()[B
         6: areturn
         7: .line 186
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
            astore 1 /* ex */
        start local 1 // java.lang.IllegalStateException ex
         8: .line 187
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "empty"
            aload 1 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 1 // java.lang.IllegalStateException ex
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            4    5     1  exArgs  [Ljava/lang/Object;
            8    9     1      ex  Ljava/lang/IllegalStateException;
      Exception table:
        from    to  target  type
           0     6       7  Class java.lang.IllegalStateException
    Exceptions:
      throws com.sun.org.apache.xml.internal.security.signature.XMLSignatureException

  protected void engineInitSign(java.security.Key);
    descriptor: (Ljava/security/Key;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
        start local 1 // java.security.Key secretKey
         0: .line 198
            aload 1 /* secretKey */
            instanceof javax.crypto.SecretKey
            ifne 5
         1: .line 199
            aload 1 /* secretKey */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 2 /* supplied */
        start local 2 // java.lang.String supplied
         2: .line 200
            ldc Ljavax/crypto/SecretKey;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* needed */
        start local 3 // java.lang.String needed
         3: .line 201
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* supplied */
            aastore
            dup
            iconst_1
            aload 3 /* needed */
            aastore
            astore 4 /* exArgs */
        start local 4 // java.lang.Object[] exArgs
         4: .line 203
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "algorithms.WrongKeyForThisOperation"
            aload 4 /* exArgs */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 4 // java.lang.Object[] exArgs
        end local 3 // java.lang.String needed
        end local 2 // java.lang.String supplied
         5: .line 207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
            aload 1 /* secretKey */
            invokevirtual javax.crypto.Mac.init:(Ljava/security/Key;)V
         6: .line 208
            goto 9
      StackMap locals:
      StackMap stack: java.security.InvalidKeyException
         7: astore 2 /* ex */
        start local 2 // java.security.InvalidKeyException ex
         8: .line 209
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "empty"
            aload 2 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 2 // java.security.InvalidKeyException ex
         9: .line 211
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.Key secretKey
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            0   10     1  secretKey  Ljava/security/Key;
            2    5     2   supplied  Ljava/lang/String;
            3    5     3     needed  Ljava/lang/String;
            4    5     4     exArgs  [Ljava/lang/Object;
            8    9     2         ex  Ljava/security/InvalidKeyException;
      Exception table:
        from    to  target  type
           5     6       7  Class java.security.InvalidKeyException
    Exceptions:
      throws com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
    MethodParameters:
           Name  Flags
      secretKey  

  protected void engineInitSign(java.security.Key, java.security.spec.AlgorithmParameterSpec);
    descriptor: (Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
        start local 1 // java.security.Key secretKey
        start local 2 // java.security.spec.AlgorithmParameterSpec algorithmParameterSpec
         0: .line 223
            aload 1 /* secretKey */
            instanceof javax.crypto.SecretKey
            ifne 5
         1: .line 224
            aload 1 /* secretKey */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* supplied */
        start local 3 // java.lang.String supplied
         2: .line 225
            ldc Ljavax/crypto/SecretKey;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 4 /* needed */
        start local 4 // java.lang.String needed
         3: .line 226
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* supplied */
            aastore
            dup
            iconst_1
            aload 4 /* needed */
            aastore
            astore 5 /* exArgs */
        start local 5 // java.lang.Object[] exArgs
         4: .line 228
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "algorithms.WrongKeyForThisOperation"
            aload 5 /* exArgs */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 5 // java.lang.Object[] exArgs
        end local 4 // java.lang.String needed
        end local 3 // java.lang.String supplied
         5: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
            aload 1 /* secretKey */
            aload 2 /* algorithmParameterSpec */
            invokevirtual javax.crypto.Mac.init:(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
         6: .line 233
            goto 11
      StackMap locals:
      StackMap stack: java.security.InvalidKeyException
         7: astore 3 /* ex */
        start local 3 // java.security.InvalidKeyException ex
         8: .line 234
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "empty"
            aload 3 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 3 // java.security.InvalidKeyException ex
         9: .line 235
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
            astore 3 /* ex */
        start local 3 // java.security.InvalidAlgorithmParameterException ex
        10: .line 236
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "empty"
            aload 3 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 3 // java.security.InvalidAlgorithmParameterException ex
        11: .line 238
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.security.spec.AlgorithmParameterSpec algorithmParameterSpec
        end local 1 // java.security.Key secretKey
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   12     0                    this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            0   12     1               secretKey  Ljava/security/Key;
            0   12     2  algorithmParameterSpec  Ljava/security/spec/AlgorithmParameterSpec;
            2    5     3                supplied  Ljava/lang/String;
            3    5     4                  needed  Ljava/lang/String;
            4    5     5                  exArgs  [Ljava/lang/Object;
            8    9     3                      ex  Ljava/security/InvalidKeyException;
           10   11     3                      ex  Ljava/security/InvalidAlgorithmParameterException;
      Exception table:
        from    to  target  type
           5     6       7  Class java.security.InvalidKeyException
           5     6       9  Class java.security.InvalidAlgorithmParameterException
    Exceptions:
      throws com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
    MethodParameters:
                        Name  Flags
      secretKey               
      algorithmParameterSpec  

  protected void engineInitSign(java.security.Key, java.security.SecureRandom);
    descriptor: (Ljava/security/Key;Ljava/security/SecureRandom;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
        start local 1 // java.security.Key secretKey
        start local 2 // java.security.SecureRandom secureRandom
         0: .line 249
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "algorithms.CannotUseSecureRandomOnMAC"
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.security.SecureRandom secureRandom
        end local 1 // java.security.Key secretKey
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            0    1     1     secretKey  Ljava/security/Key;
            0    1     2  secureRandom  Ljava/security/SecureRandom;
    Exceptions:
      throws com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
    MethodParameters:
              Name  Flags
      secretKey     
      secureRandom  

  protected void engineUpdate(byte[]);
    descriptor: ([B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
        start local 1 // byte[] input
         0: .line 261
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
            aload 1 /* input */
            invokevirtual javax.crypto.Mac.update:([B)V
         1: .line 262
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         2: astore 2 /* ex */
        start local 2 // java.lang.IllegalStateException ex
         3: .line 263
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "empty"
            aload 2 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 2 // java.lang.IllegalStateException ex
         4: .line 265
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] input
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            0    5     1  input  [B
            3    4     2     ex  Ljava/lang/IllegalStateException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalStateException
    Exceptions:
      throws com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
    MethodParameters:
       Name  Flags
      input  

  protected void engineUpdate(byte);
    descriptor: (B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
        start local 1 // byte input
         0: .line 276
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
            iload 1 /* input */
            invokevirtual javax.crypto.Mac.update:(B)V
         1: .line 277
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         2: astore 2 /* ex */
        start local 2 // java.lang.IllegalStateException ex
         3: .line 278
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "empty"
            aload 2 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 2 // java.lang.IllegalStateException ex
         4: .line 280
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte input
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            0    5     1  input  B
            3    4     2     ex  Ljava/lang/IllegalStateException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalStateException
    Exceptions:
      throws com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
    MethodParameters:
       Name  Flags
      input  

  protected void engineUpdate(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
        start local 1 // byte[] buf
        start local 2 // int offset
        start local 3 // int len
         0: .line 293
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
            aload 1 /* buf */
            iload 2 /* offset */
            iload 3 /* len */
            invokevirtual javax.crypto.Mac.update:([BII)V
         1: .line 294
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         2: astore 4 /* ex */
        start local 4 // java.lang.IllegalStateException ex
         3: .line 295
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "empty"
            aload 4 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 4 // java.lang.IllegalStateException ex
         4: .line 297
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int len
        end local 2 // int offset
        end local 1 // byte[] buf
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            0    5     1     buf  [B
            0    5     2  offset  I
            0    5     3     len  I
            3    4     4      ex  Ljava/lang/IllegalStateException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalStateException
    Exceptions:
      throws com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
    MethodParameters:
        Name  Flags
      buf     
      offset  
      len     

  protected java.lang.String engineGetJCEAlgorithmString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
         0: .line 305
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
            invokevirtual javax.crypto.Mac.getAlgorithm:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;

  protected java.lang.String engineGetJCEProviderName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
         0: .line 314
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.macAlgorithm:Ljavax/crypto/Mac;
            invokevirtual javax.crypto.Mac.getProvider:()Ljava/security/Provider;
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;

  protected void engineSetHMACOutputLength(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
        start local 1 // int HMACOutputLength
         0: .line 323
            aload 0 /* this */
            iload 1 /* HMACOutputLength */
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLength:I
         1: .line 324
            aload 0 /* this */
            iconst_1
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLengthSet:Z
         2: .line 325
            return
        end local 1 // int HMACOutputLength
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            0    3     1  HMACOutputLength  I
    MethodParameters:
                  Name  Flags
      HMACOutputLength  

  protected void engineGetContextFromElement(Element);
    descriptor: (LElement;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
         0: .line 332
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tElement cannot be resolved to a type\n\tText cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
    MethodParameters:
         Name  Flags
      element  

  public void engineAddContextToElement(Element);
    descriptor: (LElement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
         0: .line 353
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tElement cannot be resolved to a type\n\tDocument cannot be resolved to a type\n\tElement cannot be resolved to a type\n\tText cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
    MethodParameters:
         Name  Flags
      element  
}
SourceFile: "IntegrityHmac.java"
NestMembers:
  com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacMD5  com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacRIPEMD160  com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA1  com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA256  com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA384  com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA512
InnerClasses:
  public IntegrityHmacMD5 = com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacMD5 of com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac
  public IntegrityHmacRIPEMD160 = com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacRIPEMD160 of com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac
  public IntegrityHmacSHA1 = com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA1 of com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac
  public IntegrityHmacSHA256 = com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA256 of com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac
  public IntegrityHmacSHA384 = com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA384 of com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac
  public IntegrityHmacSHA512 = com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA512 of com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac