テスト目的で X509 証明書を作成したいと考えています。この証明書は、3 人の開発者がそれぞれのローカル マシンで共有する必要があります (つまり、全員が同じ証明書を共有するため、同じ拇印を使用できます)。
したがって、この証明書の秘密鍵はエクスポート可能でなければなりません。
次のコマンドで証明書を作成します。
makecert -r -pe -n "CN=mytestsite.local" -b 01/01/2000 -e 01/01/2036 -ss my -sr localMachine -sky exchange localhost.cer
この証明書は正常に機能しますが、問題は、Certificates.Find を呼び出すときに isValid 引数を false にする必要があることです...
var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
var cert = store.Certificates.Find(
X509FindType.FindByThumbprint,
Config.PdfCertificateThumbprint,
false //********************* This has to be false.
).OfType<X509Certificate>().FirstOrDefault();
その IsValid プロパティを True に設定するとすぐに、Find メソッドによって証明書が返されなくなります。makecert が「無効な」証明書を生成するのはなぜですか? または、証明書が無効であると見なされる理由をどのように把握できますか?