1

セキュリティ トークンを使用してファイル (任意の拡張子) に署名する単純な Java アプリを作成しようとしています。

トークンからすべての情報を読み取り、それを使用してファイルに署名する必要があります。これにより、後で署名されたファイルをロードし、元のファイルと他のすべての情報を取得できます。

これが私が現時点で持っているサンプルコードです。私が見る主な問題は、異なるトークンが異なる.dllを持つことができ、これの抽象化のようなものが必要なことです。

    String pkcs11config = "C:/Documents and Settings/nsaul/Escritorio/Lib/ep2pk11.cfg";

    Provider p = new sun.security.pkcs11.SunPKCS11(pkcs11config);

    //Use the provider
    char [] pin = {'#', '#', '#', '#', '#', '#', '#', '#'};
    KeyStore ks = KeyStore.getInstance("PKCS11",p);
    ks.load(null, pin); 

私が必要とすることを行うと思われる C# のガイドを見つけましたが、Java はプロジェクトの要件です。

https://docs.microsoft.com/en-us/dotnet/standard/security/how-to-access-hardware-encryption-devices

4

1 に答える 1

0

利用可能な抽象化はありません。自分で作成する必要があります。要件が複数の潜在的なプロバイダーをサポートすることである場合 (different tokens can have different dllプロバイダー間に微妙な違いがあるため、それが意味するものだと思います。それぞれを担当するクラスを作成する必要があります)すべてのアクションに対して明確に定義されたインターフェイスを実装し
ます. コードの残りの部分では、そのインターフェイスを使用するだけで、依存性注入などを使用して、現在のインストールに応じて適切な具象プロバイダー ハンドラーを使用できます。

于 2013-01-23T20:58:12.520 に答える