5

IE ブラウザーと IIS 6 の間で HTTPS 経由のクライアント証明書認証を実装する必要があるという特殊な状況があります。ブラウザーと IIS は、ブラウザーが SSL ポートで IIS に接続することのみを許可するファイアウォールによって分離されています。

IIS と同じネットワーク上に内部証明書サーバーがあります。IIS 用の SSL サーバー証明書を生成し、それをインストールしました。SSL のみを許可し、クライアント証明書を要求するように IIS を構成しました。

ここでの制限は、ブラウザ マシンが切断されたネットワーク上にあるため、CA のhttp://caserver/CertSrv URL にアクセスして、通常のようにクライアント証明書を要求できないことです。

ルート CA の公開鍵に対して CSR を生成できる方法があれば、それを CA サーバーにコピーしてクライアント証明書を生成できると考えました。しかし、IE または証明書 MMC には、これを行うための準備がないようです。証明書 MMC は、CA への直接接続を必要とするようです。

誰もこれを以前に解決しましたか?

参考までに、参照されているすべてのサーバーは Windows Server 2003 を実行しています。

更新: CertReq.exe コマンド ライン ツールを指摘してくれた Jonas Oberschweiber と Mark Sutton に感謝します。これを使用して CSR を生成し、その結果、正常にインストールされるクライアント証明書を生成しました。ただし、IE は、問題の IIS サーバーにアクセスするときに、このクライアント証明書を送信していないようです。それでも 403.7 "禁止: SSL クライアント証明書が必要です" が生成されます。その理由は、クライアント証明書のサブジェクト フィールドが IE を実行しているアカウントのユーザー ID と一致しないため、おそらく一致しないクライアント証明書を送信していないためだと思われます。サブジェクトは、CSR を送信し、ファイアウォールの反対側でクライアント証明書を生成するために使用したユーザーのものと一致します。

件名フィールドは重要ですか? IE がこの証明書を送信できるようにするために他に何かする必要がありますか?

4

4 に答える 4

1

次のように、クライアントで certreq コマンドを使用します。

certreq -new -f filein c:\certrequest.req

これがファイルの例です

[バージョン] Signature="$Windows NT$"

[NewRequest]
Subject="CN=dc1.extranet.frbrikam.com"
EncipherOnly = False Exportable
= False
KeyLength = 1024
KeySpec = 1
KeyUsage = 0xA0
MachineKeySet = True
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = CMC

[RequestAttributes] CertificateTemplate=TLSServer

CertificateTemplate を証明書テンプレートの名前に置き換えます

要求ファイルを取得したら、それを USB スティックで認証局に持っていき、通常どおり Web 登録インターフェイスを使用して要求ファイルを処理する必要があります。

出力された証明書をクライアントに戻して開き、[インストール] をクリックします。

于 2008-11-07T13:03:58.473 に答える
0

念のため、更新の提案 - サーバー内の信頼できる証明書のリストは何ですか?

サブジェクト DN が Windows ユーザー名と同じであることは、私にとっては決して問題ではありませんでした。ただし、私は IIS をあまり使用していません。ただし、IIS のどこかに、信頼できる証明書のリストが必ずあります。このエラーは、サーバーの信頼できる証明書のリストに、クライアント証明書を発行した CA またはルート CA が含まれていないように思えます。

これは特に、IE 証明書ストアで構成された証明書があるにもかかわらず、IIS サーバーにアクセスしたときに IE で証明書選択ポップアップ ウィンドウが表示されない場合に当てはまります。これは、クライアントがサーバーにヒットし、サーバーが信頼できる証明書のリストを提供し、クライアントがリストに適合する証明書を持っていなかったことを意味します。そのため、SSL セッションは Forbidden エラー状態になりました。

証明書の選択ウィンドウが表示され、証明書を選択して送信した場合は、サーバー側に他の構成の問題がある可能性があります。

于 2009-10-12T14:10:21.010 に答える
0

CA サーバーを認識できる 3 台目のコンピューターを使用して、言及したhttp://caserver/CertSrvサイトに移動します。3 番目のオプションを選択し、CA 証明書、証明書 chai、または CRL をダウンロードします。次のページで [CA 証明書チェーンのダウンロード] を選択すると、p7b ファイルがダウンロードされます。フラッシュ ドライブ (または電子メールなど) を使用して、これを他のコンピューターに転送し、IE の信頼されたルート サーバーにインポートできるようにします。

http://technet.microsoft.com/en-us/library/cc787796.aspx

于 2008-11-06T21:32:35.900 に答える
0

あなたはすでにいくつかのことを試しているように聞こえるので、あなたはすでにこれらを認識していると思いますが、念のため投稿します: Certificate Command Line Tools . ただし、彼らがあなたの望むことをするかどうかはわかりません。

于 2008-11-06T21:25:48.113 に答える