次の方法で共有


Windows 7 のリモート デスクトップ サービスで TLS 用のカスタム サーバー認証証明書を使用するように強制する

この記事では、Windows 7 コンピューターにリモート デスクトップ サービス (RDS) 接続を確立するときに、トランスポート層セキュリティ (TLS) をサポートするために自己署名サーバー認証証明書が自動的に生成される問題の解決策について説明します。

適用対象: Windows 7 Service Pack 1
元の KB 番号: 2001849

現象

Windows 7 コンピューターに RDS 接続を作成すると、TLS をサポートするために自己署名サーバー認証証明書が自動的に生成されます。 これにより、コンピューター間でデータを暗号化できます。 データは、ターゲット コンピューターで次のグループ ポリシー設定が有効になっていて、 SSL (TLS 1.0)に設定されている場合にのみ暗号化されます。

Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security:Require use of specific security layer for remote (RDP) connections

原因

RDS 接続を介した TLS の自己署名証明書の生成は、Windows Vista および Windows 7 で設計によって有効になっています。

解決方法

サーバー認証証明書は、Windows Vista および Windows 7 でサポートされています。 RDS のカスタム証明書を使用するには、次の手順に従います。

  1. 証明機関からサーバー認証証明書をインストールします。

  2. 証明書の SHA1 ハッシュを含む次のレジストリ値を作成して、既定の自己署名証明書を使用するのではなく、TLS をサポートするようにこのカスタム証明書を構成します。

    • 場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
    • 値の名前: SSLCertificateSHA1Hash
    • 値の種類: REG_BINARY
    • 値データ: <証明書の拇印>

    値は、コンマ (,) で区切られた証明書の拇印で、空のスペースは使用しないでください。 たとえば、そのレジストリ キーをエクスポートする場合、 SSLCertificateSHA1Hash の値は次のようになります。

    SSLCertificateSHA1Hash=hex:42,49,e1,6e,0a,a0,2e,63,c4,5c,93,fd,52,ad,09,27,82,1b,01

    Windows クライアント SKU にサーバー証明書を構成するためのユーザー インターフェイスがないため、レジストリを直接編集する必要があります。

  3. リモート デスクトップ ホスト サービス サービスは、ネットワーク サービス アカウントで実行されます。 そのため、RDS によって使用されるキー ファイルの ACL (SSLCertificateSHA1Hash レジストリ値で指定された証明書によって参照される) を、読み取りアクセス許可を持つ NETWORK SERVICE を含むように設定する必要があります。 アクセス許可を変更するには、次の手順に従います。

    ローカル コンピューターの Certificates スナップインを開きます。

    1. [開始をクリックし、実行をクリックし、「mmc」と入力して、[OK] をクリック
    2. [ファイル] メニューの [スナップインの追加と削除] をクリックします。
    3. [ スナップインの追加と削除 ] ダイアログ ボックスの [ 使用可能なスナップイン の一覧で、 Certificatesをクリックし、 追加をクリックします。
    4. [ Certificates スナップイン] ダイアログ ボックスで、[ Computer アカウントをクリックし、[次へ ] をクリック
    5. コンピューターの選択] ダイアログ ボックスで、[ ローカル コンピューター: (このコンソールが実行されているコンピューター) ] をクリックし、[完了] をクリック
    6. [スナップインの追加と削除] ダイアログ ボックスで、 [OK]をクリックします。
    7. Certificates スナップインのコンソール ツリーで、Certificates (ローカル コンピューター)を展開し、Personal を展開して、使用する SSL 証明書に移動します。
    8. 証明書を右クリックし、 [すべてのタスク] を選択し、[秘密キーの管理 を選択
    9. [Permissions] ダイアログ ボックスで、[追加] をクリック、「NETWORK SERVICE」と入力、[OK] をクリック、[Allow] チェック ボックスの下にある [Read] を選択し、[OK] をクリック

詳細

RDP 暗号化設定をプログラムで構成する方法の詳細については、「 Win32_TSGeneralSetting クラスを参照してください。