Generování a export certifikátů pro point-to-site pomocí PowerShellu

Připojení typu point-to-site používají k ověřování certifikáty. V tomto článku se dozvíte, jak vytvořit kořenový certifikát podepsaný svým držitelem a vygenerovat klientské certifikáty pomocí PowerShellu v Windows 10 nebo novějším nebo Windows Server 2016 nebo novějším.

Rutiny PowerShellu, které používáte ke generování certifikátů, jsou součástí operačního systému a nefungují v jiných verzích Windows. Hostitelský operační systém se používá pouze ke generování certifikátů. Po vygenerování certifikátů je můžete nahrát nebo nainstalovat do libovolného podporovaného klientského operačního systému.

Pokud nemáte počítač, který splňuje požadavky na operační systém, můžete certifikáty vygenerovat pomocí nástroje MakeCert . Certifikáty, které vygenerujete pomocí libovolné metody, lze nainstalovat do libovolného podporovaného klientského operačního systému.

Vytvoření kořenového certifikátu podepsaného svým držitelem

Pomocí rutiny New-SelfSignedCertificate vytvořte kořenový certifikát podepsaný svým držitelem. Další informace o parametrech najdete v tématu New-SelfSignedCertificate.

  1. Z počítače se systémem Windows 10 nebo novějším nebo Windows Server 2016 otevřete konzolu Windows PowerShell se zvýšenými oprávněními.

  2. Vytvořte kořenový certifikát podepsaný svým držitelem. Následující příklad vytvoří kořenový certifikát podepsaný svým držitelem s názvem P2SRootCert, který se automaticky nainstaluje do složky Certificates-Current User\Personal\Certificates. Certifikát můžete zobrazit otevřením souboru certmgr.msc nebo spravovat uživatelské certifikáty.

    Před použitím této ukázky proveďte potřebné změny. Parametr NotAfter je volitelný. Ve výchozím nastavení bez tohoto parametru vyprší platnost certifikátu za 1 rok.

    $params = @{
        Type = 'Custom'
        Subject = 'CN=P2SRootCert'
        KeySpec = 'Signature'
        KeyExportPolicy = 'Exportable'
        KeyUsage = 'CertSign'
        KeyUsageProperty = 'Sign'
        KeyLength = 2048
        HashAlgorithm = 'sha256'
        NotAfter = (Get-Date).AddMonths(24)
        CertStoreLocation = 'Cert:\CurrentUser\My'
    }
    $cert = New-SelfSignedCertificate @params
    
  3. Nechte konzolu PowerShellu otevřenou a pokračujte dalšími kroky k vygenerování klientského certifikátu.

Vygenerování klientského certifikátu

Každý klientský počítač, který se připojuje k virtuální síti pomocí point-to-site, musí mít nainstalovaný klientský certifikát. Z kořenového certifikátu podepsaného svým držitelem vygenerujete klientský certifikát a potom ho exportujete a nainstalujete. Pokud klientský certifikát není nainstalovaný, ověřování se nezdaří.

Následující kroky vás provedou generováním klientského certifikátu z kořenového certifikátu podepsaného svým držitelem. Ze stejného kořenového certifikátu můžete vygenerovat více klientských certifikátů. Při generování klientských certifikátů pomocí následujícího postupu se klientský certifikát automaticky nainstaluje do počítače, který jste použili k vygenerování certifikátu. Pokud chcete nainstalovat klientský certifikát do jiného klientského počítače, exportujte certifikát.

Příklady používají rutinu New-SelfSignedCertificate k vygenerování klientského certifikátu.

Příklad 1 – Stále otevřená relace konzoly PowerShellu

Tento příklad použijte, pokud jste po vytvoření kořenového certifikátu podepsaného svým držitelem nezavřeli konzolu PowerShellu. Tento příklad pokračuje z předchozí části a používá deklarovanou proměnnou "$cert". Pokud jste konzolu PowerShellu zavřeli po vytvoření kořenového certifikátu podepsaného svým držitelem nebo vytváříte další klientské certifikáty v nové relaci konzoly PowerShellu, použijte postup v příkladu 2.

