[HOW TO] サードパーティの証明書を NTAuth ストアにインポートする方法


概要


この資料では、サードパーティの証明機関 (CA) が発行した証明書を Windows 2000 の NTAuth ストアにインポートする方法について説明しています。Windows 2000 では、スマート カード ログオンまたはドメイン コントローラ証明書を発行する CA が、その CA 証明書を Active Directory の NTAuth ストアに発行する必要があります。Windows 2000 の CA は、自動的にその CA 証明書を Active Directory に発行します。


NTAuth ストアは、フォレストの Configuration Container 中のオブジェクトです。LDAP (Lightweight Directory Access Protocol) の一意名は、次のようなものになります。


CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=MyDomain,DC=com
NTAuth ストアに発行された証明書は、複数値の属性 cACertificate に書き込まれます。この属性に証明書を付加する方法を以下に示します。


NTAuth ストアに証明書をインポートする

次の手順を実行する前に、管理者による Active Directory のバックアップの実行を強くお勧めします。問題を発生させる不慮のイベントが起こった際に Active Directory を復元でき、Ntdsutil Active Directory 診断ツールを使用して、CN=NTAuthCertificates オブジェクトを "権限を持つもの" としてマークすることができます。


NTAuth ストアに証明書をインポートするには、次の手順に従います。
  1. サードパーティの証明書を Base64 形式にエンコードします。Windows 2000 証明書サービスと共にインストールされる Certutil.exe ツールを使用すれば、証明書を Base64 にエンコードできます。Certutil ツールのコマンド ラインは、certutil -encode入力ファイル出力ファイルです。


    エンコードされた証明書は次のようなものになります。

    -----BEGIN CERTIFICATE-----
    MIIDkjCCAzygAwIBAgIQUGI7+cbSDadN3AcuClPjEjANBgkqhkiG9w0BAQUFADCBkTEcMBoGCSqGSI
    b3DQEJARYNYWRtaW5Aai5sb2NhbDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5h
    MRIwEAYDVQQHEwlDaGFybG90dGUxEjAQBgNVBAoTCU1pY3Jvc29mdDEMMAoGA1UECxMDTVBTMRUwEw
    YDVQQDEwxFbnRlcnByaXNlQ0EwHhcNMDEwNDA1MjM1ODE3WhcNMjEwNDA2MDAwNDQyWjCBkTEcMBoG
    CSqGSIb3DQEJARYNYWRtaW5Aai5sb2NhbDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm
    9saW5hMRIwEAYDVQQHEwlDaGFybG90dGUxEjAQBgNVBAoTCU1pY3Jvc29mdDEMMAoGA1UECxMDTVBT
    MRUwEwYDVQQDEwxFbnRlcnByaXNlQ0EwXDANBgkqhkiG9w0BAQEFAANLADBIAkEA3M8E1gV1vgo8Un
    GuTT/g6JFJS3IxzTqDV3yFpxtcXN9kUZhHT1xa0xf1L7Dx/7t7qzwUBytkeLLmHoCiyEnd/wIDAQAB
    o4IBbDCCAWgwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgFGMA8GA1UdEwEB/wQFMAMBAf
    8wHQYDVR0OBBYEFLAFj6XPYTQjNzPuJFYGIeHKpxlCMIIBAAYDVR0fBIH4MIH1MIG4oIG1oIGyhoGv
    bGRhcDovLy9DTj1FbnRlcnByaXNlQ0EsQ049ai1kYy0wMSxDTj1DRFAsQ049UHVibGljJTIwS2V5JT
    IwU2VydmljZXMsQ049U2VydmljZXMsQ0492Q9uZmlndXJhdGlvbixEQz1qLERDPWxvY2FsP2NlcnRp
    ZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFzZT9vYmplY3RjbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludD
    A4oDagNIYyaHR0cDovL2otZGMtMDEuai5sb2NhbC9DZXJ0RW5yb2xsL0VudGVycHJpc2VDQS5jcmww
    EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADQQDC1vPF7ZpnovlZMU8hTCKK8VNpexCOX0
    dpuQ6cy7VnpTsCehxM/fJkcGOwNYAiSjTf9QfxK1yR/yhVnE7iMxHn
    -----END CERTIFICATE-----
  2. メモ帳を開いて、次のような形式で LDIF (LDAP Data Interchange Format) ファイルを作成します。
    dn: CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=MyDomain,DC=com
    changetype: modify
    add: cACertificate
    cACertificate::
    <encoded certificate>
    -
    : Base 64 ファイルの "BEGIN CERTIFICATE" から "END CERTIFICATE" まで ("BEGIN CERTIFICATE" と "END CERTIFICATE" は含みません) が、エンコードされた証明書になります。LDIF ファイル形式は、空白で始まる複数の行からなる属性が必要です。また、属性データに続く行のハイフンは、区切り文字です。ハイフンは必須です。最後に、LDIF ファイルの最後の行には、改行だけが含まれるようにする必要があります (この手順を行なうには、ファイルの最後で Enter キーを 2 回押します)。


    最終的な LDIF ファイルは次のようになります。

    dn: CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=MyDomain,DC=com
    changetype: modify
    add: cACertificate
    cACertificate::
    MIIDkjCCAzygAwIBAgIQUGI7+cbSDadN3AcuClPjEjANBgkqhkiG9w0BAQUFADCBkTEcMBoGCSqGSI
    b3DQEJARYNYWRtaW5Aai5sb2NhbDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5h
    MRIwEAYDVQQHEwlDaGFybG90dGUxEjAQBgNVBAoTCU1pY3Jvc29mdDEMMAoGA1UECxMDTVBTMRUwEw
    YDVQQDEwxFbnRlcnByaXNlQ0EwHhcNMDEwNDA1MjM1ODE3WhcNMjEwNDA2MDAwNDQyWjCBkTEcMBoG
    CSqGSIb3DQEJARYNYWRtaW5Aai5sb2NhbDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm
    9saW5hMRIwEAYDVQQHEwlDaGFybG90dGUxEjAQBgNVBAoTCU1pY3Jvc29mdDEMMAoGA1UECxMDTVBT
    MRUwEwYDVQQDEwxFbnRlcnByaXNlQ0EwXDANBgkqhkiG9w0BAQEFAANLADBIAkEA3M8E1gV1vgo8Un
    GuTT/g6JFJS3IxzTqDV3yFpxtcXN9kUZhHT1xa0xf1L7Dx/7t7qzwUBytkeLLmHoCiyEnd/wIDAQAB
    o4IBbDCCAWgwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgFGMA8GA1UdEwEB/wQFMAMBAf
    8wHQYDVR0OBBYEFLAFj6XPYTQjNzPuJFYGIeHKpxlCMIIBAAYDVR0fBIH4MIH1MIG4oIG1oIGyhoGv
    bGRhcDovLy9DTj1FbnRlcnByaXNlQ0EsQ049ai1kYy0wMSxDTj1DRFAsQ049UHVibGljJTIwS2V5JT
    IwU2VydmljZXMsQ049U2VydmljZXMsQ0492Q9uZmlndXJhdGlvbixEQz1qLERDPWxvY2FsP2NlcnRp
    ZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFzZT9vYmplY3RjbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludD
    A4oDagNIYyaHR0cDovL2otZGMtMDEuai5sb2NhbC9DZXJ0RW5yb2xsL0VudGVycHJpc2VDQS5jcmww
    EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADQQDC1vPF7ZpnovlZMU8hTCKK8VNpexCOX0
    dpuQ6cy7VnpTsCehxM/fJkcGOwNYAiSjTf9QfxK1yR/yhVnE7iMxHn
    -
  3. このファイルを Ntauth.ldf ファイルとして保存します。
  4. Ldifde.exe ツールを使用して、このファイルを Active Directory にインポートします。この際のコマンドは ldifde -i -f ntauth.ldf のようになります。

    デフォルトでは、Ldifde.exe ツールは Windows 2000 Server と Windows 2000 Advanced Server に含まれています。Ldifde.exe ツールのコマンドライン ヘルプを参照するには、ldifde /? と入力します。
  5. 次回グループ ポリシーを更新する際、またはコンピュータを再起動する際に、クライアント コンピュータは証明書をローカルの NTAuth ストアにダウンロードできます。Secedit.exe コマンドライン ツールを使用することで、グループ ポリシーを強制的に適用できます (たとえば、secedit /refreshpolicy machine_policy /enforce コマンドを使用します)。
  6. Certmgr.exe ユーティリティを使用して、インポートされた証明書がクライアントにダウンロードされていることを検証できます。Certmgr.exe ユーティリティは、インターネットからダウンロード可能な Platform SDK (Software Development Kit) ユーティリティです。このユーティリティは、特定のストアのすべての証明書に関する情報の取り出しに使用できます。ここでは、ローカル コンピュータの NTAuth ストア内の全証明書の取り出しに使用しています。たとえば、certmgr -s -r localMachine ntauth コマンドの出力結果は次のようになります。

    ==============Certificate # 1 ==========
    Subject::
    [0,0] 1.2.840.113549.1.9.1 (E) admin@mydomain.com
    [1,0] 2.5.4.6 (C) US
    [2,0] 2.5.4.8 (S) Washington
    [3,0] 2.5.4.7 (L) Redmond
    [4,0] 2.5.4.10 (O) Microsoft
    [5,0] 2.5.4.11 (OU) PSS
    [6,0] 2.5.4.3 (CN) My Enterprise CA
    Issuer::
    [0,0] 1.2.840.113549.1.9.1 (E) admin@mydomain.com
    [1,0] 2.5.4.6 (C) US
    [2,0] 2.5.4.8 (S) Washington
    [3,0] 2.5.4.7 (L) Redmond
    [4,0] 2.5.4.10 (O) Microsoft
    [5,0] 2.5.4.11 (OU) PSS
    [6,0] 2.5.4.3 (CN) My Enterprise CA
    SerialNumber::
    50 62 3B F9 C6 D2 0D A7 4D DC 07 2E 0A 53 E3 12
    SHA1 Thumbprint::
    A357B06E 6EA9E2F9 C892FE1B 43BED0A5 AB0A081F
    MD5 Thumbprint::
    2948B478 D9D6A967 8AA8B247 AAD2690E
    NotBefore::
    Thu Apr 05 19:58:17 2001
    NotAfter::
    Mon Apr 05 20:04:42 2021
    ==============No CTLs ==========
    ==============No CRLs ==========
    ==============================================
    CertMgr Succeeded
    左側のペインで [Security] をクリックし、[Authenticode] をクリックします。プラットフォームに適したパッケージをダウンロードします。

関連情報


サードパーティの CA を使用したスマート カード ログオンの発行の詳細については、
サード パーティの CA を用いてスマート カード ログオンを有効にするガイドライン (JP281245) を参照してください。


サードパーティの CA を使用したドメイン コントローラ証明書の発行の詳細については、
Requirements for Domain Controller Certificates from a Third-Party CA (Q291010) を参照してください。


Certmgr.exe ユーティリティは Authenticode ユーティリティの一部で、マイクロソフトの
MSDN Downloads サイトからダウンロードできます。


Active Directory の Authoritative Restore を実行する方法の詳細については、ホワイト ペーパー
Active Directory Disaster Recovery を参照してください。


関連情報


この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 295663 (最終更新日 2002-03-13) をもとに作成したものです。


この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。