The main focus are:
* incremental updates
* long inputs
* using ByteBuffers
Tested providers: jdk8, jdk11, BouncyCastle, Conscrypt, hazmat, pythons implementation of
hmac.
Resuts:
- all implementations are compatible.
- all implementations support HMAC with SHA-1 and SHA-2.
- BouncyCastle and python 3.7 support SHA-3
- jdk8 doesn't support SHA-3 and hence not HMAC with SHA-3
- jdk11 implements SHA-3, but not HMAC with SHA-3
- hazmat would support HMAC with SHA-3 if the backend were supporting the hashes,
but the defaultbackend does not.
NOKEYCHECK=True
PiperOrigin-RevId: 285161934
GitOrigin-RevId: 604eac41416d9dffc916c474a19ec7690401b22c