Share via


Certificaten voor punt-naar-site genereren en exporteren met behulp van PowerShell

Punt-naar-site-verbindingen gebruiken certificaten om te verifiëren. In dit artikel wordt beschreven hoe u een zelfondertekend basiscertificaat maakt en clientcertificaten genereert met behulp van PowerShell op Windows 10 of hoger, of Windows Server 2016 of hoger.

De PowerShell-cmdlets die u gebruikt om certificaten te genereren, maken deel uit van het besturingssysteem en werken niet in andere versies van Windows. Het hostbesturingssysteem wordt alleen gebruikt om de certificaten te genereren. Zodra de certificaten zijn gegenereerd, kunt u ze uploaden of installeren op elk ondersteund clientbesturingssysteem.

Als u geen computer hebt die voldoet aan de vereisten voor het besturingssysteem, kunt u MakeCert gebruiken om certificaten te genereren. De certificaten die u met beide methoden genereert, kunnen worden geïnstalleerd op elk ondersteund clientbesturingssysteem.

Een zelfondertekend basiscertificaat maken

Gebruik de cmdlet New-SelfSignedCertificate om een zelfondertekend basiscertificaat te maken. Zie New-SelfSignedCertificate voor meer informatie over parameters.

  1. Open vanaf een computer met Windows 10 of hoger of Windows Server 2016 een Windows PowerShell-console met verhoogde bevoegdheden.

  2. Maak een zelfondertekend basiscertificaat. In het volgende voorbeeld wordt een zelfondertekend basiscertificaat met de naam P2SRootCert gemaakt dat automatisch wordt geïnstalleerd in Certificates-Current User\Personal\Certificates. U kunt het certificaat weergeven door certmgr.msc te openen of Gebruikerscertificaten beheren.

    Breng de benodigde wijzigingen aan voordat u dit voorbeeld gebruikt. De parameter 'NotAfter' is optioneel. Zonder deze parameter verloopt het certificaat standaard over 1 jaar.

    $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. Laat de PowerShell-console geopend en ga verder met de volgende stappen om een clientcertificaat te genereren.

Een clientcertificaat genereren

Op elke clientcomputer die verbinding maakt met een VNet met behulp van punt-naar-site, moet een clientcertificaat zijn geïnstalleerd. U genereert een clientcertificaat op basis van het zelfondertekende basiscertificaat en exporteert en installeert vervolgens het clientcertificaat. Als het clientcertificaat niet is geïnstalleerd, mislukt de verificatie.

De volgende stappen helpen u bij het genereren van een clientcertificaat op basis van een zelfondertekend basiscertificaat. U kunt meerdere clientcertificaten genereren op basis van hetzelfde basiscertificaat. Wanneer u clientcertificaten genereert met behulp van de onderstaande stappen, wordt het clientcertificaat automatisch geïnstalleerd op de computer die u hebt gebruikt om het certificaat te genereren. Als u een clientcertificaat op een andere clientcomputer wilt installeren, exporteert u het certificaat.

In de voorbeelden wordt de cmdlet New-SelfSignedCertificate gebruikt om een clientcertificaat te genereren.

Voorbeeld 1: PowerShell-consolesessie nog steeds geopend

Gebruik dit voorbeeld als u de PowerShell-console niet hebt gesloten nadat u het zelfondertekende basiscertificaat hebt gemaakt. Dit voorbeeld gaat verder met de vorige sectie en maakt gebruik van de gedeclareerde variabele '$cert'. Als u de PowerShell-console hebt gesloten na het maken van het zelfondertekende basiscertificaat of als u extra clientcertificaten maakt in een nieuwe PowerShell-consolesessie, gebruikt u de stappen in voorbeeld 2.

Wijzig en voer het voorbeeld uit om een clientcertificaat te genereren. Als u het volgende voorbeeld uitvoert zonder dit te wijzigen, is het resultaat een clientcertificaat met de naam 'P2SChildCert'. Als u het onderliggende certificaat een andere naam wilt geven, wijzigt u de CN-waarde. Wijzig de TextExtension niet wanneer u dit voorbeeld uitvoert. Het clientcertificaat dat u genereert, wordt automatisch geïnstalleerd in 'Certificaten - Huidige gebruiker\Persoonlijk\Certificaten' op uw computer.


   $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

