0
У меня проблема с тем, как я могу найти закрытый ключ от сервера Windows 2008.Расшифровка сообщения с закрытым ключом RSA
первый я зашифровать данные с помощью открытого ключа, который я извлек его из URL HTTPS так:
public static string Encrypt(string Data)
{
try
{
var Crypto = new RSACryptoServiceProvider(2048);
var RsaKeyInfo = Crypto.ExportParameters(false);
RsaKeyInfo.Modulus = PublicKeyByte();
Crypto.ImportParameters(RsaKeyInfo);
var bytesData = Encoding.Unicode.GetBytes(Data);
var bytesCypherText = Crypto.Encrypt(bytesData, false);
var cypherText = Convert.ToBase64String(bytesCypherText);
return cypherText;
}
catch (Exception ex)
{
return null;
}
}
private static byte[] PublicKeyByte()
{
Uri u = new Uri("https:\\domain.com");
ServicePoint sp = ServicePointManager.FindServicePoint(u);
string groupName = Guid.NewGuid().ToString();
HttpWebRequest req = HttpWebRequest.Create(u) as HttpWebRequest;
req.ConnectionGroupName = groupName;
using (WebResponse resp = req.GetResponse())
{
}
sp.CloseConnectionGroup(groupName);
return sp.Certificate.GetPublicKey(); ;
}
Теперь я не знаю, как извлечь секретный ключ в C# для дешифрования сообщения? и я хочу, чтобы узнать больше информации об этом
спасибо,
Вы не можете извлечь закрытый ключ с сервера, потому что это в значительной степени побеждает цель использования этой технологии. Если у вас есть доступ к серверу, вы можете получить шифрованный текст и расшифровать сообщение с помощью закрытого ключа, который хранится локально на этом сервере. – Glubus
Да, у меня есть доступ к серверу, и я хочу извлечь закрытый ключ локально, я хочу автоматически читать закрытый ключ с моей программой на этом сервере. –
Итак, что же такое проблема? Ваш ключ должен храниться где-то вроде C: \ Users \ \ .ssh \, если вы используете Windows. Просто прочитайте файл через свой сервер (вы сказали, что у вас есть доступ к серверу, поэтому вы должны иметь возможность программно добавить это). –
Glubus