Как зашифровать раздел файла App.config с помощью предоставленного открытого ключа RSA - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть чей-то открытый ключ в виде строки:

<RSAKeyValue>
  <Modulus>publickeyhere</Modulus>
  <Exponent>AAAA</Exponent>
</RSAKeyValue>

У меня также есть файл app.config, и я пытаюсь зашифровать его раздел appSettings с помощью открытого ключа.Я делаю это так

var publicKeyXml = @"<RSAKeyValue><Modulus>publickeyhere</Modulus><Exponent>AAAA</Exponent></RSAKeyValue>";

var map = new ExeConfigurationFileMap
{
    ExeConfigFilename = "app.config"
};

var config = ConfigurationManager
    .OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);

using (var rsa = new RSACryptoServiceProvider())
{
    try
    {
        rsa.FromXmlString(publicKeyXml);

        // Now use the public key to encrypt how?
        config.AppSettings.SectionInformation
            .ProtectSection("RSAProtectedConfigurationProvider");
        config.SaveAs($"app.encrypted.config");
    }
    finally
    {
        rsa.PersistKeyInCsp = false;
    }
}

Как мне сказать, что для шифрования необходимо использовать открытый ключ, а не тот, который используется на текущем компьютере, на котором он работает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...