【发布时间】:2021-05-18 17:26:31
【问题描述】:
我需要每天向网络服务发送数据,所以我制定了一个运行我的代码的计划任务。问题是网络服务需要一个带有 PIN 码的证书。我已附上证书,但找不到设置 PIN 的方法,因此每次手动输入时都会显示一个弹出窗口。
这是我的证书代码:
private void SendData(string data)
{
using (SerWSService webService = new SerWSService())
{
string certificateSN = "serial number for the certificate";
webService.ClientCertificates.Add(FindCertificate(certificateSN));
webService.SendData(data);
}
}
private X509Certificate2 FindCertificate(string certserial)
{
X509Certificate2 WPE_UserCert = null;
X509Store wstore = default(X509Store);
wstore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
wstore.Open(OpenFlags.ReadOnly);
var wcerts = wstore.Certificates;
foreach (var wcert in wcerts)
{
if (wcert.SerialNumber.ToUpper() == certserial.Replace(" ", "").ToUpper())
{
WPE_UserCert = wcert;
break;
}
}
wstore.Close();
if (WPE_UserCert != null)
{
//TO DO: add PIN code to certificate
}
return WPE_UserCert;
}
有什么方法可以将 PIN 设置为证书?
【问题讨论】:
标签: c# certificate