openssl - 在不访问 PK 的情况下生成签名的 PKCS#7
问题描述
我有一张存储我的私钥并执行有限加密操作的智能卡,我需要生成一个 PKCS#7 签名文件。智能卡附带的库不支持 PKCS#7,但我可以使用它来生成签名。
在给定明文有效负载、证书和签名(不是私钥)的情况下,有什么方法可以使用成熟的开源库(例如 openssl)来构建 PKCS#7 内容?
我知道我可以调用 openssl 中的各种函数来一次执行所有操作(包括签名),但这需要访问我的代码无法提取的私钥。
解决方案
您可以通过创建一个 OpenSSL 引擎来做到这一点,该引擎将在需要私钥操作时与卡进行通信。
推荐阅读
- c# - 如何覆盖 System.IO.Stream .OpenRead() 上的超时值:获取 ReadTimeout 引发了“System.InvalidOperationException”类型的异常
- macos - QT 是否被 macOS Mojave 10.14.6 破坏?
- sqlite - 为什么在`flutter run --release`之后重新创建了数据库?
- php - 测试 http Laravel
- python - 如何解决通过正则表达式获取字符串的“将字符串转换为浮点数时出错”?
- sql - Where...IN 条件中的 SQL 多个 ID 列
- labview - 我需要帮助更改连接到伺服电机的 LabVIEW 读取 VI 的数据采集速率
- list - Flutter 可以创建 AnimationController 列表吗?
- excel - 获取范围内最后一个非空单元格的列号(如果值不唯一)
- javascript - Next.js/React - 如何从 Apollo 客户端 HOC 普遍解析用户语言?