Upravte a spusťte příklad pro vygenerování klientského certifikátu. Pokud spustíte následující příklad, aniž byste ho změnili, výsledkem bude klientský certifikát s názvem P2SChildCert. Pokud chcete podřízený certifikát pojmenovat jinak, upravte hodnotu CN. Při spuštění tohoto příkladu neměňte TextExtension. Vygenerovaný klientský certifikát se automaticky nainstaluje do složky Certifikáty – Aktuální uživatel\Osobní\Certifikáty na vašem počítači.


   $params = @{
       Type = 'Custom'
       Subject = 'CN=P2SChildCert'
       DnsName = 'P2SChildCert'
       KeySpec = 'Signature'
       KeyExportPolicy = 'Exportable'
       KeyLength = 2048
       HashAlgorithm = 'sha256'
       NotAfter = (Get-Date).AddMonths(18)
       CertStoreLocation = 'Cert:\CurrentUser\My'
       Signer = $cert
       TextExtension = @(
        '2.5.29.37={text}1.3.6.1.5.5.7.3.2')
   }
   New-SelfSignedCertificate @params

Příklad 2 – nová relace konzoly PowerShellu

Pokud vytváříte další klientské certifikáty nebo nepoužíváte stejnou relaci PowerShellu, kterou jste použili k vytvoření kořenového certifikátu podepsaného svým držitelem, postupujte následovně:

  1. Identifikujte kořenový certifikát podepsaný svým držitelem, který je nainstalovaný v počítači. Tato rutina vrátí seznam certifikátů nainstalovaných v počítači.

    Get-ChildItem -Path "Cert:\CurrentUser\My"
    
  2. Vyhledejte název subjektu z vráceného seznamu a zkopírujte kryptografický otisk, který se nachází vedle něj, do textového souboru. V následujícím příkladu jsou dva certifikáty. Název CN je název kořenového certifikátu podepsaného svým držitelem, ze kterého chcete vygenerovat podřízený certifikát. V tomto případě P2SRootCert.

    Thumbprint                                Subject
    ----------                                -------
    AED812AD883826FF76B4D1D5A77B3C08EFA79F3F  CN=P2SChildCert4
    7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655  CN=P2SRootCert
    
  3. Deklarujte proměnnou pro kořenový certifikát pomocí kryptografického otisku z předchozího kroku. Kryptografický otisk nahraďte kryptografickým otiskem kořenového certifikátu, ze kterého chcete vygenerovat podřízený certifikát.

    $cert = Get-ChildItem -Path "Cert:\CurrentUser\My\<THUMBPRINT>"
    

    Například při použití kryptografického otisku pro P2SRootCert v předchozím kroku bude proměnná vypadat takto:

    $cert = Get-ChildItem -Path "Cert:\CurrentUser\My\7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655"
    
  4. Upravte a spusťte příklad pro vygenerování klientského certifikátu. Pokud spustíte následující příklad, aniž byste ho změnili, výsledkem bude klientský certifikát s názvem P2SChildCert. Pokud chcete podřízený certifikát pojmenovat jinak, upravte hodnotu CN. Při spuštění tohoto příkladu neměňte TextExtension. Vygenerovaný klientský certifikát se automaticky nainstaluje do složky Certifikáty – Aktuální uživatel\Osobní\Certifikáty na vašem počítači.

    $params = @{
        Type = 'Custom'
        Subject = 'CN=P2SChildCert'
        DnsName = 'P2SChildCert1'
        KeySpec = 'Signature'
        KeyExportPolicy = 'Exportable'
        KeyLength = 2048
        HashAlgorithm = 'sha256'
        NotAfter = (Get-Date).AddMonths(18)
        CertStoreLocation = 'Cert:\CurrentUser\My'
        Signer = $cert
        TextExtension = @(
         '2.5.29.37={text}1.3.6.1.5.5.7.3.2')
    }
    New-SelfSignedCertificate @params
    

Export veřejného klíče kořenového certifikátu (.cer)

