![JAR search and dependency download from the Maven repository](/logo.png)
org.bouncycastle.crypto.fips.NativeFeatures Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bc-fips-debug Show documentation
Show all versions of bc-fips-debug Show documentation
The FIPS 140-2 Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms certified to FIPS 140-2 level 1. This jar contains the debug version JCE provider and low-level API for the BC-FJA version 1.0.2.3, FIPS Certificate #3514. Please note the debug jar is not certified.
package org.bouncycastle.crypto.fips;
/**
* The native methods of this class are used to determine the native features that are supported.
* UnsatisfiedLinkError are ignored, and it is assumed that the feature is not available at that time.
*/
class NativeFeatures
{
static boolean hasCTRHardwareSupport()
{
try
{
return nativeCTR();
}
catch (UnsatisfiedLinkError ule)
{
//
}
return false;
}
private static native boolean nativeCTR();
static boolean hasCFBHardwareSupport()
{
try
{
return nativeCFB();
}
catch (UnsatisfiedLinkError ule)
{
//
}
return false;
}
native private static boolean nativeCFB();
static boolean hasCBCHardwareSupport()
{
try
{
return nativeCBC();
}
catch (UnsatisfiedLinkError ule)
{
//
}
return false;
}
private native static boolean nativeCBC();
static boolean hasAESHardwareSupport()
{
try
{
return nativeAES();
}
catch (UnsatisfiedLinkError ule)
{
//
}
return false;
}
private static native boolean nativeAES();
static boolean hasGCMHardwareSupport()
{
try
{
return nativeGCM();
}
catch (UnsatisfiedLinkError ule)
{
return false;
}
}
private static native boolean nativeGCM();
static boolean hasHardwareRand()
{
try
{
return nativeRand();
}
catch (UnsatisfiedLinkError ule)
{
//
}
return false;
}
private static native boolean nativeRand();
static boolean hasHardwareSeed()
{
try
{
return nativeSeed();
}
catch (UnsatisfiedLinkError ule)
{
//
}
return false;
}
private static native boolean nativeSeed();
static boolean hasHardwareSHA()
{
try
{
return nativeSHA2();
}
catch (UnsatisfiedLinkError ule)
{
//
}
return false;
}
private static native boolean nativeSHA2();
static boolean hasHardwareRSA()
{
try
{
return nativeRSA();
}
catch (UnsatisfiedLinkError ule)
{
//
}
return false;
}
private static native boolean nativeRSA();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy