保护用于签署Chrome WebExtension的私钥

时间:2018-09-17 09:51:10

标签: python google-chrome google-chrome-extension openssl code-signing

我是Chrome的WebExtension的开发人员。 Chrome网上应用店中未列出该WebExtension,因为它仅用于内部目的。

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

我注意到该文件不受密码短语的保护,并且包含纯文本形式的私钥。我认为可以通过这种方式简化开发人员的打包过程。但是,我担心我的私钥的安全性。因此,我想用密码保护我的私钥。

我猜chrome.exe会期望包含纯文本私钥的pem文件,因此我已经搜索了替代方法以对WebExtension进行签名并找到了以下内容:

两个都使用openssl。因此,可以添加对加密私钥的处理,但是我对使用openssl不太有经验。

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

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

1 个答案:

答案 0 :(得分:0)

使用密码加密密钥:

$ 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的用户界面中使用密钥,则只需要显式解密密钥即可,无法处理加密的PEM。