保护用于签名的私钥 Chrome WebExtension

Protection of private key for signing Chrome WebExtension

我是 Chrome 的 WebExtension 开发人员。 WebExtension 未在 Chrome 网上商店中列出,因为它仅供内部使用。

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

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

我猜 chrome.exe 需要一个包含明文私钥的 pem 文件,所以我搜索了替代方案来签署我的 WebExtension 并找到了以下内容:

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

common/best是否存在用于加密和解密 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 的 UI,它无法处理加密的 PEM。