我已经编写了一个非常小的程序来对字符串进行签名,例如:
我是签名人,负责将我的财产交给...
运行程序时,出现以下Windows Security
弹出窗口:
但是最终用户不知道它要签名的内容。他应该信任我的程序,而该程序显然不值得信任。
是否可以在此弹出窗口中添加一些信息或缩小使用范围?
这是我的小程序:
using System;
using System.Text;
using System.Security.Cryptography.X509Certificates;
using System.Security.Cryptography;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
foreach (var cert in store.Certificates)
{
string desc = cert.GetNameInfo(X509NameType.SimpleName, true);
if (desc.Contains("WISeKey"))
{
RSA pk = cert.GetRSAPrivateKey();
byte[] buffer = Encoding.Default.GetBytes("Hello World ... !");
byte[] signature = pk.SignData(buffer, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
System.Console.WriteLine(BitConverter.ToString(signature));
break;
}
}
Console.ReadLine();
}
}
}