Mi producto debe ser capaz de generar archivos .snk (sin tener instalados SDK de Microsoft en el sistema). Puedo generar un archivo SNK en funcionamiento, pero parece que no puedo hacerlo funcionar cuando especifico una contraseña. ¿Alguien puede darme algunos consejos? Esto es lo que tengo hasta ahora:Cómo generar un archivo de clave SNK con nomenclatura para bibliotecas .net
internal static void CreateKeyPairFile(string fileName, int keySize, string password)
{
if ((keySize % 8) != 0)
{
throw new CryptographicException("Invalid key size. Valid size is 384 to 16384 mod 8. Default 1024.");
}
CspParameters parms = new CspParameters();
parms.KeyNumber = 2;
if (null != password)
{
var passwordString = new System.Security.SecureString();
foreach (char c in password)
{
passwordString.AppendChar(c);
}
parms.Flags = CspProviderFlags.UseUserProtectedKey;
parms.KeyPassword = passwordString;
}
RSACryptoServiceProvider provider = new RSACryptoServiceProvider(keySize, parms);
byte[] array = provider.ExportCspBlob(!provider.PublicOnly);
using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write))
{
fs.Write(array, 0, array.Length);
}
}
Cuando 'contraseña' no es nulo, "provider.ExportCspBlob" genera el error "tipo especificado no válido" – Adam