Uzyskaj plik .cer z pliku .pem

13

Wygenerowałem klucz prywatny RSA za pomocą poniższego polecenia:

openssl genrsa -out privkey.pem 2048

I utworzył samopodpisany certyfikat za pomocą poniższego polecenia:

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

Teraz próbuję przekonwertować plik .acem cacert na certyfikat .cer

Jakieś pomysły?

Devarshi
źródło
1
Według strony support.ssl.com/Knowledgebase/Article/View/19/0/… .pem jest kodowaniem i .cerjest rozszerzeniem. Krótko mówiąc: .cerplik może zawierać zarówno kodowanie, jak PEMi DERkodowanie. Czego dokładnie potrzebujesz? (Link powinien ci pomóc.)
Fabian
Znalazłem polecenie utworzenia samopodpisanego certyfikatu z tego linku: openssl.org/docs/HOWTO/certificates.txt Oto pełny tekst: Jeśli nie chcesz kontaktować się z innym urzędem certyfikacji lub po prostu chcesz utworzyć certyfikat testowy dla siebie. Jest to podobne do tworzenia żądania certyfikatu, ale tworzy certyfikat zamiast żądania certyfikatu.
Devarshi
To tak naprawdę nie odpowiada na to, czego potrzebujesz: Jaki jest cel generowanego certyfikatu? Może serwer HTTPS? Lub osobiste uwierzytelnienie dla niektórych aplikacji? Ale myślę, że masz już wystarczająco dobrych odpowiedzi poniżej na to, o co prosiłeś.
Fabian
Scenariusz jest taki: tworzymy parę kluczy publiczny-prywatny w aplikacji na Androida i musimy udostępnić klucz publiczny aplikacji iOS, jedyny sposób, w jaki znalazłem, aby go udostępnić, to poprzez samopodpisany certyfikat. api iOS wyodrębnia klucz publiczny z certyfikatu z tym rozszerzeniem (przykład): some_certificate.cer. Na razie próbuję wygenerować some_certificate.cer przez terminal i sprawdzić, czy jest w stanie wyodrębnić z niego klucz publiczny i wykonać szyfrowanie przy użyciu tego samego.
Devarshi
Nie mogę ci pomóc z rzeczami na iOS. Ale rozumiem, że rozszerzenie .cer jest używane tylko przez Microsoft. Jeśli poniższe odpowiedzi ci nie pomogą, możesz zapytać w miejscu związanym z programowaniem na iOS.
Fabian

Odpowiedzi:

38

Możesz użyć następującego polecenia:

openssl x509 -inform PEM -in cacert.pem -outform DER -out certificate.cer
cioby23
źródło
2

.cer to typ pliku do kodowania DER lub Base64, jeśli dobrze pamiętam.

openssl x509 -in cacert.pem -out cacert.cer -inform pem -outform der dla formatu DER.

znak
źródło
1

Rzeczywiste rozszerzenie nie ma znaczenia dla certyfikatów. Zwykle pliki .pem mają certyfikat x509 w postaci zakodowanej w standardzie base64. Pliki .cer mogą być zakodowane w formacie base64 lub DER (system Windows rozpozna oba). W zależności od aplikacji musisz dowiedzieć się, jakiego formatu certyfikatu wymaga aplikacja.

Aby przekonwertować kodowanie base64 (PEM) i DER:

openssl x509 -in cert.pem -outform pem -outform der -out cert.cer
mtak
źródło