Я пытаюсь внедрить решение в мое приложение, зеркало ответа in this post«PrivateKey» не имеет определения «CreateFromFile»
У меня есть подобный сценарий, где у меня есть HttpListener
и Grapevine
приложение работает на сервер Ubuntu, что мне нужно, чтобы получить работу с помощью HTTPS
Mono
, и я пытаюсь создать и включить соответствующие ключи, чтобы HTTPS
проблемы я имею в последней строке решения,
key = PrivateKey.CreateFromFile (pvk_file).RSA;
Когда я пытаюсь то же Visual Studio показывает ошибку/текст выделен красным цвета, 'PrivateKey' does not have a definition for 'CreateFromFile'
я использую неправильные библиотеки или что-то еще проблема с самим моим кодом?
My code, cut down к соответствующему методу.
using System;
using System.IO;
using System.Security.Cryptography.X509Certificates;
using System.Threading;
using java.security;
public class ConfigureCertificates
{
private readonly string _dirName;
private readonly string _path;
private readonly string _port;
private readonly string _certFile;
public ConfigureCertificates(string port)
{
_dirName = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
_path = Path.Combine(_dirName, ".mono");
_path = Path.Combine(_path, "httplistener");
_port = port;
_certFile = Path.Combine(_path, String.Format("{0}.cer", _port));
}
public void SetUpCerts()
{
if (!File.Exists(_certFile))
throw new Exception("Certificate file not found");
string pvkFile = Path.Combine(_path, String.Format("{0}.pvk", _port));
if (!File.Exists(pvkFile))
throw new Exception("Private key not found");
var cert = new X509Certificate2(_certFile);
var key = PrivateKey.CreateFromFile(pvkFile).RSA; // Error occurs here
}
}
Попробуйте полное пространство имен, возможно, здесь есть столкновение имен классов. 'Mono.Security.Authenticode.PrivateKey.CreateFromFile()' – DavidG
Это было пятно на. Благодарю. Просто нужно было добавить «Mono.Security» из Nuget –