Class OpenSSLMac.Hmac

Direct Known Subclasses:
OpenSSLMac.HmacMD5, OpenSSLMac.HmacSHA1, OpenSSLMac.HmacSHA224, OpenSSLMac.HmacSHA256, OpenSSLMac.HmacSHA384, OpenSSLMac.HmacSHA512
Enclosing class:
OpenSSLMac

public static class OpenSSLMac.Hmac extends OpenSSLMac
  • Field Details

    • ctx

      private NativeRef.HMAC_CTX ctx
    • evpMd

      private final long evpMd
      Holds the EVP_MD for the hashing algorithm, e.g. EVP_get_digestbyname("sha1");
  • Constructor Details

    • Hmac

      public Hmac(long evpMd, int size)
  • Method Details

    • initContext

      protected void initContext(byte[] keyBytes)
      Description copied from class: OpenSSLMac
      Creates and initializes the relevant BoringSSL *MAC context.
      Specified by:
      initContext in class OpenSSLMac
    • resetContext

      protected void resetContext()
      Description copied from class: OpenSSLMac
      Resets the context for a new operation with the same key.
      Specified by:
      resetContext in class OpenSSLMac
    • engineUpdate

      protected void engineUpdate(byte[] input, int offset, int len)
      Specified by:
      engineUpdate in class MacSpi
    • updateDirect

      protected void updateDirect(long ptr, int len)
      Description copied from class: OpenSSLMac
      Passes the contents of a direct ByteBuffer to the relevant BoringSSL *MAC function.
      Specified by:
      updateDirect in class OpenSSLMac
    • doFinal

      protected byte[] doFinal()
      Specified by:
      doFinal in class OpenSSLMac