保护用于签署 Chrome 网络扩展程序的私钥



我是Chrome版WebExtension的开发者。WebExtension未在Chrome网上应用店中列出,因为它仅用于内部用途。

在打包WebExtension的第一个版本时,我得到了一个包含私钥的pem文件。目前,我正在使用 chrome.exe 使用我的私钥创建/签署我的网络扩展的新版本。

我注意到该文件不受密码保护,并且包含明文形式的私钥。我认为这样做是为了简化开发人员的打包过程。但是,我担心我的私钥的安全性。因此,我想用密码保护我的私钥。

我想 chrome.exe 会期望一个包含明文私钥的 pem 文件,所以我搜索了对我的 WebExtension 进行签名的替代方案,并找到了以下内容:

  • 一个 bash 脚本 http://www.adambarth.com/experimental/crx/docs/crx.html
  • 一个蟒蛇脚本 https://grack.com/blog/2009/11/09/packing-chrome-extensions-in-python/

他们都使用openssl。因此,可以添加加密私钥的处理,但我使用 openssl 不是很有经验。

是否存在用于加密和解密 pem 文件的通用/最佳实践 openssl 命令?

任何帮助将不胜感激,谢谢!

使用密码加密密钥:

$ openssl rsa -in a.pem -aes256 -out a.key
writing RSA key
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

使用密码解密密钥:

$ openssl rsa -in a.key | openssl pkcs8 -topk8 -nocrypt -out a.pem
Enter pass phrase for a.key:
writing RSA key

shell 命令openssl sha1 -sign -key a.keyopenssl rsa -in a.key将根据需要提示输入密码短语,因此如果您想在 Chrome 的用户界面中使用它,则只需显式解密密钥,而 Chrome 的用户界面无法处理加密的 PEM。

最新更新