エラーが発生します"InvalidBasicConstraints: A certificate's basic constraint extension has not been observed."
この証明書はOpenSSLで発行され、WCFサービスのサーバー側のテスト証明書として使用されます(証明書の検証時に同じエラーが発生します)。このコードでエラーを再現できます。
X509Certificate2 cert = new X509Certificate2(@"c:\test.cer");
X509Chain chain = X509Chain.Create();
X509ChainPolicy policy = new X509ChainPolicy();
policy.RevocationMode = X509RevocationMode.NoCheck;
chain.ChainPolicy = policy;
bool valid = chain.Build(cert);
Console.WriteLine(string.Join(" -- ", chain.ChainStatus.Select(o => o.Status + ": " + o.StatusInformation)));
Console.WriteLine(valid ? "VALID" : "NOT VALID");
証明書を見ると、これらの基本的な制約がわかります。
Subject Type=End Entity
Path Length Constraint=None
このエラーはどういう意味ですか?どうすれば修正できますか?
基本的な制約について私が見つけた最も関連性の高い記事は、この記事、 http: //unitstep.net/blog/2009/03/16/using-the-basic-constraints-extension-in-x509-v3-certificates-for-intermediateでした。 -cas /ただし、子証明書に署名することを禁止すること、または子証明書をさらに作成することについてのみ説明しています。私の場合は、これを実行しようとはしていません。
また、上記の基本的な制約の意味を説明する参考資料も役立ちます。