我的產品需要能夠生成.snk文件(不需要在系統上安裝Microsoft SDK)。 我可以生成一個工作SNK文件,但我似乎無法讓它在指定密碼時起作用。 任何人都可以給我一些指針? 這是我到目前爲止有:如何使用.net庫生成強名稱SNK密鑰文件
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);
}
}
當「密碼」不爲空,「provider.ExportCspBlob」生成錯誤「指定了無效的類型」 – Adam 2011-05-31 04:36:42