【问题标题】:How can I decrypt encrypted files using a PEM private key?如何使用 PEM 私钥解密加密文件?
【发布时间】:2010-03-25 10:38:29
【问题描述】:

我的文件要么使用公钥和 Blowfish 算法加密,要么使用公钥和 AES-256 算法加密。

我正在寻找一个 Perl 脚本,该脚本将能够使用私钥(我确实拥有)来解密文件。

公钥和私钥文件都是 PEM 格式,虽然我可以找到读取 PEM 文件的方法,以及使用密钥解密数据的方法,但我还没有找到从 PEM 开始的方法 ->键。

有什么建议吗?

【问题讨论】:

  • 您是否想弄清楚使用哪个密钥来解密特定文件?你说你已经知道如何解密数据了。
  • 我知道我需要使用其中一个私钥,并且我见过像 Crypt::OpenSSL::RSA、Crypt::OpenSSL::AES 和 Crypt::Blowfish 这样的模块。使用 ::RSA,我已经研究出如何加密/解密数据(我认为它应该与使用 ::AES 非常相似)......但它们需要一个密钥来设置密码对象。它正在从 PEM 文件中获取我尚未解决的密钥...
  • 那么公平地说,您的问题实际上是“我如何确定使用哪个私钥来解密 PEM 消息?”,而不是您使用的标题?
  • 也许......但是一旦我能弄清楚如何从 (a) PEM 私钥到我可以用来创建密码对象的密钥,我就能得到东西在职的。也许问题应该是“我如何从私人 PEM 密钥获得与 Crypt::* 模块一起使用的密钥”

标签: perl pki pem


【解决方案1】:

PEM 不只是 base64 编码(包装在 --- BEGIN/END CERTIFICATE --- 行中)吗?试试Mime::Base64 模块,或查看Convert::PEM 模块的源代码。

【讨论】:

  • 看起来确实是 Base64 编码,Convert::PEM 正在做 decode_base64。如果我尝试通过 Crypt::OpenSSL::AES 使用解码后的值,我会得到“密钥必须是 128、192 或 256 位长”。我想我的密钥比那长......所以我需要做点别的事情......但我目前不仅仅是采取前 256(?)位的情况。
猜你喜欢
  • 2010-11-12
  • 2018-11-25
  • 2015-07-31
  • 1970-01-01
  • 1970-01-01
  • 2013-12-17
  • 2021-02-17
  • 2012-04-11
  • 1970-01-01
相关资源
最近更新 更多