我有一个经过签名的usb驱动程序。我还有出版商提供的证书。如果我尝试用pnputil
安装驱动程序
pnputil /add-driver CerttName.cer /install
有人问我是否要将发布服务器添加到受信任的发布服务器
为了避免这种情况,我尝试以编程方式将证书添加到受信任的发布者
string file = @"C:CertificatesCertName.cer";
X509Store store = new X509Store(StoreName.TrustedPublisher, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadWrite);
store.Add(new X509Certificate2(X509Certificate2.CreateFromCertFile(file)));
store.Close();
证书已添加,但pnputil
仍提示我将发布服务器添加到受信任的发布服务器
如果我使用certutil
certutil -addstore "TrustedPublisher" CertName.cer
则CCD_ 4不会提示我。
我还尝试从certmgr.msc手动导入证书,但也不起作用。
我不明白为什么只有certutil
有效,而其他方式(特别是X509Store(无效。
问题是您在CurrentUser
存储中安装证书,而证书必须在LocalMachine
存储中显示。Certutil默认为本地计算机。
X509Store store = new X509Store(StoreName.TrustedPublisher, StoreLocation.LocalMachine);