2011-03-03 60 views
0


我得到我的PKCS#11提供商麻煩。這裏是我的代碼:PKCS#11爪哇 - 無效訪問內存位置

String pkcs11ConfigFile = "C:\\pkcs11.cfg"; 
Provider pkcs11Provider = new sun.security.pkcs11.SunPKCS11(pkcs11ConfigFile); 
Security.addProvider(pkcs11Provider); 

pkcs11.cfg文件:

name = SmartCard 
library = C:\Program Files\CryptoTech\CryptoCard\CCPkiP11.dll 
slot = 3 

運行代碼後,我已經得到了異常:

 
java.security.ProviderException: Initialization failed 
     at sun.security.pkcs11.SunPKCS11.(SunPKCS11.java:340) 
     at sun.security.pkcs11.SunPKCS11.(SunPKCS11.java:86) 
     at signature.NewClass.main(NewClass.java:15) 
Caused by: java.io.IOException: Invalid access to memory location. 
C:\Program Files\CryptoTech\CryptoCard\CCPkiP11.dll 

PS。讀卡器連接,卡插入時,槽具有適當的值..

感謝您的幫助!

+0

您使用哪個JDK版本? – Alfabravo 2011-03-04 06:02:34

+0

JDK 1.6.0_23,當時最新的。 – monczek 2011-03-18 15:22:31

回答

0

聽起來像一個錯誤的PKCS#11模塊?

嘗試通過PKCS#11間諜使用它http://www.opensc-project.org/opensc/wiki/UsingOpensc

+0

我不知道是什麼原因造成的問題..我測試過我的代碼上的其他電腦,效果不錯。最後,格式c:保存了我的一天;) – monczek 2011-03-18 15:21:02