ユーザーが CA Web 登録ページから証明書を要求するときのエラー: 証明書テンプレートが見つかりませんでした

この記事では、CA Web 登録ページから証明書を要求するときに発生するエラー "証明書テンプレートが見つかりませんでした" を解決するためのヘルプを提供します。

適用対象: Windows Server 2003
元の KB 番号: 811418

現象

ユーザーが証明機関 (CA) Web 登録ページから証明書を要求しようとすると、次のエラー メッセージが表示されることがあります。

証明書テンプレートが見つかりませんでした。 この CA に証明書を要求するアクセス許可がない、または Active Directory へのアクセス中にエラーが発生しました。

この動作は、Web 登録ページが Enterprise CA サーバー上の Active Directory ドメインにある場合に発生します。 Web 登録ページが同じサーバー上にあるか、別のメンバー サーバー上にあるかに関係なく発生します。

原因

CA Web 登録ページでは、大文字と小文字が区別される 2 つの値の文字列比較が実行されます。 1 つの値は証明書サーバー上のフォルダーにある Certdat.inc ファイルの %systemroot%\System32\CertsrvsServerConfig 値で、もう 1 つの値は Active Directory の pkiEnrollmentService オブジェクトの dnsHostName 属性です。 大文字と小文字が一致するなど、2 つの文字列が一致しない場合、登録は失敗します。

解決方法

この動作を修正するには、次の手順に従います。

  1. pkiEnrollmentService オブジェクトの Active Directory dNSHostName 属性を表示します。 このオブジェクトは次の場所に配置されます。

    CN= CertificateServer,CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC= MyDomain,DC=com

    dNSHostName 属性を表示するには、ADSIEdit.msc または LDP.exe を使用します。

  2. Certdat.inc ファイルを編集して、sServerConfig の値が dNSHostName 属性の値に続いて証明機関名と同じになるようにします。

    注:

    sServerConfig の値は、dNSHostName 属性とまったく同じケースである必要があります。 これが true でない場合は、引き続き同じエラーが発生します。

  3. たとえば、証明機関の DNS ホスト名が server1.domain.local で、証明機関の名前が MYCA の場合、 次に、 CN=MYCA、CN=Enrollment Services、CN=Public Key Services、CN=Services、CN=Configuration、DC= Domain、DC=local オブジェクトの dNSHostName 属性が server1.domain.local に設定されていることを確認し、証明機関のフォルダー内の certdat.inc ファイルの %systemroot%\system32\certsrv sServerConfig を server1.domain.local\MYCA に設定する必要があります。

  4. 証明書を要求するユーザーに、インターネット エクスプローラーを再起動させます。 これにより、新しい資格情報を CA に渡すことができます。

    注:

    また、ユーザーに、そのユーザーが要求している証明書テンプレートに対する読み取りアクセス許可と登録アクセス許可が付与されていることを確認します。 これらのアクセス許可は、ADSIEdit スナップインまたは証明書テンプレート スナップインを使用して付与できます。