gpt4 book ai didi

openssl - 如何在 crypto++ 中使用密码解密 PKCS8 DER 加密私钥

转载 作者:行者123 更新时间:2023-12-02 00:32:22 25 4
gpt4 key购买 nike

我正在尝试使用加密的私钥对消息进行签名,我当然有它的密码,所以我正在尝试解密该 key 以便我可以使用它进行签名。

我正在使用 C++ 库 crypto++,这是我试图用来从文件中读取 key 的代码

string keyString;
FileSource fs(keyFileName.c_str(), true, new DefaultDecryptorWithMAC(passphrase, new StringSink(keyString)));

执行此操作时,会出现 CryptoPP::DefaultDecryptor::KeyBadErr,我知道我的密码正确,因为我使用 openssl 和以下命令行成功解密了 key :

openssl pkcs8 -inform DER -passin pass:PASSPHRASE < emisor.key

这是我的第一篇文章,我不确定我是否遵守了提问的所有规则,但我们将不胜感激任何帮助或提示。

问候,

最佳答案

PKCS #8 使用与 Crypto++ 的 DefaultDecryptorWithMAC 无关的特定加密格式。您可以在此处找到规范中的详细信息 - http://www.rsa.com/rsalabs/node.asp?id=2130

不幸的是,Crypto++ 目前本身不支持加密的 PKCS #8 key 。借助库中的 ASN.1 和加密支持,您当然可以自己实现它,但使用 openssl 命令行工具简单地解密 key 可能会更容易。或者您可以在您的程序中使用 openssl,或其他支持加密 PKCS #8 key 的库。

关于openssl - 如何在 crypto++ 中使用密码解密 PKCS8 DER 加密私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6220453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com