Accès aux périphériques de chiffrement matériel java


J'essaie de créer une application java simple qui utilise un jeton de sécurité pour signer un fichier (n'importe quelle extension).

Je dois lire toutes les informations du jeton et signer le fichier avec lui afin de pouvoir charger plus tard le fichier signé, obtenir le fichier d'origine et toutes les autres informations.

Voici l'exemple de code que j'ai pour le moment, le principal problème que je vois est que différents jetons peuvent avoir différents .dll et j'ai besoin de quelque chose comme une abstraction de cela.

    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); 

J'ai trouvé un guide en c# cela semble faire ce dont j'ai besoin mais Java est un requeriment pour le projet.

Http://msdn.microsoft.com/en-us/library/ms229931%28v=vs.110%29.aspx

Toute astuce vous aidera, merci d'avance.

Author: Nicolas Saul, 2013-01-23

1 answers

Il n'y a pas d'abstraction disponible, vous devrez en écrire une vous-même.Si vous devez prendre en charge plusieurs fournisseurs potentiels (je suppose que c'est ce que vous entendez par different tokens can have different dll car il existe des différences subtiles entre les fournisseurs, vous devez créer une classe responsable de chacun et implémenter une interface bien définie pour toutes les actions.
Dans le reste de votre code, vous utiliserez simplement cette interface et vous pourrez utiliser par exemple l'injection de dépendance pour utiliser le béton approprié gestionnaire de fournisseur selon l'installation en cours

 0
Author: Cratylus, 2013-01-23 20:58:12