update example to use pfx file which seems more reliable

This commit is contained in:
Luke Emmet 2021-07-16 20:19:29 +01:00
parent ae5233c149
commit 0647df528e

View File

@ -1,6 +1,7 @@
using Cuipod; using Cuipod;
using Microsoft.Extensions.CommandLineUtils; using Microsoft.Extensions.CommandLineUtils;
using System; using System;
using System.Security.Cryptography.X509Certificates;
namespace CuipodExample namespace CuipodExample
{ {
@ -15,21 +16,38 @@ namespace CuipodExample
"Directory to server (required)" "Directory to server (required)"
); );
CommandArgument certificateFile = commandLineApplication.Argument( CommandArgument certificateFile = commandLineApplication.Argument(
"certificate", "pfx certificate file",
"Path to certificate (required)" "Path to certificate (required)"
); );
CommandArgument privateRSAKeyFilePath = commandLineApplication.Argument( CommandArgument pfxPassword = commandLineApplication.Argument(
"key", "pfx password",
"Path to private Pkcs8 RSA key (required)" "pfx password"
); );
commandLineApplication.OnExecute(() => commandLineApplication.OnExecute(() =>
{ {
if (directoryToServe.Value == null || certificateFile.Value == null || privateRSAKeyFilePath.Value == null) if (directoryToServe.Value == null || certificateFile.Value == null )
{ {
commandLineApplication.ShowHelp(); commandLineApplication.ShowHelp();
return 1; return 1;
} }
return AppMain(directoryToServe.Value, certificateFile.Value, privateRSAKeyFilePath.Value);
string pass;
if (pfxPassword != null)
{
pass = pfxPassword.Value.ToString();
}
else
{
pass = "";
}
Console.WriteLine("pass: " + pass.ToString());
Console.WriteLine("cert: " + certificateFile.Value.ToString());
var cert = new X509Certificate2(certificateFile.Value.ToString(), pass);
return AppMain(directoryToServe.Value, cert);
}); });
try try
@ -42,12 +60,11 @@ namespace CuipodExample
} }
} }
private static int AppMain(string directoryToServe, string certificateFile, string privateRSAKeyFilePath) private static int AppMain(string directoryToServe, X509Certificate2 certificate)
{ {
App app = new App( App app = new App(
directoryToServe, directoryToServe,
certificateFile, certificate
privateRSAKeyFilePath
); );
// Serve files // Serve files