Windows 10 での PowerShell を使用したポイント対サイト接続の証明書の生成とエクスポートGenerate and export certificates for Point-to-Site connections using PowerShell on Windows 10

ポイント対サイト接続では、認証に証明書を使用します。Point-to-Site connections use certificates to authenticate. この記事では、Windows 10 で PowerShell を使用して、自己署名ルート証明書の作成方法とクライアント証明書の生成方法について説明します。This article shows you how to create a self-signed root certificate and generate client certificates using PowerShell on Windows 10. ルート証明書のアップロード方法など、ポイント対サイトの設定の手順をお探しの場合は、ポイント対サイトの構成に関する記事の 1 つを以下の一覧から選択してください。If you are looking for Point-to-Site configuration steps, such as how to upload root certificates, select one of the 'Configure Point-to-Site' articles from the following list:

この記事の手順は、Windows 10 を実行するコンピューターで実行する必要があります。You must perform the steps in this article on a computer running Windows 10. 証明書の生成に使用する PowerShell コマンドレットは、Windows 10 オペレーティング システムの一部であり、その他のバージョンの Windows では機能しません。The PowerShell cmdlets that you use to generate certificates are part of the Windows 10 operating system and do not work on other versions of Windows. Windows 10 コンピューターは、証明書の生成にのみ必要です。The Windows 10 computer is only needed to generate the certificates. 証明書が生成されたら、それらをアップロードしたり、サポートされる任意のクライアント オペレーティング システムにインストールしたりできます。Once the certificates are generated, you can upload them, or install them on any supported client operating system.

Windows 10 コンピューターを使用できない場合は、MakeCert を使用して証明書を生成できます。If you do not have access to a Windows 10 computer, you can use MakeCert to generate certificates. いずれかの方法を使用して生成した証明書は、サポートされている任意のクライアント オペレーティング システムにインストールです。The certificates that you generate using either method can be installed on any supported client operating system.

自己署名ルート証明書の作成Create a self-signed root certificate

