サーバー側の証明書と秘密鍵の両方を必要とするこの外部 REST Web サービスを取得しようとしています (どちらも発行者から*.pem
そのサービスのファイルとして取得しました)。
私のテストでは、これら 2 つの部分を 1 つの*.pfx
ファイルに結合する方法をググって見つけました。ディスク上のそのバイナリ ファイルからインスタンスを読み込むと、X509Certificate2
問題なく動作します。
今、これを本番環境の Windows Server 2008 の証明書ストアに入れようとしていました。
X509Certificate2
C#コードで証明書ストアから取得できます-問題ありません:
X509Store store = new X509Store(StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindBySerialNumber, "serial-number-here", false);
if (certs.Count > 0)
{
X509Certificate2 cert = certs[0];
// set the certificate on the RestClient to call my REST service
_restClient.ClientCertificates.Add(cert);
}
store.Close();
しかし、私がこれを行うと、Web サービスは「SSL 証明書」が必要だと主張して私を怒らせます...
またX509Certificate2
、ディスクから、その*.pfx
ファイルからロードしていたとき、パスワードを提供する必要がありました - 証明書ストアからロードするとき、ここでは何も提供する必要はありません....奇妙な....
サーバー側の証明書と秘密鍵の両方を含むをインポートしたにもかかわらず*.pfx
、どういうわけか証明書ストアから両方を取得できないようです...
どうすればこれを機能させることができますか?2 番目のステップで証明書ストアから秘密鍵をロードする必要がありますか? どのように?
これらの証明書は、私にとって依然として主にブードゥー教のような大きな謎のままです....誰か私を啓発できますか?