问题标签 [fips]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
792 浏览

windows - openssl fips 错误

我在 Windows 中运行的服务项目中使用 OpenSSL 库。这些库是按照 FIPS 标准构建的。在 32 位 Windows 操作系统中,该服务运行良好。但是,当我尝试在 64 位 Windows(Windows Server 2008、Windows 7 等)中运行项目时,程序会崩溃。

程序的输出:.\fips\fips.c(146): OpenSSL internal error, assertion failed: FATAL FIPS SELFTEST FAILURE

我正在使用 C++ 来实现该服务项目并使用 MS Visual Studio 2010。此外,我正在使用 Win32 设置构建该项目,并且还在我收到的 64 位平台中使用 32 位编译的 OpenSSL 库错误。OpenSSL 版本是 0.9.8r。

任何想法将不胜感激,在此先感谢。

0 投票
3 回答
1775 浏览

java - 为什么 JCE 初始化需要 MD5

我正在尝试在我的 java 应用程序上启用 FIPS 180-3。FIPS 180-3 只允许使用 5 个安全 [哈希] (http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf),MD5 不是其中之一。因此,我试图以编程方式从 Sun 提供程序中删除 MD5 算法。这是示例代码。



但这会引发以下异常。如果您评论“sun.remove(..”该程序可以正常工作。如果我删除 MD2,而不是 MD5,那么它也可以正常工作。

在我看来,jre 库似乎使用 MD5 进行签名,但我检查了 jre/lib/ext/sunjce_provider.jar 签名者及其使用 sha1。

知道为什么我的代码因此错误而失败吗?

TestRemoveMD5.main(TestRemoveMD5.java:20) 的 javax.crypto.Cipher.getInstance(DashoA13*..) 的线程“主”java.lang.ExceptionInInitializerError 中的异常

原因:java.lang.SecurityException:无法在 javax.crypto.SunJCE_b.(DashoA13*..) 上为受信任的 CA 设置证书 ... 3 更多

原因:java.lang.SecurityException:签名类已在 javax.crypto.SunJCE_b$1 的 javax.crypto.SunJCE_b.c(DashoA13*..) 的 javax.crypto.SunJCE_b.d(DashoA13*..) 处被篡改.run(DashoA13*..) at java.security.AccessController.doPrivileged(Native Method) ... 还有 4 个

0 投票
1 回答
769 浏览

android - Android,如何在“ndk-build”中为 openssl 使用 fipsld

为了在android上使用支持fips的openssl库(在我的例子中是libcrypto.a),我需要在my.so(JNI代码)中链接构建的libcrypto.a。根据openssl fips 2.0 用户手册,应该使用fipsld 来验证和生成hmac 签名。我目前正在使用“ndk-build”链接 libcrypto.a 并生成 my.so,我的问题是,如何将 fipsld 集成到我的 Android.mk 中?

如果使用 Android.mk / ndk-build 很难,我会​​改用 arm-eabi-gcc 链接 libcrypto.a 并创建 my.so。使用 fipsld 的 gcc 方式记录在 openssl fips 用户手册中。任何人都可以为我提供一个构建 .so 链接 .a for android 的示例集(配置/Makefile)的链接。

谢谢

0 投票
0 回答
934 浏览

openssl - IIS7 应用程序池无法加载具有固定基地址的库

我的 .NET 4.0 Web 服务使用 libeay32.dll,它是在 VS2010 中使用 /FIXED 选项编译的,以便符合 FIPS。这意味着 libeay32.dll 无法加载,除非它位于某个地址 (0xfb00000)。抛出的异常是:

System.DllNotFoundException:无法加载 DLL 'some_dependent_library.dll':尝试访问无效地址。

我知道帮助确保 libeay32.dll 获得正确地址的唯一方法是在加载任何其他 DLL 之前在 Main() 方法中加载它(使用 kernel32.dll 中的 LoadLibrary())。这是我在 Windows 服务和单元测试中成功使用的一种方法。但是,在我的 Web 服务中,我将 LoadLibrary 放在了 Global.asax.cs 的 Application_Start() 中,但它仍然偶尔会失败。(我查看了 procmon - 首先加载了许多其他 DLL)

有没有其他方法可以确保 libeay32.dll 获得所需的地址?当我的应用程序池启动时,但在 Application_Start() 之前,我是否可以运行代码?

0 投票
1 回答
596 浏览

android - Android 核心故障中的 openssl-fips-2.0

我已经使用 ndk-r8 为 Android 成功构建了 openssl-fips-2.0 + openssl-1.0.1c。
我在 Mac OSX 上进行交叉编译。

但是,我无法通过 FIPS_mode_set(1)。我收到以下错误:“FIPS 例程:FIPS_check_incore_fingerprint:指纹不匹配”

我正在使用从 openssl-fips-2.0/util/incore 提供的 incore 脚本。

我的设置如下:

任何想法为什么我不能通过内核指纹验证?在交叉编译时我需要什么特别的 wrt incore 吗?

0 投票
1 回答
771 浏览

oracle - 找不到 fips.ora 文件

我在 fips 兼容模式下配置 Oracle 数据库,但找不到 fips.ora,有人可以告诉我我需要创建一个新文件还是有任何默认位置?

0 投票
3 回答
6912 浏览

postgresql - 在 PostgreSQL 数据库上启用 FIPS

有人可以指定在 Postgres 数据库上启用 FIPS 的步骤吗?我用谷歌搜索,但找不到任何具体的东西。

0 投票
1 回答
710 浏览

java - 有没有办法从 NSS 中提取密钥

我使用 NSS 作为我的密钥库。我已经生成了一个密钥,用于加密/解密敏感数据(使用 AES)并且一切正常。

为了可移植性,有没有一种方法可以提取此密钥并将其插入回不同的 NSS DB?

我将 jre6 与 SunPKCS11 提供程序一起使用。我正在生成密钥如下

0 投票
1 回答
230 浏览

ios - 当我在应用程序预启动期间包含 openssl FIPS 库时,gdb 会引发错误。链接没问题

编辑这个问题,因为问题现在不同了。

我通过为正确的平台(armv7)构建它来摆脱链接问题。现在,我陷入了另一个不允许我启动我的应用程序的问题。这是我的测试应用程序的输出,它基本上检查是否启用了 FIPS 模式:

它甚至没有得到第一种方法:

预发布本身存在一些错误。我已经多次重启了 mac book 、 ipad 和 xcode ,但没​​有运气。

有什么线索吗?

0 投票
3 回答
2332 浏览

.net - 在 FIPS 模式下使用 OpenSSL 与 .NET

我已经构建了 OpenSSL FIPS 容器版本 2.0.1,然后使用该容器构建了 OpenSSL 1.0.1c(根据OpenSSL FIPS 对象模块 v2.0 的用户指南中的说明):

我在我的 .NET 应用程序中有这些导入(显然是使用上面的 libeay32.dll):

问题是,当我打电话时FIPS_mode_set(1),它正在返回0,这表明 FIPS 模式无法启用。

为了尝试找出问题的原因,我正在这样做:

这给了我这个错误信息:

OPENSSL_Uplink(0FAF1000,08): no OPENSSL_Applink

我试过寻找答案,但结果空洞 - 任何建议都将不胜感激!

**更新**

我尝试使用 Visual Studio 2008 命令行中的相同步骤而不是 Visual Studio 2010 命令行(我以前使用过)来构建它——它成功了!

但我不知道为什么它不能与 Visual Studio 2010 一起使用,而且我不想让 Visual Studio 2008 永远存在——知道如何让它与 Visual Studio 2010 一起构建吗?