Voorbeeld 2: Nieuwe PowerShell-consolesessie

Als u extra clientcertificaten maakt of niet dezelfde PowerShell-sessie gebruikt die u hebt gebruikt om uw zelfondertekende basiscertificaat te maken, voert u de volgende stappen uit:

  1. Identificeer het zelfondertekende basiscertificaat dat op de computer is geïnstalleerd. Deze cmdlet retourneert een lijst met certificaten die op uw computer zijn geïnstalleerd.

    Get-ChildItem -Path "Cert:\CurrentUser\My"
    
  2. Zoek de onderwerpnaam in de geretourneerde lijst en kopieer de vingerafdruk die zich ernaast bevindt naar een tekstbestand. In het volgende voorbeeld zijn er twee certificaten. De CN-naam is de naam van het zelfondertekende basiscertificaat van waaruit u een onderliggend certificaat wilt genereren. In dit geval 'P2SRootCert'.

    Thumbprint                                Subject
    ----------                                -------
    AED812AD883826FF76B4D1D5A77B3C08EFA79F3F  CN=P2SChildCert4
    7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655  CN=P2SRootCert
    
  3. Declareer een variabele voor het basiscertificaat met behulp van de vingerafdruk uit de vorige stap. Vervang VINGERAFDRUK door de vingerafdruk van het basiscertificaat waaruit u een onderliggend certificaat wilt genereren.

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

    Als u bijvoorbeeld de vingerafdruk voor P2SRootCert gebruikt in de vorige stap, ziet de variabele er als volgt uit:

    $cert = Get-ChildItem -Path "Cert:\CurrentUser\My\7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655"
    
  4. Wijzig en voer het voorbeeld uit om een clientcertificaat te genereren. Als u het volgende voorbeeld uitvoert zonder dit te wijzigen, is het resultaat een clientcertificaat met de naam 'P2SChildCert'. Als u het onderliggende certificaat een andere naam wilt geven, wijzigt u de CN-waarde. Wijzig de TextExtension niet wanneer u dit voorbeeld uitvoert. Het clientcertificaat dat u genereert, wordt automatisch geïnstalleerd in 'Certificaten - Huidige gebruiker\Persoonlijk\Certificaten' op uw computer.

    $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
    

De openbare sleutel van het basiscertificaat (.cer) exporteren

Nadat u een zelfondertekend basiscertificaat hebt gemaakt, exporteert u het CER-bestand van het basiscertificaat (niet de persoonlijke sleutel). Later uploadt u de benodigde certificaatgegevens in het bestand naar Azure. Met de volgende stappen kunt u het CER-bestand voor uw zelfondertekende basiscertificaat exporteren en de benodigde certificaatgegevens ophalen.

  1. Open Gebruikerscertificaten beheren om het CER-bestand van het certificaat op te halen.

    Zoek het zelfondertekende basiscertificaat, meestal in 'Certificaten - Huidige gebruiker\Persoonlijk\Certificaten' en klik met de rechtermuisknop. Klik op Alle taken ->Exporteren. Hiermee opent u de Wizard Certificaat exporteren.

    Als u het certificaat niet kunt vinden onder 'Huidige gebruiker\Persoonlijk\Certificaten', hebt u mogelijk per ongeluk 'Certificaten - lokale computer' geopend in plaats van 'Certificaten - huidige gebruiker'.

    Schermopname van het venster Certificaten met Alle taken en exporteren geselecteerd.

  2. Klik in de wizard op Volgende.

  3. Selecteer Nee, de persoonlijke sleutel niet exporteren en klik vervolgens op Volgende.

    Schermopname van De persoonlijke sleutel niet exporteren.

  4. Selecteer op de pagina Bestandsindeling voor export de optie Met Base64 gecodeerde X.509 (*.CER) en klik op Volgende.

    Schermopname van export Base-64 gecodeerd.

  5. Blader voor Te exporteren bestand naar de locatie waarnaar u het certificaat wilt exporteren. Geef bij Bestandsnaam de naam van het certificaatbestand op. Klik op Volgende.

  6. Klik op Voltooien om het certificaat te exporteren.

  7. U ziet een bevestiging met de tekst 'De export is geslaagd'.

  8. Ga naar de locatie waar u het certificaat hebt geëxporteerd en open het met een teksteditor, zoals Kladblok. Als u het certificaat hebt geëxporteerd in de vereiste Base-64 gecodeerde X.509 (. CER)-indeling, ziet u tekst die lijkt op het volgende voorbeeld. De blauw gemarkeerde sectie bevat de informatie die u kopieert en uploadt naar Azure.

    Schermopname van het CER-bestand dat is geopend in Kladblok, met de certificaatgegevens gemarkeerd.

    Als uw bestand er niet uitziet zoals in het voorbeeld, betekent dit meestal dat u het niet hebt geëxporteerd met de met Base-64 gecodeerde X.509(. CER)-indeling. Als u een andere teksteditor dan Kladblok gebruikt, moet u er bovendien rekening mee houden dat sommige editors onbedoelde opmaak op de achtergrond kunnen introduceren. Dit kan problemen veroorzaken bij het uploaden van de tekst van dit certificaat naar Azure.

