"Bad version of the provider". when loading public key using RSACryptoServiceProvider
I am generating RSA key pair using AsymmetricKeyAlgorithmProvider
( Windows.Security.Cryptography.Core
) and exporting the keys as shown below:
AsymmetricKeyAlgorithmProvider rsaGenKeys = AsymmetricKeyAlgorithmProvider.OpenAlgorithm(AsymmetricAlgorithmNames.RsaPkcs1);
CryptographicKey keyPair = rsaGenKeys.CreateKeyPair(2048);
byte[] privateKeyBlob = keyPair.Export(CryptographicPrivateKeyBlobType.Pkcs1RsaPrivateKey).ToArray();
string privateKeyBlobStr = Convert.ToBase64String(privateKeyBlob);
byte[] publicKeyBlob = keyPair.ExportPublicKey().ToArray();
string pubilcKeyBlobStr = Convert.ToBase64String(publicKeyBlob);
Now the receiver of this data is a Silverlight application and uses RSACryptoServiceProvider
( System.Security.Cryptography
) to load this public key:
RSACryptoServiceProvider rsaPublic = new RSACryptoServiceProvider();
byte[] keyBlobBytes = Convert.FromBase64String(keyBlob);
rsaPublic.ImportCspBlob(keyBlobBytes);
Where keyBlob is a byte array holding a public key. The problem is that when ImportCspBlob is called, it throws an exception saying "Bad provider version".
+3
source to share
No one has answered this question yet
Check out similar questions: