2014-09-10 90 views
0

我試圖導入/安裝客戶端證書到IE中,但我在我的js代碼中收到以下錯誤。導入客戶端證書在IE瀏覽器中使用javascript

function ImportClientCertificate() 
     {   
      try { 
       var objCertEnrollClassFactory = document.getElementById("objCertEnrollClassFactory"); 

       var objEnroll = objCertEnrollClassFactory.CreateObject("X509Enrollment.CX509Enrollment"); 

       var sPKCS7 = "-----BEGIN CERTIFICATE-----" +    
       "MIIDADCCAmkCCQ..." + 
       "-----END CERTIFICATE-----" 

       objEnroll.Initialize(1); 

       //->this line causes the exception 
       objEnroll.InstallResponse(3, sPKCS7, 1, "correctpassword"); 
      } 
      catch (ex) { 
       alert(ex.description); 
       /*Exception being thrown: CertEnroll::CX509Enrollment::InstallResponse: Access is denied. 0x80070005 (WIN32: 5 ERROR_ACCESS_DENIED)*/ 
      } 
     } 

什麼可能是這種例外的原因?我已經嘗試將IE中的安全級別設置爲低,但這並沒有幫助。手動將證書安裝到用戶專用證書存儲區中可以正常工作。

任何幫助,高度讚賞。

+0

你是否管理過還用javascript導入pfx? – madduci 2017-04-05 12:29:30

回答

0

經過兩天的網絡研究,我終於找到了如何讓這個腳本工作。我發現IE 11的唯一解決方案是在IE設置框中啓用以下選項。

ActiveX settings

相關問題