Отримати файл .cer з .pem-файлу


13

Я створив приватний ключ RSA за допомогою команди нижче:

openssl genrsa -out privkey.pem 2048

І створив самопідписаний сертифікат за допомогою команди нижче:

openssl req -new -x509 -key privkey.pem -out cacert.pem -days 3650

Тепер я намагаюся перетворити файл cacert .pem в сертифікат .cer

Будь-які ідеї?


1
Відповідно до support.ssl.com/Knowledgebase/Article/View/19/0/… .pem є кодуванням і .cerє розширенням. Незабаром: .cerфайл може містити як кодування, так PEMі DERкодування. Що саме вам потрібно? (Посилання повинно вам допомогти.)
Фабіан

Я знайшов команду створити самопідписаний сертифікат за цим посиланням: openssl.org/docs/HOWTO/certificates.txt Ось повний текст: Якщо ви не хочете мати справу з іншим органом сертифікації, або просто хочете створити тестовий сертифікат для себе. Це схоже на створення запиту на сертифікат, але створює сертифікат замість запиту на сертифікат.
Деварші

Це насправді не відповідає тому, що вам потрібно: Яке призначення сертифікату, який ви генеруєте? Можливо, сервер HTTPS? Або особиста аутентифікація для якоїсь програми? Але я думаю, що ви вже отримали достатньо хороших відповідей нижче на те, що ви запитали.
Фабіан

Сценарій: ми створюємо пару публічно-приватних ключів в додатку Android, і нам потрібно ділитися відкритим ключем у додатку для iOS. Єдиний спосіб, яким я знайшов, поділитися ним, це через самопідписаний сертифікат. iOS apis витягує відкритий ключ із сертифіката з цим розширенням (приклад): some_certificate.cer. Наразі я намагаюся генерувати some_certificate.cer через термінал і перевірити, якщо він здатний витягнути з нього відкритий ключ і виконати шифрування за допомогою того ж.
Деварші

Я не можу допомогти тобі в iOS. Але я розумію, що розширення .cer використовується лише Microsoft. Якщо відповіді нижче вам не допомагають, ви можете запитати у місці, пов’язаному із програмою iOS.
Фабіан

Відповіді:


38

Можна використовувати таку команду:

openssl x509 -inform PEM -in cacert.pem -outform DER -out certificate.cer

2

.cer - це тип файлу для кодування DER або Base64, якщо я пам'ятаю правильно.

openssl x509 -in cacert.pem -out cacert.cer -inform pem -outform der для формату DER.


1

Фактичне розширення для сертифікатів не має значення. Зазвичай .pem-файли мають сертифікат x509 у закодованій формі base64. Файли .cer можуть бути закодовані base64 або DER (Windows розпізнає або). Залежно від вашої програми, вам потрібно буде дізнатися, який формат сертифіката вимагає програма.

Для перетворення між кодування base64 (PEM) і DER:

openssl x509 -in cert.pem -outform pem -outform der -out cert.cer
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.