これはとても良い質問です。場合によっては、のように、.NETではアプリケーションの構成を微調整するHttpListener
ためにツールまたは.configファイル(を使用)が必要になります。System.Configuration
多くの場合、APIは同じ目的を達成しますが、常にではありません(この場合はそうではありません)。
HttpCfg.exe
解決策は、Monoのソースコードを調べて、ツールがアプリケーション用にセットアップすることを期待していることを確認することです。githubから:
string dirname = Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData);
string path = Path.Combine (dirname, ".mono");
path = Path.Combine (path, "httplistener");
string cert_file = Path.Combine (path, String.Format ("{0}.cer", port));
if (!File.Exists (cert_file))
return;
string pvk_file = Path.Combine (path, String.Format ("{0}.pvk", port));
if (!File.Exists (pvk_file))
return;
cert = new X509Certificate2 (cert_file);
key = PrivateKey.CreateFromFile (pvk_file).RSA;
したがって、解決策は、同じディレクトリ構造を作成し(ディレクトリの下を指すため可能です)、ファイル(バイナリDERエンコード証明書)とファイル(作成する形式の秘密鍵)をポートDocuments
にコピーすることです。ファイル名としての番号。.cer
.pvk
makecert
これらのファイルを配置するHttpListener
と、SSL要求の処理に必要な証明書と秘密鍵を起動してロードできるようになります。