証明書がいっぱいのキーストアがあります。別の人が証明書に秘密鍵を持っていると言ってきましたが、自分のコードをチェックインすると決して何も見ません。これらのキーはすべてvs6とcryptapiで使われていましたが、私はC#を使っています。証明書に秘密鍵があるかどうかを確認する方法
私は自分の証明書を作成したと私は同じキーストアにそれをインポートして、証明書は、それが実際にプライベートを持っていなかったことが示された私のコードを実行したとき、それはここ http://www.source-code.biz/snippets/vbasic/3.htm
方法を使用して、秘密鍵を持っていた確保キーストア内の他のすべての証明書は、私のコードに従わないでください。
このキーストアの証明書内で秘密鍵を使用できるようにするために、いくつかのフラグなどが必要ですか?
public void testForPrivateKey(string keystorename)
{
X509Store teststore = new X509Store(keystorename);
teststore.Open(OpenFlags.ReadOnly);
foreach (X509Certificate2 cert in teststore.Certificates)
{
if(cert.HasPrivateKey)
{
System.Diagnostics.Debug.WriteLine("Private key found certificate name: {0}", cert.Subject);
}
}
store.Close();
}
キーなどをキーコンテナに格納します。 – user1202605