私の目標は、CACカードから情報を読み取り、pkcs11
を使用して情報を抽出し、文書に署名することです。私は私のハードウェアのための右のdllを見つけることができなかったので、私は私のマシン上でopenSC
をインストールし、次のコードでopensc-pkcs11.dll
を使用:java.security.KeyStoreException:PKCS11が見つかりません
String configName = "pkcs.cnf"; //my config file that points to opensc-pkcs11.dll
String PIN = "123456";
Provider p = new sun.security.pkcs11.SunPKCS11(configName);
Security.addProvider(p);
KeyStore keyStore = KeyStore.getInstance("PKCS11");
char[] pin = PIN.toCharArray();
keyStore.load(null, pin);
しかし、私は、次の場所でのエラーを取得しています
KeyStore keyStore = KeyStore.getInstance("PKCS11");
java.security.KeyStoreException: PKCS11 not found
at java.security.KeyStore.getInstance(Unknown Source)
Caused by: java.security.NoSuchAlgorithmException: no such algorithm: PKCS11 for provider SunPKCS11-FooAccelerator
at sun.security.jca.GetInstance.getService(Unknown Source)
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at java.security.Security.getImpl(Unknown Source)
... 2 more
ヘルプ:エラースタックトレースを持つ
!
を私は問題があなたの.dllであると信じて、チェックを正しいdllファイルを参照している場合 – mhasan
KeyStoreを使用しない理由KeyStore = KeyStore.getInstance( "PKCS11"、p);キーストアを取得すると、あなたの問題に近づくのを助けるかもしれません – mhasan
@mhasan、どちらもうまくいきませんでした。インターネットからdllをダウンロードできますか?私はCACカードを使用しています – dexter