问题标签 [openssl-engine]

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 投票
1 回答
18970 浏览

java - javax.net.ssl.SSLException - trustAnchors 参数必须为非空

当我尝试跑步时,./gradlew run我不断得到:

试过了curl -v https://services.gradle.org/distributions/gradle-4.4.1-bin.zip ,效果很好

0 投票
1 回答
579 浏览

c++ - 如何将颁发者名称设置为 x509_req 类型对象

我正在尝试使用 CA 证书的私钥签署现有的 csr。所以我打算使用X509_req_sign()API​​。我x509_req通过读取 csr 文件创建了一个对象。我还从 CA 证书中提取了主题名称。

但我不知道如何将发行者名称设置为x509_req对象。我发现存在一个 API x509_set_issuer_name(),但它是用于 object 类型的X509x509_Req类型也有类似的API吗?使用 CA 证书私钥签署现有 csr 的简单方法是什么?我必须只使用 C++ 代码来完成所有这些工作。

请问有什么建议吗?

0 投票
1 回答
653 浏览

sockets - sslscan.c:94:25:致命错误:openssl/err.h:没有此类文件或目录编译终止。#163

我需要在 ubuntu 虚拟机(virtualbox)中安装sslscan用于 ssl 扫描的工具(从这里开始)。

按照此处提供的安装说明,我从此处安装了 openssl-chacha 。请注意,我知道 openssl 的这个分支包含弱密码(我使用该工具和 openssl 用于测试扫描目的,而不是真正的应用程序)。

然后,在安装完上面的openssl之后,我做的第一件事就是执行:make. 请注意,我不清楚何时使用他 sslscan 在这里提到的这些命令(我没有执行它们)。但是我想使用openssl的chacha版本:

当我尝试运行命令时:make我收到此错误:

我在这个目录中:/home/myuser/Downloads/sslscan-master 我确保 openssl 在: /usr/local/ssl 你能指出我缺少什么吗?我不熟悉 Linux 系统(Windows 用户),但我更喜欢在 Linux 中使用该工具。因此,我将感谢您的帮助和耐心。

0 投票
1 回答
1133 浏览

curl - CURLINFO_SSL_ENGINES 不列出 openssl 引擎

我尝试将引擎 pkcs11 与 curl 一起使用。

首先,我将我的引擎 pkcs11 添加到 openssl。

这部分工作:

然后我想配置 curl 来使用它。

控制台上没有显示引擎。我有错误:

似乎引擎不在 curl 列表中。

当我在命令行上尝试时,我有:

对于这个测试,我使用 openssl 构建 curl : nmake /f Makefile.vc mode=dll WITH_SSL=dll SSL_PATH=C:\OpenSSL-Win32

如果我安装带有 openssl 支持的 curl 并将我的引擎设置在 OPENSSL_CONF 文件上,我没有问题。

我的测试是在 Windows 10 下。

0 投票
1 回答
3476 浏览

c - OpenSSL 调试 - 如何在 openssl 中转储中间 ASN.1?

我有一个 PKCS#12 测试文件,其中包含一个使用 PBES2 (PBEWithHmacSHA256AndAES_256) 加密的条目,该文件在 OpenSSL 中不起作用(但在其他地方起作用)。

所以我想弄清楚我的文件是否损坏或者 OpenSSL 是否无法正确处理 PBES2。

附上文件test.p12:( pass:test)

openssl pkcs12(v.1.0.2p-dev)的输出是:

我已经将其追溯到以下几行pkcs12.c

因此我的主要问题是:进一步调试的最佳方法是什么?

我一直在考虑两种方法:

  1. 在内部检查 ASN.1 片段ASN1_item_unpack()(如何?)
  2. 获取解密的 PKCS#12 流并asn1parse在其上运行(如何?)
0 投票
0 回答
97 浏览

linux - 当我使用 openssl EVP_OpenInit() api 函数输入的文本大小小于 16 字节时,为什么我没有得到解密数据?

我正在尝试使用 EVP api 加密和解密文件。当大小仅大于或等于 16 个字节时,我得到正确的结果。这是我针对上述问题的代码。

