Защита закрытого ключа для подписи Chrome WebExtension - PullRequest
0 голосов
/ 17 сентября 2018

Я разработчик WebExtension для Chrome.WebExtension не указан в Chrome Web Store, поскольку он используется только для внутренних целей.

При упаковке первой версии WebExtension я получил файл pem, который содержит закрытый ключ.В настоящее время я использую chrome.exe для создания / подписания новых выпусков моего WebExtension с использованием моего закрытого ключа.

Я заметил, что файл не защищен парольной фразой и содержит закрытый ключ в виде открытого текста.Я думаю, что это обрабатывается таким образом, чтобы упростить процесс упаковки для разработчиков.Тем не менее, я обеспокоен безопасностью моего личного ключа.Поэтому я хочу защитить свой закрытый ключ парольной фразой.

Я предполагаю, что chrome.exe ожидает файл pem, содержащий открытый ключ открытого текста, поэтому я искал альтернативы для подписи своего WebExtension и обнаружил следующее:

Оба они используют openssl.Следовательно, можно добавить обработку зашифрованного закрытого ключа, но я не очень разбираюсь в использовании openssl.

Существуют ли распространенные / лучшие практики команд openssl для шифрования и дешифрования файла pem?

Любая помощьбудет оценено, спасибо!

1 Ответ

0 голосов
/ 17 сентября 2018

Зашифровать ключ с помощью ключевой фразы:

$ 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

Команды оболочки openssl sha1 -sign -key a.key и openssl rsa -in a.key запросят парольФраза по мере необходимости, поэтому вам нужно будет явно дешифровать ключ, если вы хотите использовать его в пользовательском интерфейсе Chrome, который просто не может обрабатывать зашифрованный PEM.

...