2012-02-27 14 views
0

特定の証明書を確認する必要があります。残念ながら、私はこれをどのように達成できるかという手がかりはありません。私が検証したい証明書は私自身のCAによって署名されています。証明連鎖全体をチェックする必要があります。検証はC#で行う必要があります。WCFでの証明書の検証

敬具、 マイケル

+0

証明書とルート証明書をインストールしていない何らかの理由に証明書ストア? – Yahia

+0

ルート証明書が既にインストールされています。しかし、私は特定のものに対して証明書を確認する必要があります。店舗全体に対する検証は不本意です。 – user1168876

+0

これは非常に敏感な領域であり、検査全体を自己実施する際のいくつかのバグ/誤った取り扱いは、深刻なセキュリティ上の問題につながる可能性があります... IMHOは、 "未寛解"ではありません。... – Yahia

答えて

1

あなたはコード内のチェーンの検証を含むすべてのものをしたいなら、あなたはimplement "custom validation" and integrate that into the WCF Hostする必要があります:

Client.ServiceCertificate.Authentication.CertificateValidationMode = 
       X509CertificateValidationMode.Custom; 
Client.ServiceCertificate.Authentication.CustomCertificateValidator = 
    new MyCertificateValidator(); 

チェーンを自分で検証するため、あなたは見てみる必要がありますX509ChainX509Storeで - VerifyMono's implementationを見てみましょう...基本的にFindメソッドを使用してを検索します親のためのなど...カスタム検証による検証基準はあなた次第です(有効な署名、期限切れではありません...)。

MSDNでのいくつかの参照リンク:

関連する問題