私はポート443でSSL接続を提供するApache(xampp/wamp)サーバーを持っています。 2つの証明書ファイルserver.certとserver.keyを使用します。秘密鍵を別のファイルから取得する方法は?
ポート843(フラッシュポリシーのもの)でリクエストをリッスンするように設定された別のサーバーがあり、C#で書かれたテキスト応答で特定のリクエストに応答します。
SSL接続を実現するために、SecureSocketというフレックスオブジェクトを使用していますが、要求を暗号化するために元のサーバー証明書を使用します。
私の目標は、私の843 C#サーバに、送信されたデータを復号化し、返信を暗号化することです。これはC#でX509Certificateオブジェクトを使用しています。しかし
、パブおよびprivキーは別のファイルにあることから、私は次のようにFALSE取得しています:
明らかstring text = System.IO.File.ReadAllText(@"C:\xampp\apache\conf\ssl.crt\server.crt");
UTF8Encoding encoding = new System.Text.UTF8Encoding();
byte[] byteCert = encoding.GetBytes(text);
X509Certificate2 uberCert = new X509Certificate2();
uberCert.Import(byteCert);
Console.WriteLine("Has privateKey:" + uberCert.HasPrivateKey.ToString());
Console.WriteLine("PrivateKey: \n" + uberCert.PrivateKey);
、uberCert.HasPrivateKeyにFalseが秘密鍵であるという事実から来ています
1. X509CErtificate2オブジェクトを使用して秘密鍵を読み取るにはどうすればよいですか? 2.受信したメッセージを復号化するために公開鍵を使用する方法と、(暗号化された応答を返すために)秘密鍵で再暗号化する方法はありますか?
ありがとうございます。
マイク
こんにちは@Joe、 は、私は次のようやった: 'X509Certificate2 uberCert =新しいX509Certificate2(@ "C:\ xamppの\のapache \ confに\ server.pfx"、 "qwe123"、X509KeyStorageFlags.MachineKeySet);'合成後opensslを使用して両方のキーを1つのpfxファイルにコピーします。プライベートキーが存在するかどうかをチェックすれば真であると答えますが、Base64でエンコードされていないリクエストをどのように解読するのかはわかりません。あなたが提供したリンクを使用しているとき、私はすべて例外を取得しています。任意のヒント? – silicakes