微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使现有 Java 代码符合 FIPS 140-2?

如何解决如何使现有 Java 代码符合 FIPS 140-2?

我们有一些执行 AES 和 RSA 加密的 Java 库(使用 javax.crypto.Cipher)。

出现了一个新要求以使代码符合 FIPS 140-2。阅读一些文章我的理解是我必须在JDK/JRE中的java.security文件中更改以下内容并重新编译代码。这会使我的库符合 FIPS 140-2 标准吗?

#Use these three providers for FIPS compliant
security.provider.1=com.rsa.jsafe.provider.JsafeJCE
security.provider.2=com.rsa.jsse.JsseProvider
security.provider.3=sun.security.provider.Sun

#disable the below providers for FIPS compliant
#security.provider.1=sun.security.provider.Sun
#security.provider.2=sun.security.rsa.SunRsaSign
#security.provider.3=sun.security.ec.SunEC
#security.provider.4=com.sun.net.ssl.internal.ssl.Provider
#security.provider.5=com.sun.crypto.provider.SunJCE
#security.provider.6=sun.security.jgss.SunProvider
#security.provider.7=com.sun.security.sasl.Provider
#security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
#security.provider.9=sun.security.smartcardio.SunPCSC
#security.provider.10=sun.security.mscapi.SunMSCAPI

我还需要执行任何其他更改,例如使用任何特殊的 jar、使用任何参数进行编译等吗?

解决方法

要符合 FIPS 140-2:

对于您的情况:

  • AES128、AES192 或 AES256 用于加密,操作模式为 GCM、CCM、CTR、CBC、CFB、OFB(或用于存储的 XTS)。
  • 用于密钥建立或签名的 RSA,密钥大小至少为 2048 位。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。