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 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.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 48
            ldc Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            invokestatic com.sun.org.slf4j.internal.LoggerFactory.getLogger:(Ljava/lang/Class;)Lcom/sun/org/slf4j/internal/Logger;
         1: .line 47
            putstatic com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.LOG:Lcom/sun/org/slf4j/internal/Logger;
         2: .line 48
            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=6, locals=4, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
         0: .line 74
            aload 0 /* this */
            invokespecial com.sun.org.apache.xml.internal.security.algorithms.SignatureAlgorithmSpi.<init>:()V
         1: .line 55
            aload 0 /* this */
            iconst_0
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLengthSet:Z
         2: .line 75
            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
         3: .line 76
            getstatic com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "Created IntegrityHmacSHA1 using {}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* algorithmID */
            aastore
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 79
            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;
         5: .line 80
            goto 9
      StackMap locals: com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac java.lang.String
      StackMap stack: java.security.NoSuchAlgorithmException
         6: astore 2 /* ex */
        start local 2 // java.security.NoSuchAlgorithmException ex
         7: .line 81
            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
         8: .line 83
            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
         9: .line 85
      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   10     0         this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            3   10     1  algorithmID  Ljava/lang/String;
            7    9     2           ex  Ljava/security/NoSuchAlgorithmException;
            8    9     3       exArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           4     5       6  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=7, 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 96
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "empty"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "Incorrect method call"
            aastore
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)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 100
            aload 0 /* this */
            iconst_0
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLength:I
         1: .line 101
            aload 0 /* this */
            iconst_0
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLengthSet:Z
         2: .line 102
            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 103
            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=6, 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 115
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLengthSet:Z
            ifeq 4
            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 4
         1: .line 116
            getstatic com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "HMACOutputLength must not be less than {}"
            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.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 117
            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
         3: .line 118
            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
         4: .line 120
      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
         5: .line 121
            aload 2 /* completeResult */
            aload 1 /* signature */
            invokestatic com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm.isEqual:([B[B)Z
         6: ireturn
        end local 2 // byte[] completeResult
         7: .line 123
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
            astore 2 /* ex */
        start local 2 // java.lang.IllegalStateException ex
         8: .line 124
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            aload 2 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(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    9     0            this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            0    9     1       signature  [B
            3    4     2          exArgs  [Ljava/lang/Object;
            5    7     2  completeResult  [B
            8    9     2              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
    MethodParameters:
           Name  Flags
      signature  

  protected void engineInitVerify(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 136
            aload 1 /* secretKey */
            instanceof javax.crypto.SecretKey
            ifne 7
         1: .line 137
            aconst_null
            astore 2 /* supplied */
        start local 2 // java.lang.String supplied
         2: .line 138
            aload 1 /* secretKey */
            ifnull 4
         3: .line 139
            aload 1 /* secretKey */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 2 /* supplied */
         4: .line 141
      StackMap locals: java.lang.String
      StackMap stack:
            ldc Ljavax/crypto/SecretKey;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* needed */
        start local 3 // java.lang.String needed
         5: .line 142
            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
         6: .line 144
            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
         7: .line 148
      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
         8: .line 149
            goto 17
      StackMap locals:
      StackMap stack: java.security.InvalidKeyException
         9: astore 2 /* ex */
        start local 2 // java.security.InvalidKeyException ex
        10: .line 152
            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
        11: .line 154
            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;
        12: .line 155
            goto 16
      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
        13: astore 4 /* e */
        start local 4 // java.lang.Exception e
        14: .line 157
            getstatic com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "Exception when reinstantiating Mac: {}"
            aload 4 /* e */
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        15: .line 158
            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
        16: .line 160
      StackMap locals:
      StackMap stack:
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            aload 2 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 3 // javax.crypto.Mac mac
        end local 2 // java.security.InvalidKeyException ex
        17: .line 162
      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   18     0       this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            0   18     1  secretKey  Ljava/security/Key;
            2    7     2   supplied  Ljava/lang/String;
            5    7     3     needed  Ljava/lang/String;
            6    7     4     exArgs  [Ljava/lang/Object;
           10   17     2         ex  Ljava/security/InvalidKeyException;
           11   17     3        mac  Ljavax/crypto/Mac;
           14   16     4          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           7     8       9  Class java.security.InvalidKeyException
          11    12      13  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=6, locals=2, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac this
         0: .line 173
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLengthSet:Z
            ifeq 4
            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 4
         1: .line 174
            getstatic com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "HMACOutputLength must not be less than {}"
            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.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 175
            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
         3: .line 176
            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
         4: .line 178
      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
         5: areturn
         6: .line 180
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
            astore 1 /* ex */
        start local 1 // java.lang.IllegalStateException ex
         7: .line 181
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            aload 1 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(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    8     0    this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            3    4     1  exArgs  [Ljava/lang/Object;
            7    8     1      ex  Ljava/lang/IllegalStateException;
      Exception table:
        from    to  target  type
           0     5       6  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=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.Key secretKey
         0: .line 192
            aload 0 /* this */
            aload 1 /* secretKey */
            aconst_null
            invokevirtual com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.engineInitSign:(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
         1: .line 193
            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    2     0       this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            0    2     1  secretKey  Ljava/security/Key;
    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 205
            aload 1 /* secretKey */
            instanceof javax.crypto.SecretKey
            ifne 7
         1: .line 206
            aconst_null
            astore 3 /* supplied */
        start local 3 // java.lang.String supplied
         2: .line 207
            aload 1 /* secretKey */
            ifnull 4
         3: .line 208
            aload 1 /* secretKey */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* supplied */
         4: .line 210
      StackMap locals: java.lang.String
      StackMap stack:
            ldc Ljavax/crypto/SecretKey;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 4 /* needed */
        start local 4 // java.lang.String needed
         5: .line 211
            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
         6: .line 213
            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
         7: .line 217
      StackMap locals:
      StackMap stack:
            aload 2 /* algorithmParameterSpec */
            ifnonnull 10
         8: .line 218
            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
         9: .line 219
            goto 16
        10: .line 220
      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
        11: .line 222
            goto 16
      StackMap locals:
      StackMap stack: java.security.InvalidKeyException
        12: astore 3 /* ex */
        start local 3 // java.security.InvalidKeyException ex
        13: .line 223
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            aload 3 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 3 // java.security.InvalidKeyException ex
        14: .line 224
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
            astore 3 /* ex */
        start local 3 // java.security.InvalidAlgorithmParameterException ex
        15: .line 225
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            aload 3 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 3 // java.security.InvalidAlgorithmParameterException ex
        16: .line 227
      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   17     0                    this  Lcom/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac;
            0   17     1               secretKey  Ljava/security/Key;
            0   17     2  algorithmParameterSpec  Ljava/security/spec/AlgorithmParameterSpec;
            2    7     3                supplied  Ljava/lang/String;
            5    7     4                  needed  Ljava/lang/String;
            6    7     5                  exArgs  [Ljava/lang/Object;
           13   14     3                      ex  Ljava/security/InvalidKeyException;
           15   16     3                      ex  Ljava/security/InvalidAlgorithmParameterException;
      Exception table:
        from    to  target  type
           7    11      12  Class java.security.InvalidKeyException
           7    11      14  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 238
            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=3, 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 250
            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 251
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         2: astore 2 /* ex */
        start local 2 // java.lang.IllegalStateException ex
         3: .line 252
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            aload 2 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 2 // java.lang.IllegalStateException ex
         4: .line 254
      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=3, 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 265
            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 266
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         2: astore 2 /* ex */
        start local 2 // java.lang.IllegalStateException ex
         3: .line 267
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            aload 2 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 2 // java.lang.IllegalStateException ex
         4: .line 269
      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 282
            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 283
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         2: astore 4 /* ex */
        start local 4 // java.lang.IllegalStateException ex
         3: .line 284
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            aload 4 /* ex */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 4 // java.lang.IllegalStateException ex
         4: .line 286
      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 294
            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 303
            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 312
            aload 0 /* this */
            iload 1 /* HMACOutputLength */
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLength:I
         1: .line 313
            aload 0 /* this */
            iconst_1
            putfield com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac.HMACOutputLengthSet:Z
         2: .line 314
            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 321
            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 342
            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$IntegrityHmacSHA224  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 IntegrityHmacSHA224 = com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA224 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