Sdílet prostřednictvím


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

Připojení typu Point-to-Site používají k ověření 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 ve Windows 10 nebo novějším nebo Windows Serveru 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. K vygenerování certifikátů se používá pouze hostitelský operační systém. 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 operačního systému, můžete certifikáty vygenerovat pomocí nástroje MakeCert . Certifikáty, které vygenerujete pomocí obou metod, 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

K vytvoření kořenového certifikátu podepsaného svým držitelem použijte rutinu New-SelfSignedCertificate. Další informace o parametrech naleznete v tématu New-SelfSignedCertificate.

  1. Z počítače s Windows 10 nebo novějším nebo Windows Serverem 2016 otevřete konzolu Windows PowerShellu 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 certifikátů Current User\Personal\Certificates. Certifikát můžete zobrazit otevřením nástroje certmgr.msc nebo správou uživatelských certifikátů.

    Před použitím této ukázky proveďte potřebné změny. Parametr NotAfter je volitelný. Ve výchozím nastavení platnost certifikátu bez tohoto parametru vyprší 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ším postupem 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. Vygenerujete klientský certifikát z kořenového certifikátu podepsaného svým držitelem a pak certifikát klienta exportujete a nainstalujete. Pokud není klientský certifikát nainstalovaný, ověřování selže.

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. Můžete vygenerovat více klientských certifikátů ze stejného kořenového certifikátu. 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 – relace konzoly PowerShellu stále otevřená

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, postupujte podle kroků 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 beze změny, výsledkem je 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. Klientský certifikát, který vygenerujete, se automaticky nainstaluje do pole Certifikáty – Aktuální uživatel\Osobní\Certifikáty v 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 kořenového certifikátu 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 použití kryptografického otisku pro P2SRootCert v předchozím kroku vypadá 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 beze změny, výsledkem je 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. Klientský certifikát, který vygenerujete, se automaticky nainstaluje do pole Certifikáty – Aktuální uživatel\Osobní\Certifikáty v 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 kořenový certifikát .cer soubor (nikoli 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 kořenového certifikátu podepsaného 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. Vyberte Všechny úkoly -> Exportovat. Otevře se Průvodce exportem certifikátu.

    Pokud nemůžete najít certifikát v části Aktuální uživatel\Osobní\Certifikáty, pravděpodobně jste omylem otevřeli certifikáty – místní počítač, ne certifikáty – aktuální uživatel.

    Snímek obrazovky s oknem Certifikáty a vybranou možností Exportovat všechny úkoly

  2. V průvodci vyberte Další.

  3. Vyberte Ne, neexportujte privátní klíč a pak vyberte Další.

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

  4. Na stránce Exportovat formát souboru vyberte X.509 s kódováním Base-64 (. CER) a pak vyberte Další.

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

  5. Chcete-li soubor exportovat, přejděte do umístění, do kterého chcete certifikát exportovat. V části Název souboru zadejte název souboru. Pak vyberte Další.

  6. Vyberte Dokončit a exportujte certifikát.

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

  8. Přejděte do umístění, kam jste certifikát exportovali, a otevřete ho pomocí textového editoru, například Poznámkového bloku. Pokud jste certifikát exportovali v požadovaném kódování X.509 s kódováním Base-64 (. Formát CER) vidíte text podobný následujícímu příkladu. Oddíl zvýrazněný modře 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 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ůsobit 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 pro 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. Pokud potřebujete, můžete ho 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 soubor .pfx, vyberte kořenový certifikát a použijte stejný postup, jak je popsáno v části 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 klientský certifikát nainstalovat 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 části Certifikáty – Aktuální uživatel\Osobní\Certifikáty. Klikněte pravým tlačítkem myši na klientský certifikát, který chcete exportovat, klikněte na všechny úlohy a potom klepněte na tlačítko Exportovat a otevřete Průvodce exportem certifikátu.

    Snímek obrazovky s oknem Certifikáty s vybranou možností Všechny úkoly a Export

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

  3. Vyberte Ano, vyexportujte privátní klíč a klikněte na tlačítko Další.

    Snímek obrazovky zobrazující ano export vybraného privátního klíče

  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 vyžadovány 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. Pak 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. Pak klikněte na Další.

    Snímek obrazovky zobrazuje zadané a potvrzené heslo.

  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. Pak 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 typu point-to-site.