Files
wycheproof/java/com/google/security/wycheproof/BouncyCastleTest.java
T
bleichen 2fb91a6923 Adding a test for HMACs to Wycheproof.
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
2019-12-13 17:42:58 -08:00

63 lines
1.8 KiB
Java

/**
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.security.wycheproof;
import com.google.security.wycheproof.WycheproofRunner.Fast;
import com.google.security.wycheproof.WycheproofRunner.Provider;
import com.google.security.wycheproof.WycheproofRunner.ProviderType;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite.SuiteClasses;
/** BouncyCastleTest excludes {@code @SlowTest} tests. */
@RunWith(WycheproofRunner.class)
@SuiteClasses({
AesEaxTest.class,
AesGcmTest.class,
BasicTest.class,
CipherInputStreamTest.class,
CipherOutputStreamTest.class,
DhTest.class,
DhiesTest.class,
DsaTest.class,
EcKeyTest.class,
EcdhTest.class,
EcdsaTest.class,
EciesTest.class,
JsonAeadTest.class,
JsonCipherTest.class,
JsonEcdhTest.class,
JsonKeyWrapTest.class,
JsonMacTest.class,
JsonSignatureTest.class,
JsonXdhTest.class,
MacTest.class,
MessageDigestTest.class,
RsaEncryptionTest.class,
RsaKeyTest.class,
RsaPssTest.class,
RsaOaepTest.class,
RsaSignatureTest.class,
SecureRandomTest.class,
})
@Provider(ProviderType.BOUNCY_CASTLE)
@Fast
public final class BouncyCastleTest {
@BeforeClass
public static void setUp() throws Exception {
TestUtil.installOnlyThisProvider(new BouncyCastleProvider());
}
}