Имам проблем да дешифрирам съобщение usgin X.509 сертификат.
Генерирам сертификата си с makecert с тези опции:
makecert -r -pe -n "CN=MyCertificate" -ss CA -sr CurrentUser -a sha1 -sky signature -cy authority -sv CA.pvk CA.cer
И PrivateKey беше "mypassword".
Проблемът ми е, когато искам да дешифрирам съобщение, шифровано с предишен сертификат в c#.
Намерих този клас http://blog.shutupandcode.net/?p=660, но в метода X509Decrypt винаги PrivateKey е нула.
public static byte[] X509Decrypt(byte[] data, string certificateFile, string password) { // load the certificate and decrypt the specified data using (var ss = new System.Security.SecureString()) { foreach (var keyChar in password.ToCharArray()) ss.AppendChar(keyChar); // load the password protected certificate file X509Certificate2 cert = new X509Certificate2(certificateFile, ss); using (RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)cert.PrivateKey) { return rsa.Decrypt(data, true); } } }
Опитах да предам файла със сертификата (.cer)
X509DecryptString(token, @"c:\CA.cer", "mypassword");
И предаване на pvk файла (.pvk)
X509DecryptString(token, @"c:\CA.pvk", "mypassword");
Но винаги имайте, че свойството PrivateKey е нула.
Може ли някой да ме напътства да дешифрирам съобщението с помощта на pvk файла?
Благодаря,
Хосе