2010-12-13 2 views
1

私は、.NETコードの中から次のアクションを実行したい:プログラム内からのHTTPSサーバー証明書の管理?

  1. は、ストアに自己署名証明書を作成してその拇印を得ます。
  2. 既存の証明書ファイルをストアにインポートします。同様に、拇印を得る。
  3. "netsh http add sslcert"に従って、この証明書を使用するためのHTTPSポートを構成します。私は単に私のプログラムの内部からこのコンソールコマンドを実行することができましたが、より良い方法があればうれしいでしょう。

ちなみに、アイテム#3はアイテム#1と#2のサムプリントが必要な理由です。これは可能ですか?

答えて

2

System.Security.Cryptography.X509Certificates名前空間を参照してください。

特に、X509Storeクラスは、あなたが参照していることの少なくとも1つを行います:既存の証明書をストアにインポートする。例えば

X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine); 
try 
{ 
store.Open(OpenFlags.ReadWrite); 
store.Add(
    new X509Certificate2(@"Certificates\MyCertificate.pfx", "password")); 
} 
finally 
{ 
store.Close(); 
} 

も参照してください:あなたの場合は... makecert.cs: makecert clone tool:あなたの他の部分の一つで


、証明書を作成し、私はこれを見つけましたmakecert.exeのようなコンソールツールを呼び出すことはありませんそれに似た何かを実装する。