问题描述
我是Chrome的WebExtension的开发人员。 Chrome网上应用店中未列出WebExtension,因为它仅用于内部用途。
打包WebExtension的第一个版本时,我得到了一个包含私钥的pem文件。 目前,我正在使用chrome.exe通过我的私钥创建/签名WebExtension的新版本。
我注意到该文件不受密码短语的保护,并且包含纯文本形式的私钥。 我认为可以通过这种方式简化开发人员的打包过程。 但是,我担心我的私钥的安全性。 因此,我想用密码保护我的私钥。
我猜chrome.exe会期望包含纯文本私钥的pem文件,因此我搜索了替代方法来签署WebExtension并发现了以下内容:
- bash脚本
- python脚本
他们两个都使用openssl。 因此,可以添加对加密私钥的处理,但是我对使用openssl不太有经验。
是否存在用于加密和解密pem文件的常用/最佳实践openssl命令?
任何帮助将不胜感激,谢谢!
1楼
使用密码加密密钥:
$ 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
将openssl rsa -in a.key
时提示输入密码,因此,仅当您想在Chrome的用户界面中使用该密钥时,才需要明确解密该密钥。只是无法处理加密的PEM。