I have one function witch check signature.
public static bool CheckSignature(string key64, string sig64)
{
var key = Convert.FromBase64String(key64);
var sig = Convert.FromBase64String(sig64);
var rsa = new RSACryptoServiceProvider(new CspParameters
{
Flags = CspProviderFlags.UseMachineKeyStore
});
rsa.FromXmlString("4IlzOY3Y9fXoh3Y5f06wBbtTg94Pt6vcfcd1KQ0FLm0S36aGJtTSb6pYKfyX7PqCUQ8wgL6xUJ5GRPEsu9 gyz8ZobwfZsGCsvu40CWoT9fcFBZPfXro1Vtlh/xl/yYHm+Gzqh0Bw76xtLHSfLfpVOrmZdwKmSFKMTvNXOFd0V18=AQAB");
var def = new RSAPKCS1SignatureDeformatter();
def.SetKey(rsa);
def.SetHashAlgorithm("MD5");
return def.VerifySignature(key, sig);
}
Now i need to create signature for one of my keys.
public static byte\[\] CreateSignature(string key64)
{
var data = Convert.FromBase64String(key64);
var rSaCryptoServiceProvider = new RSACryptoServiceProvider(new CspParameters
{
Flags = CspProviderFlags.UseMachineKeyStore
});
rSaCryptoServiceProvider.FromXmlString("4IlzOY3Y9fXoh3Y5f06wBbtTg94Pt6vcfcd1KQ0FLm0S36aGJtTSb6pYKfyX7PqCUQ8wgL6xUJ5GRPEsu9 gyz8ZobwfZsGCsvu40CWoT9fcFBZPfXro1Vtlh/xl/yYHm+Gzqh0Bw76xtLHSfLfpVOrmZdwKmSFKMTvNXOFd0V18=AQAB");
var RSAform = new RSAPKCS1SignatureFormatter();
RSAform.SetKey(rSaCryptoServiceProvider);
RSAform.SetHashAlgorithm("MD5");
byte\[\] hashData = CalculateMD5Hash(data);
return RSAform.CreateSignature(hashData);
}
But im getting an exception "Keyset does not exist" on "RSAform.CreateSignature(hashData)" line. Any suggestion?
Still amater