Est-il un outil de ligne de commande pour générer des clés symétriques dans un keystore Java?
Je suis en train d'écrire une procédure sur la touche de renouveler ma demande. Cette procédure sera exécutée par un sysadmin chaque année.
Dans ma demande, il y a une clé symétrique utilisée pour chiffrer les données avant de les stocker dans la base de données. Cette clé est stockée dans un keystore Java.
Lorsque l'application doit stocker des données dans la base de données dans un langage chiffré façon, la clé alias à utiliser est lu à partir d'un fichier de configuration, la clé est lue à partir du keystore Java avec cette clé alias, les données sont chiffrées avec la clé et j'ai tout stocker dans la base de données: la clé alias, le Vecteur d'Initialisation et les données chiffrées, le tout séparé par des points-virgules.
Donc la procédure à suivre pour utiliser une autre clé est simple:
- générer une nouvelle clé symétrique dans le Keystore Java avec un autre alias
- modifier le fichier de configuration à utiliser cette nouvelle clé alias
Mais je ne connais pas un outil de ligne de commande qui permet de créer une clé symétrique dans un keystore Java. La java keytool
utilitaire ne peut que créer des paires de clés.
Est-il un outil de ligne de commande pour générer des clés symétriques dans un keystore Java ou devrais-je développer mon propre outil?
OriginalL'auteur cbliard | 2012-01-27
Vous devez vous connecter pour publier un commentaire.
keytool est en mesure de générer une clé secrète depuis la version 6 de Java avec le -genseckey commande. Voici un extrait de la La version 6 de Java keytool documentation:
Donc la commande suivante génère un nouveau AES 128 bits de la clé
La
keytool
de commande a une faute de frappe bug qui cache les informations d'aide à propos de-genseckey
:La
-genkeypair
de commande apparaît deux fois. En fait, le second-genkeypair
doit être lu-genseckey
. C'est pourquoi je n'ai pas remarqué la commande.J'ai rencontré cette faute de frappe d'un bug avec Java 1.6.0_26. J'ai checkd avec la dernière version de Java 6 (1.6.0_31) et il a le même problème. J'ai aussi vérifié avec la dernière version de Java 7 et la documentation problème est résolu:
merci pour le remarquer. Il ne produira pas d'erreur mais il n'est pas nécessaire non plus. J'ai édité la réponse de l'enlever.
BTW: Une chose importante est d'utiliser storetype JCEKS (comme il a été utilisé dans la réponse), par défaut JKS storetype ne prend pas en charge les clés privées.
OriginalL'auteur cbliard