Konwertuj certyfikat CERT / PEM na certyfikat PFX

185

Widziałem kilka pytań na temat konwertowania pliku PFX na plik cert, ale muszę przejść w drugą stronę.

Mam dwa pliki:

bob_cert.cert

bob_key.pem

Chciałbym przekonwertować je na pojedynczy plik .pfx. Czy istnieje narzędzie, które to robi?

bendewey
źródło
16
serverfault.com/a/9717/3202 to świetne wyjaśnienie dotyczące formatów plików cert, po prostu fyi
Rory

Odpowiedzi:

350
openssl pkcs12 -inkey bob_key.pem -in bob_cert.cert -export -out bob_pfx.pfx
Francis
źródło
7
Jak mogę osiągnąć to samo programowo w C #?
pankajt
2
Czy możesz wskazać mi kierunek tych przykładów? Nie mogę nic znaleźć.
Nick
10
Wersja OpenSSL dla systemu Windows jest dostępna na stronie slproweb.com/products/Win32OpenSSL.html . Właśnie go wypróbowałem i działało poprawnie w tym celu.
BrianFinkel 30.09.11
2
Świetna lista typowych poleceń OpenSSL na sslshopper.com/article-most-common-openssl-commands.html
Rory
4
Kilka dodatków: -name "friendly name"ustawia nazwę (która na przykład pojawi się na liście certyfikatów w systemie Windows) i -certfile cacert.pemmożna jej użyć do dodania certyfikatu lub certyfikatów urzędu certyfikacji i wygenerowania .pfxpliku z całym łańcuchem.
pvgoran
22

Oto jak to zrobić w systemie Windows bez narzędzi innych firm:

  1. Zaimportuj certyfikat do magazynu certyfikatów. W Eksploratorze Windows wybierz „Zainstaluj certyfikat” w menu kontekstowym. wprowadź opis zdjęcia tutaj Postępuj zgodnie z instrukcjami kreatora i zaakceptuj domyślne opcje „Użytkownik lokalny” i „Automatycznie”.

  2. Znajdź swój certyfikat w magazynie certyfikatów. W systemie Windows 10 uruchom konsolę MMC „Zarządzaj certyfikatami użytkowników”. W systemie Windows 2013 MMC nosi nazwę „Certyfikaty”. W systemie Windows 10 domyślnie twój certyfikat powinien znajdować się w węźle „Osobiste” -> „Certyfikaty”.

  3. Certyfikat eksportowy. W menu kontekstowym wybierz menu „Eksportuj ...”: wprowadź opis zdjęcia tutaj

    Wybierz „Tak, wyeksportuj klucz prywatny”: wprowadź opis zdjęcia tutaj

    Zobaczysz, że opcja .PFX jest włączona w tym przypadku: wprowadź opis zdjęcia tutaj

    Podaj hasło dla klucza prywatnego.

IT Hit WebDAV
źródło
11
W kroku 2 mój certyfikat nie jest „Osobisty” -> „Certyfikaty”. Pojawia się w „Innych osobach” -> „Certyfikaty”, a podczas eksportu „Wymiana informacji osobistych (PFX)” wydaje się wyłączona. Czy wiesz jak to włączyć?
Gabrielizalo,
Naprawiłem przenośny konwerter certyfikatów z DigiCert: digicert.com/util/…
Gabrielizalo
13
nie można zaimportować PEM.
Ross Presser,
1
Najpierw musisz zmienić nazwę pliku .pem na .cer, aby system Windows mógł rozpoznać plik jako plik certyfikatu / klucza prywatnego. Oba rozszerzenia plików mogą zawierać certyfikaty i / lub klucze w formacie tekstowym zbrojonym ASCII lub binarnym formacie Base64 / DER, ale można używać plików cer z wbudowanymi narzędziami systemu Windows.
Mastacheata,
9
Pytanie OP brzmiało, jak go zaimportować, gdy klucz prywatny nie znajduje się w pliku certyfikatu, ale masz dwa pliki: crt i pem (pem zawierający klucz prywatny). Ta odpowiedź nie działa w takim przypadku.
masi
16

Plik pfx utworzyłem z plików .key i .pem.

Lubię to openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx

To nie jest bezpośrednia odpowiedź, ale może może pomóc komuś innemu.

Siim Nelis
źródło
5

Jeśli masz samopodpisany certyfikat wygenerowany makecert.exena komputerze z systemem Windows, otrzymasz dwa pliki: cert.pvki cert.cer. Można je przekonwertować do formatu pfx za pomocąpvk2pfx

pvk2pfxznajduje się w tej samej lokalizacji co makecert(np. C:\Program Files (x86)\Windows Kits\10\bin\x86lub podobny)

pvk2pfx -pvk cert.pvk -spc cert.cer -pfx cert.pfx
EBlake
źródło