Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从usb令牌中删除证书。错误:找不到智能卡_C#_X509certificate2_Capicom - Fatal编程技术网

C# 从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.

如何使用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.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;}