Po vytvoření kořenového certifikátu podepsaného svým držitelem exportujte soubor .cer kořenového certifikátu (ne privátní klíč). Později nahrajete potřebná data certifikátu obsažená v souboru do Azure. Následující kroky vám pomůžou exportovat soubor .cer pro kořenový certifikát podepsaný svým držitelem a načíst potřebná data certifikátu.

  1. Pokud chcete získat soubor .cer certifikátu, otevřete Spravovat uživatelské certifikáty.

    Vyhledejte kořenový certifikát podepsaný svým držitelem( obvykle v části Certifikáty – Aktuální uživatel\Osobní\Certifikáty) a klikněte pravým tlačítkem myši. Klikněte na Všechny úkoly –>Exportovat. Otevře se Průvodce exportem certifikátu.

    Pokud certifikát nemůžete najít v části Aktuální uživatel\Osobní\Certifikáty, je možné, že jste omylem otevřeli certifikáty – místní počítač, a ne Certifikáty – aktuální uživatel.

    Snímek obrazovky ukazuje okno Certifikáty s vybranou možností Všechny úkoly a pak exportovat.

  2. V průvodci klikněte na Další.

  3. Vyberte Ne, neexportovat privátní klíč a klikněte na Další.

    Snímek obrazovky ukazuje, že privátní klíč neexportujte.

  4. Na stránce Formát souboru pro export vyberte X.509, kódování Base-64 (CER) a klikněte na Další.

    Snímek obrazovky znázorňující export s kódováním Base-64

  5. V části Soubor k exportupřejděte do umístění, do kterého chcete certifikát exportovat. V části Název souboru zadejte název souboru. Potom klikněte na Další.

  6. Certifikát vyexportujte kliknutím na Dokončit.

  7. Zobrazí se potvrzení s informacemi o úspěšném exportu.

  8. Přejděte do umístění, kam jste certifikát vyexportovali, a otevřete ho v textovém editoru, například v Poznámkovém bloku. Pokud jste exportovali certifikát v požadovaném X.509 s kódováním Base-64 (. VE formátu CER), uvidíte text podobný následujícímu příkladu. Modře zvýrazněný oddíl obsahuje informace, které zkopírujete a nahrajete do Azure.

    Snímek obrazovky ukazuje soubor CER otevřený v Poznámkovém bloku se zvýrazněnými daty certifikátu.

    Pokud váš soubor nevypadá podobně jako v příkladu, obvykle to znamená, že jste ho neexportovali pomocí X.509(s kódováním Base-64. FORMÁT CER). Pokud navíc používáte jiný textový editor než Poznámkový blok, mějte na paměti, že některé editory můžou na pozadí zavést nezamýšlené formátování. To může způsobovat problémy při nahrání textu z tohoto certifikátu do Azure.

Export kořenového certifikátu podepsaného svým držitelem a privátního klíče k jeho uložení (volitelné)

Můžete chtít exportovat kořenový certifikát podepsaný svým držitelem a bezpečně ho uložit jako zálohu. V případě potřeby ho můžete později nainstalovat do jiného počítače a vygenerovat další klientské certifikáty. Pokud chcete exportovat kořenový certifikát podepsaný svým držitelem jako .pfx, vyberte kořenový certifikát a použijte stejný postup jako v tématu Export klientského certifikátu.

Export klientského certifikátu

Když vygenerujete klientský certifikát, automaticky se nainstaluje do počítače, který jste použili k jeho vygenerování. Pokud chcete nainstalovat klientský certifikát do jiného klientského počítače, musíte nejprve exportovat klientský certifikát.

  1. Pokud chcete exportovat klientský certifikát, otevřete správu uživatelských certifikátů. Klientské certifikáty, které jste vygenerovali, jsou ve výchozím nastavení umístěné v umístění Certifikáty – Aktuální uživatel\Osobní\Certifikáty. Klikněte pravým tlačítkem na klientský certifikát, který chcete exportovat, klikněte na všechny úlohy a potom kliknutím na Exportovat otevřete Průvodce exportem certifikátu.

    Snímek obrazovky s oknem Certifikáty s vybranými možnostmi Všechny úkoly a Export

  2. V Průvodci exportem certifikátu pokračujte kliknutím na Další .

  3. Vyberte Ano, exportovat privátní klíč a potom klikněte na Další.

    Snímek obrazovky znázorňující možnost Ano export privátního klíče vybraného

  4. Na stránce Formát souboru pro export ponechte vybrané výchozí nastavení. Ujistěte se, že je vybrána možnost Zahrnout všechny certifikáty na cestě k certifikátu, pokud je to možné. Toto nastavení navíc exportuje informace o kořenovém certifikátu, které jsou potřeba pro úspěšné ověření klienta. Bez něj ověřování klienta selže, protože klient nemá důvěryhodný kořenový certifikát. Potom klikněte na Další.

    Snímek obrazovky se stránkou formátu exportu souboru

  5. Na stránce Zabezpečení je nutné chránit soukromý klíč. Pokud vyberete použití hesla, ujistěte se, že jste si poznamenali nebo si pamatujete heslo, které jste pro tento certifikát nastavili. Potom klikněte na Další.

    Snímek obrazovky se zobrazeným heslem, které jste zadali a potvrdili.

  6. V části Soubor pro exportpřejděte do umístění, do kterého chcete certifikát vyexportovat. V části Název souboru zadejte název souboru. Potom klikněte na Další.

  7. Certifikát vyexportujte kliknutím na Dokončit.

Instalace exportovaného klientského certifikátu

Každý klient, který se připojuje přes připojení P2S, vyžaduje místní instalaci klientského certifikátu. Pokud chcete nainstalovat klientský certifikát, přečtěte si téma Instalace klientského certifikátu pro připojení typu point-to-site.

Další kroky

Pokračujte v konfiguraci point-to-site.