我将使用以下参数使用makecert创建x509证书:
现在我使用以下C#代码加密数据:
执行Encrypt方法时,我收到了一个带有“Bad key”消息的CryptographicException异常。我认为代码没问题,可能是我没有正确创建证书。有任何建议吗?谢谢。
---------------- EDIT -------------- 如果有人知道如何使用OpenSsl创建证书,对我来说也是一个有效的答案。
我想使用此证书使用RSA算法加密和解密数据。我查看了在Windows证书存储中生成的证书,一切似乎都很正常(它有一个私钥,公钥是一个具有1024位的RSA密钥等)。makecert -r -pe -n "CN=Client" -ss MyApp
现在我使用以下C#代码加密数据:
X509Store store = new X509Store("MyApp", StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindBySubjectName, "Client", false);
X509Certificate2 _x509 = certs[0];
using (RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)_x509.PublicKey.Key)
{
byte[] dataToEncrypt = Encoding.UTF8.GetBytes("hello");
_encryptedData = rsa.Encrypt(dataToEncrypt, true);
}
执行Encrypt方法时,我收到了一个带有“Bad key”消息的CryptographicException异常。我认为代码没问题,可能是我没有正确创建证书。有任何建议吗?谢谢。
---------------- EDIT -------------- 如果有人知道如何使用OpenSsl创建证书,对我来说也是一个有效的答案。