我遇到了ASP.NET 2.0应用程序的问题.我们的网络人员刚刚提高了我们的安全性,现在每当我尝试访问应用程序时,我都会遇到浮动错误:
"此实现不是Windows平台FIPS验证的加密算法的一部分."
我做了一些研究,听起来像ASP.NET使用RijndaelManaged AES加密算法来加密页面的ViewState ......而RijndaelManaged是在不符合FIPS的算法列表中.我们当然没有明确地调用任何加密算法......更不用说不合规列表上的任何内容了.
我猜这个ViewState业务对我来说很有意义.但是,我无法摆脱困境的是如何处理它.我发现了一篇知识库文章建议使用web.config设置指定一个不同的算法......但要么没有坚持,要么该算法不符合鼻烟.
所以:
1)RijndaelManaged/ViewState实际上是问题吗?还是我在错误的树上吠叫?
2)如何指定使用什么算法而不是RijndaelManaged?我有一份符合和不符合的算法列表; 我只是不确定在哪里插入这些信息.
谢谢!
理查德
我以下列方式使用System.Security.Cryptography的TripleDESCryptoServiceProvider:
TripleDESCryptoServiceProvider CreateCipher()
{
TripleDESCryptoServiceProvider cipher = new TripleDESCryptoServiceProvider();
cipher.KeySize = 192;
cipher.BlockSize = 64;
cipher.Padding = PaddingMode.ISO10126;
cipher.Mode = CipherMode.CBC;
return cipher;
}
Run Code Online (Sandbox Code Playgroud)
我想知道这是否符合FIPS 140-2标准.我发现有很多页面概述了合规性的不同方面,但在我看来,微软通过平台而不是类(有意义)获得合规证书.取而代之的是,我无法找到任何肯定的证据,即上述密码符合FIPS 140-2标准.到目前为止,我找到了最有用的链接:
微软FIPs文档:
http
://technet.microsoft.com/en-us/library/cc750357.aspx http://support.microsoft.com/kb/811833
简而言之,是否有人知道此类/加密方法所属的证书编号是什么?或者它是特定于平台的吗?(这就是我收集的内容.)
有谁知道iPhone和Android SDK附带的加密库的名称?我不是指类,函数等的名称,而是提供者和/或库本身的名称.他们是否通过FIPS认证?
谢谢
"Java 1.7 TLS 1.1服务器"和"Java 1.8客户端"之间的SSL/TLS握手在我的环境中失败,服务器端出现以下异常:
java.security.NoSuchAlgorithmException:没有这样的算法:SunTls12MasterSecret for provider SunPKCS11-NSSfips
以下是我的环境中服务器和客户端的详细信息:
服务器:
客户:
题:
补充意见:
服务器端SSL调试日志:
有人可以指定在 Postgres 数据库上启用 FIPS 的步骤吗?我用谷歌搜索但找不到任何具体的东西。
是否可以通过配置确保parameter使用curlOpenSSL而不是NSS来检索 https 内容?我需要确保这一点,以便强制遵守RHEL6.2 已认证的 FIPS140-2 ?
我认为答案是“不”。
所以我也会在这里询问后续...我可以重新编译curl以确保它使用libssl而不是libnss吗?我试过了:
./configure --with-ssl --without-nss
Run Code Online (Sandbox Code Playgroud)
我最终仍然得到一个动态链接到libnss3.so.
[root@fips curl-7.19.7]# ldd /usr/bin/curl
linux-vdso.so.1 => (0x00007fffacbe8000)
libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f5d8fe03000)
libidn.so.11 => /lib64/libidn.so.11 (0x00007f5d8fbd1000)
libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007f5d8f983000)
librt.so.1 => /lib64/librt.so.1 (0x00007f5d8f77b000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f5d8f537000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f5d8f250000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f5d8f024000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f5d8ee20000)
libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f5d8ebc2000)
libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f5d8e828000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f5d8e624000)
libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x00007f5d8e3fb000)
libz.so.1 => …Run Code Online (Sandbox Code Playgroud) 我有客户希望我们的应用程序使用FIPS 140-2 验证的加密。该应用程序使用Okhttp 并执行一些 HTTPS 请求。AFAIK Android 使用 OpenSSL C 库并使用 java 包装器 javax/net/ssl。
问题:
如何让安卓应用程序 FIPS 140 -2 投诉?
堆栈(OS)级别的android是否应该使用符合FIPS的OpenSSL,因此所有应用程序都是默认符合FIPS 140 -2的?
或者我们的应用程序应该使用 FIPS 140-2 验证的密码学并使 java javax/net/ssl 使用它?可行的?
是否有可以插入 OKhttp 的 FIPS 140-2 JCE 库?
谢谢
我希望获得一些有关为 nginx 启用 openssl fips 模式的指导。到目前为止,我按照 openssl 指南在 openssl 上启用 fips 模式。
该部分效果很好:
# /usr/local/openssl/bin/openssl md5 /usr/local/openssl/bin/openssl
Error setting digest md5
139805371958952:error:060A80A3:digital envelope
routines:FIPS_DIGESTINIT:disabled for fips:fips_md.c:180:
# cat /proc/sys/crypto/fips_enabled
1
Run Code Online (Sandbox Code Playgroud)
对于 nginx,我首先尝试使用此自定义 openssl 构建 nginx:
/nginx-1.12.2/configure --with-http_ssl_module --with-openssl=/usr/local/openssl --with-ld-opt="-L/usr/local/openssl/lib"
Run Code Online (Sandbox Code Playgroud)
然而,这失败了,因为 /usr/local/openssl 是自定义 openssl 的“安装”位置,而不是源树。
所以我更改了 --with-openssl 选项以使用 openssl 源树:
/nginx-1.12.2/configure --with-http_ssl_module --with-openssl=/usr/local/src/openssl-1.0.2n/ --with-ld-opt="-L/usr/local/openssl/lib"
Run Code Online (Sandbox Code Playgroud)
这有效,我可以安装 nginx,但我不认为在 nginx 配置期间传递了支持 fips 模式的正确 openssl 编译选项。
当我打印 nginx 信息时:
nginx -V:
nginx version: nginx/1.12.2
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
built with …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Java 11 中使用带有 NSS 的 SUNPKCS11 启用 FIPS 模式。我得到了这个异常 java.security.NoSuchAlgorithmException: PKCS11 KeyStore not available。
当我尝试在Java 8 中启用 FIPS 时,它工作正常,但在Java 11 中执行相同操作会引发异常。
SUNPKCS11 的初始化从 Java 8 更改为 Java 11。
在 Java 8 中:
Provider provider = Security.getProvider("SunPKCS11");
provider.configure(nssConfigFile);
Run Code Online (Sandbox Code Playgroud)
爪哇11:
Provider provider = new sun.security.pkcs11.SunPKCS11(nssConfigFile);
Security.addProvider(nssProvider);
Run Code Online (Sandbox Code Playgroud)
使用配置文件初始化 SUNPKCS11 后,我尝试从密钥库中获取提供程序,如下所示。
还有一件事是当我初始化 SUNPKCS11 时,它的Provider.id.info被设置为
Unconfigured and unusable PKCS11 provider,这有什么关系吗?
KeyStore.getInstance("SUNPKCS11");
Run Code Online (Sandbox Code Playgroud)
然后在这里我没有密钥库中的 PKCS11。
我的配置文件内容如下:
name=nss-client
nssLibraryDirectory=X:\XXX\NSS\lib\
nssSecmodDirectory=X:\XXX\NSS\db\
nssModule=fips
Run Code Online (Sandbox Code Playgroud)
我需要更改配置文件内容中的某些内容还是 Java 11 中的错误?
请帮助我提出宝贵的建议。
我正在调查我们平台的 FIPS 合规性。nginx 是组件之一,我们使用 nginx 1.15.1。我找到了有关 nginx 以及 FIPS 兼容的文档。
\n\n\n当 NGINX Plus 在存在 FIPS\xe2\x80\x91validated OpenSSL 加密模块并启用 FIPS 模式的操作系统上执行时,NGINX Plus 在 SSL/TLS 的解密和加密方面符合 FIPS 140-2 HTTP/2 流量。
\n
https://docs.nginx.com/nginx/fips-compliance-nginx-plus/
\n这也适用于开源 nginx 吗?我没有找到开源版本的任何文档。我也在 nginx 论坛中发布了该查询,但也在这里检查一下,以防人们已经完成了开源版本的 FIPS 合规性。
\n