17.7.3. Obtenez le mot de passe Keystore d'une source externe
Vous pouvez également utiliser les méthodes EXT, EXTC, CMD, CMDC ou CLASS dans la configuration d'archivage sécurisé pour obtenir le mot de passe Keystore Java.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
<vault-option name="KEYSTORE_PASSWORD" value="[here]"
<vault-option name="KEYSTORE_PASSWORD" value="[here]"
Les descriptions des méthodes sont indiquées ci-dessous :
{EXT}...: fait référence à la commande exacte pour laquelle ‘…’ est la commande exacte. Exemmple :{EXT}/usr/bin/getmypassword --section 1 --query company, exécutez la commande/usr/bin/getmypasswordqui affiche le mot de passe ou la sortie standard, et l'utilise comme mot de passe pour le keystore de l'archivage sécurisé. Dans cet exemple, la commande utilise deux options : --section 1 et --query company.{EXTC[:expiration_in_millis]}...: fait référence à la commande exacte pour laquelle '...' est la ligne de commande précise qui est passée à la méthode Runtime.exec(String) pour exécuter une commande de plateforme. La première ligne de la sortie de commande est utilisée comme mot de passe. La variante EXTC met en cache les mots de passe pour expiration_in_millis milliseconds. L'expiration du cache par défaut est 0 (zéro), ce qui signifie que les éléments mis en cache n'expirent jamais. Exemple :{EXTC:120000}/usr/bin/getmypassword --section 1 --query companyvérifie si le cache contient une sortie/usr/bin/getmypassword, et s'il contient la sortie, alors utilisez-la. S'il ne contient pas de sortie, exécutez la commande pour la faire aller dans le cache, et utilisez-la. Dans cet exemple, le cache expire dans 2 minutes (120000 millisecondes).{CMD}...ou{CMDC[:expiration_in_millis]}...: la commande générale est une chaîne délimitée par ',' où la première partie correspond à la commande et le reste correspond aux paramètres. La virgule peut être à la place une barre oblique de retour pour demeurrer dans le paramètre. Exemple,{CMD}/usr/bin/getmypassword,--section,1,--query,company{CLASS[@jboss_module_spec]}classname[:ctorargs]où [:ctorargs] est une chaîne optionnelle délimitée par ':' du nom de classe qui va être passé au nom de classe ctor. Le ctorargs lui-même correspond à une liste de chaînes délimitées par des virgules. Exemple,{CLASS@org.test.passwd}org.test.passwd.ExternamPassworProvider. Dans cet exemple, nous chargeons la classeorg.test.passwd.ExternamPassworProviderdu moduleorg.test.passwdet on utilise la méthodetoCharArray()pour obtenir le mot de passe. SitoCharArray()n'est pas disponible, utiliser la méthodetoString(). La classeorg.test.passwd.ExternamPassworProviderdoit posséder le constructeur par défaut.