我在java.security
文件中启用了具有以下属性的fips模式:
com.rsa.cryptoj.fips140initialmode = FIPS140_MODE
com.rsa.cryptoj.fips140auth = LEVEL1
com.rsa.crypto.default.random = HMACDRBG128
我还在第1个位置添加了JsafeJCE提供程序。
当我执行此命令时:
/usr/java/latest/bin/keytool -genkeypair -v -alias tomcat \
-keyalg RSA -sigalg SHA256withRSA -keystore /home/.keystore.p12 \
-storetype PKCS12 -storepass sample-keypass sample -validity 3650 \
-dname "CN=localhost.localdom"
它给了我这个错误:
java.lang.IllegalArgumentException:
java.security.NoSuchAlgorithmException: Error constructing
implementation (algorithm: DefaultRandom: HMACDRBG128, provider: JsafeJCE)
at sun.security.tools.keytool.CertAndKeyGen.generate(CertAndKeyGen.java:152)
at sun.security.tools.keytool.Main.doGenKeyPair(Main.java:1749)
at sun.security.tools.keytool.Main.doCommands(Main.java:1009)
at sun.security.tools.keytool.Main.run(Main.java:368)
at sun.security.tools.keytool.Main.main(Main.java:361)
Error constructing implementation (algorithm: DefaultRandom: HMACDRBG128, provider: JsafeJCE)
我也尝试了其他安全随机算法,但是仍然遇到相同的问题。