org.bouncycastle.crypto.internal.io.Utils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bc-fips Show documentation
Show all versions of bc-fips Show documentation
The FIPS 140-3 Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms certified to FIPS 140-3 level 1. This jar contains JCE provider and low-level API for the BC-FJA version 2.0.0, FIPS Certificate #4743. Please see certificate for certified platform details.
package org.bouncycastle.crypto.internal.io;
import org.bouncycastle.crypto.CryptoServicesRegistrar;
import org.bouncycastle.crypto.fips.FipsOperationError;
import org.bouncycastle.crypto.fips.FipsStatus;
import org.bouncycastle.crypto.fips.FipsUnapprovedOperationError;
class Utils
{
static void approvedModeCheck(boolean approvedMode, String algorithmName)
{
if (approvedMode != CryptoServicesRegistrar.isInApprovedOnlyMode())
{
if (approvedMode)
{
throw new FipsUnapprovedOperationError("Attempt to use approved implementation in unapproved thread: " + algorithmName);
}
else
{
throw new FipsUnapprovedOperationError("Attempt to use unapproved implementation in approved thread: " + algorithmName);
}
}
if (FipsStatus.isErrorStatus())
{
throw new FipsOperationError(FipsStatus.getStatusMessage());
}
}
}