这是我对上述问题的解密代码。对于小于 16 字节的大小,解密文件为空。尽管代码似乎在逻辑上是正确的。

0 投票
0 回答
177 浏览

ios - 下面的代码对于分离签名工作得很好!如何获得附加签名?

我最终得到的结果是分离签名,但我的要求是获取附加签名。我必须使用我的 CSR 文件签名才能使用 openssl 获取附加签名。我浏览了很多网站,但没有人提供适当的解决方案。

0 投票
0 回答
435 浏览

openssl - 在 OpenSSL 1.1.1 中实现 ECDH 引擎

我正在尝试编写一个支持 ECDH 的 OpenSSL 引擎。我在 OpenSSL wiki 上关注此页面:https ://wiki.openssl.org/index.php/Creating_an_OpenSSL_Engine_to_use_indigenous_ECDH_ECDSA_and_HASH_Algorithms 。

但是它基于版本 1.0.2,我需要使用 OpenSSL 1.1.1。在 wiki 中,他们使用该ENGINE_set_ECDH(ENGINE *e, ECDH_METHOD * ecdh)函数注册 ECDH 方法,但该函数在 OpenSSL 1.1.1 中不可用。

我查看了文档,但没有找到 1.1.1 版的等效文档。同样的问题也适用于 ENGINE_set_ECDSA 不可用的 ECDSA 方法。我应该如何着手使引擎实现 ECDH,如何替换 ENGINE_set_ECDH 功能?

0 投票
1 回答
2078 浏览

openssl - 使用存储在 Yubikey 上的 CA 对证书签名请求进行签名

我想使用私钥和存储在 PIV 数字签名槽中的证书签署证书签名请求。

我正在使用最新版本的 OpenSC for MacOS(https://github.com/OpenSC/OpenSC/releases/tag/0.19.0)。

我已经尝试过 pkcs11-tool、pkcs15-tool 和 yubikey-piv-tool。这三个工具都提供了一个 --sign API,但它们对从数据生成的摘要进行签名。

我的要求是签署证书签名请求以生成证书。

我唯一的选择是将 PKCS#11 引擎用于 OpenSSL。PKCS#11 引擎:brew install engine_pkcs11 PKCS#11 模块:opensc-pkcs11.so

我将使用常规 OpenSSL 命令签署 CSR,使用引擎选项提供密钥和存储在 Yubikey 上的证书。(可能使用 PKCS#11 URI)

使用 OpenSSL 1.0.2,我尝试了以下命令。

回复:

要签署 CSR,我正在使用此命令,

回复:

即使输入正确的 PIN,我也会收到此错误。Yubikey 证书上的 CA 密钥/证书也没有密码。

在 PyKCS#11 示例中出现类似错误: https ://github.com/LudovicRousseau/PyKCS11/issues/61

使用另一个类似的 OpenSSL 命令。

回复:

我想知道问题是否出在 macOS OpenSSL、Yubikey、PKCS#11 或 OpenSSL-PKCS#11 引擎中。

我期望 CSR 使用 Yubikey 在 MacOS 上签署证书。请帮忙。

0 投票
1 回答
393 浏览

go - 使用 OpenSSL 的 EVP API 的配置文件

背景

通过命令行使用 OpenSSL 时,我可以通过设置 my 来更改默认引擎openssl.cnf(请参阅下面的示例代码)。我现在想在使用 EVP API 时更改默认引擎,最好是通过更改配置文件。

更大的背景是我在 EVP 周围使用 Go 包装器,它既不支持全局设置引擎也不支持设置引擎进行签名/验证(我关心的唯一操作)。我正在研究涉及代码更改的选项(例如,使用 cgo全局设置引擎或分叉库),但如果我可以避免它们,那将是理想的。

问题

EVP 似乎没有阅读配置文件,我无法在网上找到/理解关于这是否可能的文档。配置文件是自动加载的(我只是做错了吗?)还是我需要做一些类似 call OPENSSL_INIT_LOAD_CONFIG的事情?

示例代码