Я пытаюсь RSA
зашифровать строку с заданным ключом. (Я не могу изменить ключ, так как я запрашиваю его из другой системы)
Я получаю ключ в виде строки, и он выглядит так:
----- BEGIN CERTIFICATE ----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSehIDcXho52VvAQAFfVD2CzOFAYKSfnRsuKE / nqE1O4l / X6opYgjxj / mSNk1bvNobwiRBL4uWfFnsHoQSiv1Gqzl + JQ2QQ2rUVGuNZ7d7agjYcb1LCpKPE1Q0kqLvbGyDWQx8ULC7 / FJ49mMwbzIE4C9ovfdOBa0er6IDNSW0IQIDAQAB ----- END
СЕРТИФИКАТ -----
Теперь я попытался зашифровать строку многими способами, но ни один из них не сработал.
Последнее решение, которое я попробовал, было следующее:
public static string RSA(string payload, string publicKey)
{
byte[] toEncryptData = Encoding.ASCII.GetBytes(payload);
RSACryptoServiceProvider rsaPublic = new RSACryptoServiceProvider();
rsaPublic.FromXmlString(publicKey);
byte[] encryptedRSA = rsaPublic.Encrypt(toEncryptData, false);
string EncryptedResult = Encoding.Default.GetString(encryptedRSA);
return EncryptedResult;
}
Это всегда вызывает исключение, когда дело доходит до:
rsaPublic.FromXmlString(publicKey);
Так что я могу сделать, чтобы зашифровать строку с помощью RSA?
Мне это нужно, потому что я хочу реализовать API: https://www.loxone.com/dede/wp-content/uploads/sites/2/2016/08/0903_Communicating-with-the-Miniserver.pdf
На странице 5 под 6. Вы можете увидеть требование !!