Я хочу подписать и проверить данные с помощью RSACryptoServiceProviderRSACryptoServiceProvider Public/Частные ключи Импорт
Для этого мне нужно открытых и закрытых ключей.
В моем проекте я храню файлы MyPublic и Private в файлах XML.
Один раз, я произвожу MyPublic и частные ключи
public bool SignutureCheckForVerify(string myData, byte[] SignedData)
{
...
RSACryptoServiceProvider RSAalg = new RSACryptoServiceProvider();
RSAalg.FromXmlString(MyPublicKey());
return RSAalg.VerifyData(Encoding.ASCII.GetBytes(myData), new MineCryptoService(), SignedData);
...
}
private static string MyPublicKey()
{
return "<RSAKeyValue><Modulus>-----Pubic Key Here ----</RSAKeyValue>";
}
В Выше я показал, что «Проверка через данные открытые ключи»
Мой метод SignData похож.
В там,
RSAalg.FromXmlString(GetPrivateKey());
...
RSAalg.SignData(...)
Мой вопрос си, что; На каком-то примере я это признал; Импорт государственных и частных ключей через файлы сертификата crt/pem/cert и т. Д. Там я хранил файлы XML.
İs Мое решение не так?
Второй вопрос, который,
Если я использую этот метод импортировать ключи
https://msdn.microsoft.com/en-us/library/tswxhw92(v=vs.110).aspx
GetKeyFromContainer ("MyKeyContainer");
IS MyKeyContainer личные и открытые ключи статические?
В каждом прогоне, Могу ли я иметь тот же закрытый ключ/открытый ключ
или каждый работает у меня есть различный набор ключей?
Очень много за ваш ответ. Что можно хранить в файле XML для хранения ключей. И каковы различия между Storege в XML и Storege в файле сертификата. Вы можете мне помочь? –
XML используется для запатентованного хранения Microsoft. Сохранение открытого ключа в сертификате позволяет хранить дополнительные данные в сертификате. Сертификаты могут быть «самоподписаны» с закрытым ключом или подписаны центром сертификации (или, в случае PGP, «anybody»), который позволяет вам создавать PKI. Обратите внимание, что тема «управление ключами» огромна. Он выходит за пределы StackOverflow, чтобы обсудить все варианты и последствия конкретных вариантов. –
@MaartenBodewes RSACryptoServiceProvider требует алгоритма в качестве аргумента, что вы имеете в виду по умолчанию для SHA-1? (Он поддерживает только SHA-1 для OAEP, но это шифрование, а не подписание). – bartonjs