- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个证书 C.pfx,它被授予我使用 OpenSSL。证书 C.pfx 具有以下证书路径:C->B->A
我使用以下命令将 C.pfx 转换为 PEM:
openssl pkcs12 -in C.pfx -out C.pem -nodes -- 工作正常
我在文件编辑器中打开了证书 C.pem,发现它同时具有 RSA PRIVATE KEY 和 CERTIFICATE 部分。
我还看到在 Windows XP 的 Trusted Roor Certification Athorities 商店下安装了 A 和 B 证书。
目标是使用 OpenSSL for Windows 版本 1.0.1c(目前是最新版本)对测试文件进行签名、加密、解密和验证
我使用以下命令:
- 签署 -
openssl smime -sign -signer C.pem -in test.txt -out test.tmp -- WORKS OK
openssl smime -encrypt -in test.tmp -out test.enc C.pem -- WORKS OK
openssl smime -decrypt -in test.enc -recip C.pem -inkey C.pem -out test1.tmp -- WORKS OK
openssl smime -verify -in test1.tmp -CAfile "C.pem" -out notes1.txt -- FAILS
openssl smime -verify -in test1.tmp -CAfile "A.pem" -out notes1.txt -- FAILS
openssl smime -verify -in test1.tmp -CAfile "B.pem" -out notes1.txt -- FAILS
Verification failure
3672:error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error:.\crypt
o\pkcs7\pk7_smime.c:342:Verify error:unable to get local issuer certificate
最佳答案
当您使用 openssl smime verify
openssl 尝试通过检查其签名(即证书中的签名,而不是您要求验证的签名消息中的签名)来验证它要使用的证书是否受信任。为此,它必须拥有颁发证书的 CA key 的证书副本。-CAfile
参数用于传递包含该 CA 证书的文件的名称,而不是用于签署消息的 key 的证书。您可以使用 -certfile
指定用于签署消息的 key 的证书。参数...但在您的情况下,证书将位于 test.tmp
文件(您可以通过在签名消息时指定 -nocerts
来禁止它)。
要在验证消息时禁止检查 key 证书,您可以提供 -noverify
验证命令的参数(尽管 openssl smime verify -noverify
看起来有点奇怪)。
关于OpenSSL:无法获取本地颁发者证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12790572/
我在 Nginx 中使用 Laravel Forge 部署了一个 Laravel 项目。 此应用程序有几个别名。 我正在尝试为每个别名颁发 ssl 证书,但出现以下错误: ERROR: Challen
我是一名优秀的程序员,十分优秀!