Het zelfondertekende basiscertificaat en de persoonlijke sleutel exporteren om het op te slaan (optioneel)

U kunt het zelfondertekende basiscertificaat exporteren en veilig opslaan als back-up. Indien nodig kunt u het later installeren op een andere computer en meer clientcertificaten genereren. Als u het zelfondertekende basiscertificaat wilt exporteren als pfx, selecteert u het basiscertificaat en gebruikt u dezelfde stappen als beschreven in Een clientcertificaat exporteren.

Het clientcertificaat exporteren

Wanneer u een clientcertificaat genereert, wordt dit automatisch geïnstalleerd op de computer die u hebt gebruikt om het te genereren. Als u het clientcertificaat op een andere clientcomputer wilt installeren, moet u eerst het clientcertificaat exporteren.

  1. Als u een clientcertificaat wilt exporteren, opent u Gebruikerscertificaten beheren. De clientcertificaten die u hebt gegenereerd, bevinden zich standaard in 'Certificaten - Huidige gebruiker\Persoonlijk\Certificaten'. Klik met de rechtermuisknop op het clientcertificaat dat u wilt exporteren, klik op alle taken en klik vervolgens op Exporteren om de wizard Certificaat exporteren te openen.

    Schermopname van het venster Certificaten met Alle taken en Exporteren geselecteerd.

  2. Klik in de wizard Certificaat exporteren op Volgende om door te gaan.

  3. Selecteer Ja, de persoonlijke sleutel exporteren en klik vervolgens op Volgende.

    Schermopname met Ja, de persoonlijke sleutel exporteren geselecteerd.

  4. Laat op de pagina Bestandsindeling voor export de standaardinstellingen geselecteerd. Zorg ervoor dat en mogelijk alle certificaten in het certificeringspad opnemen is geselecteerd. Met deze instelling exporteert u bovendien de basiscertificaatgegevens die vereist zijn voor een geslaagde clientverificatie. Zonder dit certificaat mislukt de clientverificatie omdat de client niet over het vertrouwde basiscertificaat beschikt. Klik op Volgende.

    Schermopname van de pagina Bestandsindeling exporteren.

  5. Op de pagina Beveiliging moet u de persoonlijke sleutel beveiligen. Als u ervoor kiest om een wachtwoord te gebruiken, is het belangrijk dat u het wachtwoord voor dit certificaat ergens noteert of onthoudt. Klik op Volgende.

    Schermopname van het ingevoerde en bevestigde wachtwoord.

  6. Op de pagina Te exporteren bestandbladert u naar de locatie waar u het certificaat wilt exporteren. Geef bij Bestandsnaam de naam van het certificaatbestand op. Klik op Volgende.

  7. Klik op Voltooien om het certificaat te exporteren.

Een geëxporteerd clientcertificaat installeren

Voor elke client die verbinding maakt via een P2S-verbinding, moet een clientcertificaat lokaal worden geïnstalleerd. Zie Een clientcertificaat installeren voor punt-naar-site-verbindingen als u een clientcertificaat wilt installeren.

Volgende stappen

Ga door met de punt-naar-site-configuratie.