1
我有一個小程序,允許用戶使用其個人證書籤署文檔。小程序已經簽名,但是當它嘗試加載密鑰庫時,我得到了與sunMSCAPI相關的訪問被拒絕錯誤。它被引起的以下幾行代碼:如何在小程序中使用MSCAPI加載密鑰庫
store = KeyStore.getInstance("Windows-MY");
store.load(null, null);
據我瞭解小程序簽名的,有簽名過程後,沒有額外的步驟,我需要通過(編輯策略文件和等)跳。我試圖包裝所有的小程序功能:
AccessController.doPrivileged(new PrivilegedAction() {
public Object run() {
etc...
但這並沒有幫助。我已經紮根,並在各種論壇上發現一些評論,sunMSCAPI僅在JDK 6中可用...我已經得到了。我的想法已經過時,任何幫助都將不勝感激。
潛在的援助,這裏的拒絕訪問錯誤的堆棧跟蹤:
java.security.AccessControlException: access denied (java.security.SecurityPermission authProvider.SunMSCAPI)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at sun.security.mscapi.KeyStore.engineLoad(KeyStore.java:736)
at sun.security.mscapi.KeyStore$MY.engineLoad(KeyStore.java:43)
at java.security.KeyStore.load(Unknown Source)
at com.bloop.signature.PKCS11.loadKeyStore(PKCS11.java:42)
at com.bloop.signature.PKCS11.sign(PKCS11.java:29)
at com.bloop.signature.applet.SignApplet.signDocument(SignApplet.java:103)
at com.bloop.signature.applet.SignApplet.access$200(SignApplet.java:19)
at com.bloop.signature.applet.SignApplet$1.run(SignApplet.java:64)
at java.lang.Thread.run(Unknown Source)