Potrzebuję pliku .pfx, aby zainstalować https na stronie internetowej w IIS.
Mam dwa osobne pliki: certyfikat (.cer lub pem) i klucz prywatny (.crt), ale IIS akceptuje tylko pliki .pfx.
Oczywiście zainstalowałem certyfikat i jest on dostępny w menedżerze certyfikatów (mmc), ale kiedy wybieram Kreatora eksportu certyfikatów, nie mogę wybrać formatu PFX (jest wyszarzony)
Czy są jakieś narzędzia do wykonania tego lub przykłady C # robienia tego programowo?
Odpowiedzi:
Musisz użyć openssl.
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt
Plik klucza jest po prostu plikiem tekstowym z kluczem prywatnym.
Jeśli masz głównego urzędu certyfikacji i certyfikatów pośrednich, a następnie włączyć je również za pomocą wielu
-in
paramsopenssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -in intermediate.crt -in rootca.crt
Możesz zainstalować openssl stąd: openssl
źródło
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -in intermediate.crt -in rootca.crt
-certfile intermediate.crt -certfile rootca.crt
zanim pojawi się monit o ochronę.pfx
hasłem / hasłem. Wydaje mi się, że jest to możliwe, ponieważ.key
nie pasują do dodatkowych-in
plików, co powoduje pojawienie się komunikatu o błędzie „Brak certyfikatu pasuje do klucza prywatnego”.Narzędzie wiersza polecenia Microsoft Pvk2Pfx wydaje się mieć niezbędną funkcjonalność:
Pvk2Pfx (Pvk2Pfx.exe) to narzędzie wiersza polecenia kopiujące informacje o kluczu publicznym i kluczu prywatnym zawarte w plikach .spc, .cer i .pvk do pliku wymiany informacji osobistych (.pfx).
http://msdn.microsoft.com/en-us/library/windows/hardware/ff550672(v=vs.85).aspx
Uwaga: jeśli potrzebujesz / chcesz / preferujesz rozwiązanie C #, możesz rozważyć skorzystanie z http://www.bouncycastle.org/ api.
źródło
Jeśli szukasz GUI dla systemu Windows, sprawdź DigiCert. Właśnie tego użyłem i było to dość proste.
Na karcie SSL najpierw zaimportowałem certyfikat. Potem, kiedy wybrałem Certyfikat, byłem w stanie wyeksportować jako plik PFX, zarówno z plikiem klucza, jak i bez niego.
https://www.digicert.com/util
źródło
DigiCertUtil.exe
pliku wykonywalnego. Najłatwiej jest po prostu skopiować go do folderu certyfikatu.Nie potrzebujesz openssl lub makecert ani żadnego z nich. Nie potrzebujesz również klucza osobistego przekazanego przez urząd certyfikacji. Mogę prawie zagwarantować, że problem polega na tym, że spodziewasz się, że będziesz mógł używać plików kluczy i cer dostarczonych przez twój urząd certyfikacji, ale nie są one oparte na „sposobie IIS”. Jestem tak zmęczony widzeniem złych i trudnych informacji tutaj, że postanowiłem blogować temat i rozwiązanie. Kiedy zdasz sobie sprawę, co się dzieje i zobaczysz, jakie to łatwe, będziesz chciał mnie przytulić :)
Certyfikaty SSL dla IIS z PFX raz na zawsze - wyjaśnienie SSL i IIS - http://rainabba.blogspot.com/2014/03/ssl-certs-for-iis-with-pfx-once-and-for.html
Użyj interfejsu IIS „Certyfikaty serwera” do „Generowania żądania certyfikatu” (szczegóły tego żądania są poza zakresem tego artykułu, ale te szczegóły są krytyczne). To da ci CSR przygotowany dla IIS. Następnie przekaż ten raport CSR do swojego urzędu certyfikacji i poproś o certyfikat. Następnie weź plik CER / CRT, który ci dali, wróć do IIS, „Complete Certificate Request” w tym samym miejscu, w którym wygenerowałeś żądanie. Może poprosić o .CER, a możesz mieć .CRT. To są te same rzeczy. Po prostu zmień rozszerzenie lub użyj .rozszerzenie listy rozwijanej, aby wybrać .CRT. Teraz podaj poprawną „przyjazną nazwę” (* .twojadomena.com, twojadomena.com, foo.twojadomena.com itp.). TO JEST WAŻNE! To MUSI być zgodne z tym, dla czego skonfigurowałeś CSR i tym, co dostarczył twój CA. Jeśli poprosiłeś o znak wieloznaczny, Twój urząd certyfikacji musi zatwierdzić i wygenerować symbol wieloznaczny i musisz użyć tego samego. Jeśli Twój CSR został wygenerowany dla foo.twojadomena.com, MUSISZ to zrobić na tym etapie.
źródło
Plik pfx utworzyłem z plików .key i .pem.
Lubię to
openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx
źródło
-export
przełącznika.https://msdn.microsoft.com/en-us/library/ff699202.aspx
((odpowiednie cytaty z artykułu są poniżej))
(Opcjonalnie (i nie dla OP, ale dla przyszłych czytelników) możesz utworzyć .cer i .pvk od zera) (zrobiłbyś to PRZED powyższym). Uwaga: mm / dd / rrrr są symbolami zastępczymi dat rozpoczęcia i zakończenia. pełna dokumentacja znajduje się w artykule msdn.
źródło
Musisz użyć narzędzia makecert.
Otwórz wiersz polecenia jako administrator i wpisz następujące polecenie:
Gdzie
<CertifcateName>
= nazwa twojego certyfikatu do utworzenia.Następnie możesz otworzyć przystawkę Menedżer certyfikatów dla konsoli zarządzania, wpisując certmgr.msc w menu Start, kliknij osobisty> certyfikaty>, a Twój certyfikat powinien być dostępny.
Oto artykuł.
https://azure.microsoft.com/documentation/articles/cloud-services-certs-create/
źródło
Mam link do twojego wymagania. Połącz pliki CRT i KEY w PFX z OpenSSL
Fragmenty powyższego linku:
EDYTOWAĆ:
Istnieje łącze pomocy technicznej z informacjami krok po kroku, jak zainstalować certyfikat.
Po pomyślnej instalacji wyeksportuj certyfikat, wybierz
.pfx
format, dołącz klucz prywatny.Ważna uwaga: Aby wyeksportować certyfikat w formacie .pfx, należy wykonać kroki na tym samym komputerze, z którego zażądano certyfikatu .
Zaimportowany plik można przesłać na serwer.
źródło
openssl pkcs12 -inkey example.com.key -in example.com.crt -export -out example.com.pfx
Oto NAJLEPSZY sposób na konwersję * .cer do plików * .pfx:
Wystarczy pobrać przenośny konwerter certyfikatów z DigiCert: https://www.digicert.com/util/pfx-certificate-management-utility-import-export-instructions.htm
Uruchom go, wybierz plik i zdobądź plik * .pfx !!
źródło
Kiedy powiesz, że certyfikat jest dostępny w MMC, czy jest on dostępny w „Bieżącym użytkowniku” lub „komputerze lokalnym”? Odkryłem, że mogę wyeksportować klucz prywatny tylko wtedy, gdy znajduje się on w komputerze lokalnym.
Możesz dodać przystawkę Certyfikaty do MMC i wybrać konto, dla którego ma zarządzać certyfikatami. Wybierz komputer lokalny. Jeśli Twojego certyfikatu nie ma, zaimportuj go, klikając prawym przyciskiem myszy sklep i wybierając Wszystkie zadania> Importuj.
Teraz przejdź do zaimportowanego certyfikatu w przystawce certyfikatu w wersji Komputer lokalny. Kliknij certyfikat prawym przyciskiem myszy i wybierz Wszystkie zadania> Eksportuj. Druga strona kreatora eksportu powinna zapytać, czy chcesz wyeksportować klucz prywatny. Wybierz Tak. Opcja PFX będzie teraz jedyną dostępną (jest wyszarzona, jeśli wybierzesz nie, a opcja eksportu klucza prywatnego nie jest dostępna w ramach konta bieżącego użytkownika).
Zostaniesz poproszony o ustawienie hasła do pliku PFX, a następnie o ustawienie nazwy certyfikatu.
źródło
Miałem ten sam problem. Mój problem polegał na tym, że komputer, który wygenerował początkowe żądanie certyfikatu, zawiesił się przed zakończeniem rozszerzonego procesu sprawdzania poprawności ssl. Musiałem wygenerować nowy klucz prywatny, a następnie zaimportować zaktualizowany certyfikat od dostawcy certyfikatu. Jeśli klucz prywatny nie istnieje na twoim komputerze, nie możesz wyeksportować certyfikatu jako pfx. Opcja jest wyszarzona.
źródło
Chociaż prawdopodobnie najłatwiej jest wygenerować nowy CSR przy użyciu IIS (jak powiedział @rainabba), zakładając, że masz certyfikaty pośrednie, istnieje kilka konwerterów online - na przykład: https://www.sslshopper.com/ssl-converter. HTML
Umożliwi to utworzenie pliku PFX na podstawie certyfikatu i klucza prywatnego bez konieczności instalowania innego programu.
źródło
W większości przypadków, jeśli nie możesz wyeksportować certyfikatu jako PFX (w tym klucza prywatnego), to dlatego, że MMC / IIS nie może znaleźć / nie ma dostępu do klucza prywatnego (używanego do generowania CSR). Oto kroki, które wykonałem, aby rozwiązać ten problem:
Mam nadzieję że to pomoże!
źródło
Wiem, że kilku użytkowników mówiło o instalacji tego i tamtego, dodawaniu programów wiersza poleceń i pobieraniu ...
Osobiście jestem leniwy i uważam, że wszystkie te metody są uciążliwe i powolne, a ponadto nie chcę niczego pobierać i znaleźć poprawnych linii cmd, jeśli nie muszę.
Najlepszym sposobem na moim osobistym serwerze IIS jest użycie RapidSSLOnline. To narzędzie, które znajduje się na serwerze, umożliwia przesłanie certyfikatu i klucza prywatnego i jest w stanie wygenerować plik pfx, który można bezpośrednio zaimportować do IIS.
Link jest tutaj: https://www.rapidsslonline.com/ssl-tools/ssl-converter.php
Poniżej przedstawiono kroki zastosowane w żądanym scenariuszu.
I to wszystko, powinieneś pobrać plik PFX i użyć go w procesie importowania w IIS.
Mam nadzieję, że to pomaga innym podobnie myślącym, leniwym technologom.
źródło
Dla plików cfx z SSLForFree uważam, że https://decoder.link/converter jest najłatwiejszy.
Po prostu upewnij się, że wybrano PEM -> PKCS # 12, a następnie prześlij certyfikat, pakiet ca_bundle i pliki kluczy i dokonaj konwersji. Zapamiętaj hasło, a następnie prześlij je przy użyciu hasła i dodaj powiązania.
źródło