2

.NETクライアントにWindowsキーストアを一切使用せずにクライアント証明書を使用させる方法があるかどうかを調べようとしています。

私はこのようなコードスニペットを持っています:

test1.Service s = new test1.Service();
X509Certificate c = X509Certificate.CreateFromCertFile(@"C:\test.pem");
s.ClientCertificates.Add(c);
int result = s.TestMethod();

ただし、これは、「test.pem」で参照されている証明書が証明書ストアにインストールされている場合にのみ機能します。これは交渉に鍵が必要だからだと思います。ストアに証明書/キーがない場合、証明書はリクエストとともに送信されません。

私がやりたいのは、1つまたは複数のファイルから証明書と秘密鍵の両方を提供できるようにすることであり、Windows証明書ストアは一切関与しません。

これを行う方法はありますか?

4

1 に答える 1

1

私は自分の投稿に回答を投稿しますが、他の人が別の方法で解決できるかどうかを確認するために開いたままにします.

基本、パントしてます。PKCS12 ファイル (キーと証明書の両方を含む) がある場合、X509Certificate2 クラスを使用してそのファイルをロードして使用でき、キーストアに問い合わせることはありません。

フラットな PEM キーと証明書ファイルでこれを行う方法を見つけることができませんでした (たとえば、Python で必要なもののように)。

于 2009-01-23T18:01:37.327 に答える