C# 从usb令牌中删除证书。错误:找不到智能卡
如何使用capicom从usb令牌中删除证书。C# 从usb令牌中删除证书。错误:找不到智能卡,c#,x509certificate2,capicom,C#,X509certificate2,Capicom,如何使用capicom从usb令牌中删除证书。 我写了这段代码,但它不起作用,我在MyStore.Open(CAPICOM\u smart\u card\u USER\u STORE,“My”,CAPICOM\u STORE\u Open\u READ\u WRITE)行中得到错误“找不到智能卡” 不起作用,但是否出现任何错误?尝试添加一些console.log,检查id做什么,不做什么。您的代码在未找到证书时的行为与此相同,当尝试删除itI figuer时出现错误时,我应该使用MyStore.
我写了这段代码,但它不起作用,我在MyStore.Open(CAPICOM\u smart\u card\u USER\u STORE,“My”,CAPICOM\u STORE\u Open\u READ\u WRITE)行中得到错误“找不到智能卡”
不起作用,但是否出现任何错误?尝试添加一些
console.log
,检查id做什么,不做什么。您的代码在未找到证书时的行为与此相同,当尝试删除itI figuer时出现错误时,我应该使用MyStore.remove(certobject);但此代码将从我的系统中的个人证书中删除证书,而不会从我的usb令牌中删除。我编辑了我的代码以使用usb令牌,但我收到新错误证书正在从capicom
有权访问的位置删除,证书存储。除此之外,您应该尝试使用javascript删除文件,这是一个完全不同的问题。默认情况下,浏览器没有对所有文件系统的读/写权限。此代码是javascript代码,我可以从系统个人证书存储中删除证书。我找了很多,但什么也没找到。我在token中颁发了一个新证书,并希望为客户删除旧证书。这是个坏主意吗?为什么不是每个人在网上都有这个问题呢?如果你还没有这样做,请撤销旧证书。如果它被撤销,尝试物理删除它的唯一原因是。。清理。您可以通过ActiveX而不是JavaScript功能从存储中删除证书。JavaScript不允许删除随机文件,您需要开发一个ActiveX来实现这一点
function DeleteCertificate(strUserCertigicateThumbprint) {
try {
if (strUserCertigicateThumbprint == null ||
strUserCertigicateThumbprint == "")
return null;
var oUtils = new ActiveXObject("CAPICOM.Utilities");
var MyStore = new ActiveXObject("CAPICOM.Store");
MyStore.Open(CAPICOM_SMART_CARD_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_WRITE);
var FilteredCertificates = MyStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SHA1_HASH, strUserCertigicateThumbprint);
if (FilteredCertificates.Count == 0)
return null;
else {
var cert = FilteredCertificates.Item(1);
MyStore.Remove(cert);
}
MyStore = null;
FilteredCertificates = null;
return true;
}
catch (e) {
MyStore = null;
FilteredCertificates = null;
}
return false;}