ハード トークンに証明書を発行する際に問題が発生しました。作成した PKCS12 キーストアがあり、それを PKCS11 としてハードトークンに移動したいと考えています。
キーと証明書を正常に生成して p12 キーストアに保存し、このデバイスの管理コンソールを使用して p12 ファイルをハードトークンにインポートできます。しかし、プログラムで最後のステップを実行しようとすると、結果が異なります。
管理ツールを使用してインポートされた p12 ファイルは、デバイスにあるものです
-
シリアル番号
-署名と鍵交換の使用法
証明書
秘密鍵
公開鍵
すべての手順をプログラムでインポート
-
シリアル番号
- 署名と暗号化
証明書
の秘密鍵
最終的な結果として、エンド ユーザーはデバイスを署名に使用できなくなります。SunPKCS11 を使用しています。
編集:キーのインポートに使用されるコード:
KeyStore.PrivateKeyEntry priEntry =
new KeyStore.PrivateKeyEntry(keys.getPrivate(), certificateArray);
KeyStore.PasswordProtection password =
new KeyStore.PasswordProtection(pass.toCharArray());
store.setEntry("Entry", priEntry, password);
EDIT 2 keytool -list
面白いことに、次のコマンド出力を使用すると、まったく同じ
keytool -keystore NONE -storetype pkcs11 -list が出力されます。