キーストアを使用しないクライアント証明書
-
19-08-2019 - |
質問
Windowsキーストアを一切使用せずに、.NETクライアントがクライアント証明書を使用する方法があるかどうかを把握しようとしています。
次のようなコードスニペットがあります:
test1.Service s = new test1.Service();
X509Certificate c = X509Certificate.CreateFromCertFile(@"C:\test.pem");
s.ClientCertificates.Add(c);
int result = s.TestMethod();
ただし、これは<!> quot; test.pem <!> quot;で参照されている証明書も持っている場合にのみ機能します。証明書ストアにインストールされています。これはネゴシエーションにキーが必要だからだと思います。ストアに証明書/キーがない場合、証明書はリクエストとともに送信されません。
1つまたは複数のファイルから証明書と秘密キーの両方を提供し、Windows証明書ストアを一切使用しないようにすることです。
これを行う方法はありますか?
解決
自分の投稿への回答を投稿しますが、他の人が別の方法で解決できるかどうかを確認するために、それを開いたままにします。
基本的に、私はパントしています。 PKCS12ファイル(キーと証明書の両方を含む)がある場合は、X509Certificate2クラスを使用してそのファイルをロードし、使用できます。キーストアに問い合わせることはありません。
フラットなPEMキーと証明書ファイル(Pythonで必要なものなど)でこれを行う方法が見つかりませんでした。
所属していません StackOverflow