2015-01-21 6 views
6

У меня есть требование извлечь открытый ключ (RSA) из файла *.cer. Я хочу извлечь ключ и сохранить его в файле .pem, поэтому я могу использовать его значение для шифрования значений с использованием jsencrypt.Как извлечь открытый ключ RSA из .cer и сохранить его в .pem с помощью OpenSSL?

Следующая команда преобразует .cer в .pem:

openssl x509 -inform der -in certificate.cer -out certificate.pem 

Но это не создает файл с открытым ключом, но файл с содержимым файла *.cer.

-----BEGIN CERTIFICATE----- 
MIICPDCCAamgAwIBAg............ 
*lots of extra contents* 
-----END CERTIFICATE----- 

Какую команду следует использовать для извлечения открытого ключа и хранить его в .pem файле?

+0

Stack Overflow это сайт для программирования и разработки вопросов. Этот вопрос кажется вне темы, потому что речь идет не о программировании или разработке. См. [Какие темы можно задать здесь] (http://stackoverflow.com/help/on-topic) в Справочном центре. Возможно, лучше сказать [Суперпользователь] (http://superuser.com/) или [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/). Также см. [Где я пишу вопросы о Dev Ops?] (Http://meta.stackexchange.com/q/134306) – jww

+1

Борьба с этими вещами часто является частью разработчика. Есть много вопросов по поводу управления сертификатами. Это не Суперпользователь или Linux или Dev Ops, все из которых недостаточно специфичны. Я считаю, что это на самом деле правильное место. – Ghoti

ответ

17

Используя эту команду, я смог сгенерировать .pem с содержимым открытого ключа.

openssl x509 -inform der -in certificate.cer -pubkey -noout > certificate_publickey.pem 

Который производит:

-----BEGIN PUBLIC KEY----- 
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsM+whXrxmbCkPfkwY2EehYpIp 
*blah blah blah blah* 
-----END PUBLIC KEY----- 
+4

Спасибо. Просто исправление: для ввода файла .cer параметр 'inform' должен быть' der' – Gobe

+2

. Я был уверен, что то, что я написал в своем ответе, было правильным и работало для меня ... Я использовал «-информный пем '. Хотя, если '-inform der' тоже работает, тогда это круто. –

+1

Для всех, кто пытается это, '-inform DER' не будет работать для меня, но работает' -inform PEM'. –

Смежные вопросы