J'ai repris le projet dans lequel de nombreuses informations d'identification Jenkins contiennent des mots de passe ou des chaînes de mots de passe que je dois connaître pour progresser dans le projet. Malheureusement, ils n'ont été documentés nulle part.
J'ai vérifié le credentials.xml
fichier dans lequel ces informations d'identification sont stockées, mais elles ne sont pas en texte brut, par exemple:
<passphrase>{AAAAAAAAAAAANzxft/rDzyt8mhxpn3O72dxvVqZksL5vBJ4jNKvAjAA=}</passphrase>
Remarque: je l'ai légèrement modifié pour des raisons de confidentialité.
Comment puis-je déchiffrer son mot de passe d'origine en fonction de la chaîne ci-dessus?
jenkins
encryption
Kenorb
la source
la source
"{...}"
supprimez extra une fois.Réponses:
Heureusement, il existe une
hudson.util.Secret.decrypt()
fonction qui peut être utilisée pour cela, alors:/script
page.Exécutez la commande suivante:
ou:
où
{XXX=}
est votre mot de passe crypté. Cela imprimera le mot de passe en clair.Pour faire le contraire, lancez:
Source: Gist at
tuxfight3r/jenkins-decrypt.groovy
.Vous pouvez également vérifier les scripts suivants:
tweksteen/jenkins-decrypt
,menski/jenkins-decrypt.py
.Pour plus de détails, consultez: Stockage des identifiants dans Jenkins .
la source
Voici un court extrait que vous pouvez simplement exécuter à partir de la console de script jenkins, pour vider toutes vos informations d’identité en texte brut.
Une version plus compliquée répertoriant les fournisseurs d'informations d'identification non-système:
la source
Pour mémoire, le fragment de code suivant à coller dans la console fait également le travail:
la source