Jak mogę wyeksportować certyfikat z MMC jako plik PFX?

19

Próbuję zmienić właściwość KeySpec certyfikatu podpisującego kod z Comodo, postępując zgodnie z tym przewodnikiem . Przewodnik wspomina o zaimportowaniu pliku certyfikatu do MMC, a następnie wyeksportowaniu go później. Wydaje mi się jednak, że nie mam opcji eksportowania jako pliku PFX. Mam już plik PFX; Mogę go pomyślnie zaimportować, ale kiedy idę do eksportu, opcja jest wyszarzona / wyłączona.

pfx wyłączone

Co muszę zrobić, aby włączyć tę opcję eksportu?

Soergergem
źródło

Odpowiedzi:

29

Przystawka Certyfikaty naprawdę nie lubi eksportować certyfikatów PFX, ale PowerShell jest szczęśliwy. Możesz użyć polecenia Export-PfxCertificatecmdlet.

  1. Przejdź do pseudo-dysku certyfikatów, pisząc cd cert:\w wierszu polecenia programu PowerShell.
  2. Wpisz cd CurrentUserlub, cd LocalMachinestosownie do miejsca, w którym znajduje się certyfikat. Może być konieczne uruchomienie programu PowerShell jako administrator, aby wyeksportować certyfikat komputera.
  3. cddo odpowiedniego sklepu ( dirmoże pomóc). Nazywa się Mytutaj sklep osobisty w MMC .
  4. Służy dirdo określania, który identyfikator odpowiada żądanemu certyfikatowi.
  5. Wpisz to polecenie, aby wyeksportować je jako plik PFX z hasłem:

    Export-PfxCertificate -Cert .\LONGSTRINGOFHEX -FilePath 'C:\path\to\outfile.pfx' -Password (ConvertTo-SecureString -String 'password' -AsPlainText -Force)
    

    LONGSTRINGOFHEXnależy zastąpić identyfikatorem certyfikatu. Na szczęście możesz w tym celu użyć uzupełniania tabulatorów.

Po wykonaniu tego polecenia masz certyfikat PFX chroniony podanym hasłem. PowerShell odmawia eksportu klucza prywatnego certyfikatu bez hasła, a hasło nie może być puste. Niemniej jednak twój PFX jest niedostępny.

Ben N.
źródło
Proszę wybaczyć takie ignoranckie pytanie, ale jak zainstalować cmdlet? Obecnie, gdy piszę cert:PS, pojawia się komunikat „Termin„ cert: ”nie jest rozpoznawany jako nazwa polecenia cmdlet, funkcji, pliku skryptu lub programu operacyjnego.” Oczywiście Windows 10.
soapergem,
@SoaperGEM Przepraszam, powinno być cd cert:\zamiast.
Ben N
1
@SoaperGEM To polecenie cmdlet jest dostępne w systemach Windows 8, 8.1, 10, Server 2012 i Server 2012 R2. Sądząc po twoim zrzucie ekranu, jesteś gotowy. Ponadto podczas importowania certyfikatu poszukaj pola wyboru, które pozwala oznaczyć klucz prywatny jako eksportowalny. To powinno dać ci możliwość wyeksportowania go przez MMC.
2
Pojawia się błąd - nie można wyeksportować klucza prywatnego, którego nie można wyeksportować. Czy ktoś może pomóc zidentyfikować problem.
Raja Dorji,
1
@RajaDorji Jeśli klucz prywatny został oznaczony jako nieeksportowalny, system zasadniczo odmawia eksportu. Narzędzia takie jak Mimikatz ( wspomniane tutaj ) mogą obejść ten problem za pomocą nieoficjalnych metod.
Ben N.
0

Jeśli importujesz certyfikat do sklepu WebHosting, nie możesz wyeksportować klucza prywatnego. Przenieś go do osobistego sklepu, a będziesz mógł eksportować jako PFX. Byłem w stanie to zrobić w Windows 2012R2 bez konieczności przechodzenia do wiersza poleceń i korzystania z Export-PfxCertificate (co jest uciążliwe, ponieważ nie mogłem znaleźć identyfikatora certyfikatu, aby uratować mi życie).

MC9000
źródło
OK, mylę się. Mam szczęście. Musiałem spróbować ponownie wykonać to zadanie (ponownie wydano certyfikat), a ta metoda już nie działa :(
MC9000,
Identyfikator certyfikatu można znaleźć, przechodząc do IIS> Maszyna> Certyfikaty serwera lub do cd cert:\LocalMachine\My„dir”
Devin Gleason Lambert
-1

Wyeksportuj plik .P7B jeden raz. A następnie wróć i spróbuj ponownie wyeksportować certyfikat. Eksport .PFX zostanie włączony następnym razem.

Atul
źródło
To z pewnością nie działa!
MC9000,