我是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.key
和openssl rsa -in a.key
将根据需要提示输入密码短语,因此如果您想在 Chrome 的用户界面中使用它,则只需显式解密密钥,而 Chrome 的用户界面无法处理加密的 PEM。