New-SelfSignedCertificate コマンドレットを使用して、自己署名ルート証明書を作成します。Use the New-SelfSignedCertificate cmdlet to create a self-signed root certificate. 追加のパラメーターについては、「New-SelfSignedCertificate」を参照してください。For additional parameter information, see New-SelfSignedCertificate.

  1. Windows 10 を実行しているコンピューターから、昇格された特権を使用して Windows PowerShell コンソールを開きます。From a computer running Windows 10, open a Windows PowerShell console with elevated privileges.
  2. 次の例を使用して、自己署名ルート証明書を作成します。Use the following example to create the self-signed root certificate. 次の例では、"P2SRootCert" という名前の自己署名ルート証明書が作成され、"Certificates-Current User\Personal\Certificates" に自動的にインストールされます。The following example creates a self-signed root certificate named 'P2SRootCert' that is automatically installed in 'Certificates-Current User\Personal\Certificates'. certmgr.msc、またはユーザー証明書の管理を開くと、証明書を表示できます。You can view the certificate by opening certmgr.msc, or Manage User Certificates.

    $cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature `
    -Subject "CN=P2SRootCert" -KeyExportPolicy Exportable `
    -HashAlgorithm sha256 -KeyLength 2048 `
    -CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign
    

公開キー (.cer) のエクスポートExport the public key (.cer)

ポイント対サイト接続では、証明書の (秘密キーではなく) 公開キー ファイル (.cer) を Azure にアップロードする必要があります。Point-to-Site connections require the certificate public key .cer file (not the private key) to be uploaded to Azure. 次の手順で、自己署名ルート証明書の .cer ファイルをエクスポートしてください。The following steps help you export the .cer file for your self-signed root certificate:

  1. 証明書から .cer ファイルを取得するには、[ユーザー証明書の管理] を開きます。To obtain a .cer file from the certificate, open Manage user certificates. 自己署名ルート証明書を探して右クリックします (通常は 'Current User\Personal\Certificates' にあります)。Locate the self-signed root certificate, typically in 'Certificates - Current User\Personal\Certificates', and right-click. [すべてのタスク][エクスポート] の順にクリックします。Click All Tasks, and then click Export. 証明書のエクスポート ウィザードが開きます。This opens the Certificate Export Wizard.
  2. ウィザードで [次へ] をクリックします。In the Wizard, click Next. [いいえ、秘密キーをエクスポートしません] を選択して、[次へ] をクリックします。Select No, do not export the private key, and then click Next.
  3. [エクスポート ファイルの形式] ページで [Base-64 encoded X.509 (.CER)] を選択し、[次へ] をクリックします。On the Export File Format page, select Base-64 encoded X.509 (.CER)., and then click Next.
  4. [エクスポートするファイル] で、[参照] をクリックして証明書をエクスポートする場所を選択します。On the File to Export, Browse to the location to which you want to export the certificate. [ファイル名]に証明書ファイルの名前を指定します。For File name, name the certificate file. 次に、 [次へ]をクリックします。Then, click Next.
  5. [完了] をクリックして、証明書をエクスポートします。Click Finish to export the certificate. "エクスポートに成功しました" というメッセージが表示されます。You see The export was successful. [OK] をクリックしてウィザードを閉じます。Click OK to close the wizard.

エクスポートした .cer ファイルは Azure にアップロードする必要があります。The exported.cer file must be uploaded to Azure. 手順については、ポイント対サイト接続の構成に関するページをご覧ください。For instructions, see Configure a Point-to-Site connection. 信頼されたルート証明書を追加するには、記事のこのセクションを参照してください。To add an additional trusted root certificate, this section of the article.

自己署名ルート証明書と証明書を保存するための公開キーのエクスポート (省略可能)Export the self-signed root certificate and public key to store it (optional)

自己署名ルート証明書をエクスポートし、安全に保管することもできます。You may want to export the self-signed root certificate and store it safely. 必要に応じて、後から別のコンピューターにインストールして、さらに多くのクライアント証明書を生成したり、別の .cer ファイルをエクスポートしたりできます。If need be, you can later install it on another computer and generate more client certificates, or export another .cer file. 自己署名ルート証明書を .pfx としてエクスポートするには、ルート証明書を選択し、「クライアント証明書をエクスポートする」と同じ手順を実行します。To export the self-signed root certificate as a .pfx, select the root certificate and use the same steps as described in Export a client certificate.

クライアント証明書の生成Generate a client certificate

ポイント対サイトで VNet に接続するすべてのクライアント コンピューターには、クライアント証明書がインストールされている必要があります。Each client computer that connects to a VNet using Point-to-Site must have a client certificate installed. 自己署名ルート証明書からクライアント証明書を生成し、そのクライアント証明書をエクスポートしてインストールします。You generate a client certificate from the self-signed root certificate, and then export and install the client certificate. クライアント証明書がインストールされていない場合は、認証が失敗します。If the client certificate is not installed, authentication fails.

次の手順では、自己署名ルート証明書からクライアント証明書を生成する方法を示しています。The following steps walk you through generating a client certificate from a self-signed root certificate. 同じルート証明書から複数のクライアント証明書を生成できます。You may generate multiple client certificates from the same root certificate. 以下の手順を使用してクライアント証明書を生成すると、証明書の生成に使用したコンピューターにクライアント証明書が自動的にインストールされます。When you generate client certificates using the steps below, the client certificate is automatically installed on the computer that you used to generate the certificate. クライアント証明書を別のクライアント コンピューターにインストールする場合は、その証明書をエクスポートできます。If you want to install a client certificate on another client computer, you can export the certificate.

例では、New-SelfSignedCertificate コマンドレットを使用して、1 年で期限切れになるクライアント証明書を生成しています。The examples use the New-SelfSignedCertificate cmdlet to generate a client certificate that expires in one year. クライアント証明書の別の有効期限値を設定するなど、追加のパラメーター情報については、「New-SelfSignedCertificate」を参照してください。For additional parameter information, such as setting a different expiration value for the client certificate, see New-SelfSignedCertificate.

例 1Example 1

この例では、前のセクションで宣言した '$cert' 変数を使用します。This example uses the declared '$cert' variable from the previous section. 自己署名ルート証明書の作成後に PowerShell コンソールを閉じた場合または新しい PowerShell コンソール セッションで追加のクライアント証明書を作成している場合は、例 2 の手順を使用してください。If you closed the PowerShell console after creating the self-signed root certificate, or are creating additional client certificates in a new PowerShell console session, use the steps in Example 2.

クライアント証明書を生成するには、例を変更して実行します。Modify and run the example to generate a client certificate. 次の例を変更せずに実行した場合、クライアント証明書の名前は "P2SChildCert" になります。If you run the following example without modifying it, the result is a client certificate named 'P2SChildCert'. 子証明書に別の名前を付ける場合は、CN 値を変更します。If you want to name the child certificate something else, modify the CN value. この例を実行する際に TextExtension を変更しないでください。Do not change the TextExtension when running this example. 生成したクライアント証明書は、コンピューターの "Certificates - Current User\Personal\Certificates" に自動的にインストールされます。The client certificate that you generate is automatically installed in 'Certificates - Current User\Personal\Certificates' on your computer.

New-SelfSignedCertificate -Type Custom -KeySpec Signature `
-Subject "CN=P2SChildCert" -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation "Cert:\CurrentUser\My" `
-Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")

例 2Example 2

追加のクライアント証明書を作成している場合、または自己署名ルート証明書の作成に使用したのと同じ PowerShell セッションを使用していない場合は、次の手順を使用してください。If you are creating additional client certificates, or are not using the same PowerShell session that you used to create your self-signed root certificate, use the following steps:

  1. コンピューターにインストールされている自己署名ルート証明書を特定します。Identify the self-signed root certificate that is installed on the computer. 次のコマンドレットは、コンピューターにインストールされている証明書の一覧を返します。This cmdlet returns a list of certificates that are installed on your computer.

    Get-ChildItem -Path “Cert:\CurrentUser\My”
    
  2. 返された一覧でサブジェクト名を探し、その横にある拇印をテキスト ファイルにコピーします。Locate the subject name from the returned list, then copy the thumbprint that is located next to it to a text file. 次の例では、2 つの証明書があります。In the following example, there are two certificates. CN 名は、子証明書の生成元となる自己署名ルート証明書の名前です。The CN name is the name of the self-signed root certificate from which you want to generate a child certificate. この場合は "P2SRootCert" です。In this case, 'P2SRootCert'.

    Thumbprint                                Subject
    
    AED812AD883826FF76B4D1D5A77B3C08EFA79F3F  CN=P2SChildCert4
    7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655  CN=P2SRootCert
    
  3. 前の手順の拇印を使用して、ルート証明書の変数を宣言します。Declare a variable for the root certificate using the thumbprint from the previous step. THUMBPRINT を、子証明書の生成元となるルート証明書の拇印に置き換えます。Replace THUMBPRINT with the thumbprint of the root certificate from which you want to generate a child certificate.

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

    たとえば、前の手順の P2SRootCert の拇印を使用すると、変数は次のようになります。For example, using the thumbprint for P2SRootCert in the previous step, the variable looks like this:

    $cert = Get-ChildItem -Path "Cert:\CurrentUser\My\7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655"
    
  4. クライアント証明書を生成するには、例を変更して実行します。Modify and run the example to generate a client certificate. 次の例を変更せずに実行した場合、クライアント証明書の名前は "P2SChildCert" になります。If you run the following example without modifying it, the result is a client certificate named 'P2SChildCert'. 子証明書に別の名前を付ける場合は、CN 値を変更します。If you want to name the child certificate something else, modify the CN value. この例を実行する際に TextExtension を変更しないでください。Do not change the TextExtension when running this example. 生成したクライアント証明書は、コンピューターの "Certificates - Current User\Personal\Certificates" に自動的にインストールされます。The client certificate that you generate is automatically installed in 'Certificates - Current User\Personal\Certificates' on your computer.

    New-SelfSignedCertificate -Type Custom -KeySpec Signature `
    -Subject "CN=P2SChildCert" -KeyExportPolicy Exportable `
    -HashAlgorithm sha256 -KeyLength 2048 `
    -CertStoreLocation "Cert:\CurrentUser\My" `
    -Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")
    

クライアント証明書のエクスポートExport a client certificate

クライアント証明書を生成すると、このクライアント証明書は、生成に使用したコンピューターに自動的にインストールされます。When you generate a client certificate, it's automatically installed on the computer that you used to generate it. 別のクライアント コンピューターにクライアント証明書をインストールする場合は、生成したクライアント証明書をエクスポートする必要があります。If you want to install the client certificate on another client computer, you need to export the client certificate that you generated.

  1. クライアント証明書をエクスポートするには、[ユーザー証明書の管理] を開きます。To export a client certificate, open Manage user certificates. 生成したクライアント証明書は、既定では "Certificates - Current User\Personal\Certificates" にあります。The client certificates that you generated are, by default, located in 'Certificates - Current User\Personal\Certificates'. エクスポートするクライアント証明書を右クリックして、[すべてのタスク][エクスポート] の順にクリックし、証明書のエクスポート ウィザードを開きます。Right-click the client certificate that you want to export, click all tasks, and then click Export to open the Certificate Export Wizard.
  2. ウィザードで [次へ] をクリックし、[はい、秘密キーをエクスポートします] を選択して、[次へ] をクリックします。In the Wizard, click Next, then select Yes, export the private key, and then click Next.
  3. [エクスポート ファイルの形式] ページでは、既定値をそのまま使用します。On the Export File Format page, leave the defaults selected. [証明のパスにある証明書を可能であればすべて含む] がオンになっていることを確認します。Make sure that Include all certificates in the certification path if possible is selected. これを選択すると、認証を成功させるために必要なルート証明書情報もエクスポートされます。Selecting this also exports the root certificate information that is required for successful authentication. 次に、 [次へ]をクリックします。Then, click Next.
  4. [セキュリティ] ページでは、秘密キーを保護する必要があります。On the Security page, you must protect the private key. パスワードを使用する場合は、この証明書に設定したパスワードを必ず記録しておくか、覚えておいてください。If you select to use a password, make sure to record or remember the password that you set for this certificate. 次に、 [次へ]をクリックします。Then, click Next.
  5. [エクスポートするファイル] で、[参照] をクリックして証明書をエクスポートする場所を選択します。On the File to Export, Browse to the location to which you want to export the certificate. [ファイル名]に証明書ファイルの名前を指定します。For File name, name the certificate file. 次に、 [次へ]をクリックします。Then, click Next.
  6. [完了] をクリックして、証明書をエクスポートします。Click Finish to export the certificate.

エクスポートしたクライアント証明書のインストールInstall an exported client certificate

クライアント証明書をインストールするには、ポイント対サイト接続用のクライアント証明書のインストールに関するページを参照してください。To install a client certificate, see Install a client certificate for Point-to-Site connections.

次のステップNext steps

引き続きポイント対サイト構成を使用します。Continue with your Point-to-Site configuration.