2017-06-22 12 views
3

私はDC/OS(Mesos)でJenkinsを使用しています。サービスには標準ログインはなく、Mesos/Zookeeperを認証に使用しています。私はJENKINS_HOMEにアクセスし、各ユーザーの設定ファイルを入手できます。私はconfig.xmlを見て、secret.keyも見ています。Jenkins Decrypt APIトークン

目的設定からジェンキンスAPIトークンをデコードすることである

https://github.com/abrindeyev/jenkins-helpers/blob/master/bin/get_api_token.rb

:私はこのコードを発見しました。しかし、私はこれを実行すると、私は次のエラーを取得:

/root/decrypt_api.rb:28:in `final': wrong final block length (OpenSSL::Cipher::CipherError) 
from /root/decrypt_api.rb:28:in `decrypt' 
from /root/decrypt_api.rb:35:in `<main>' 

をここで例(ドッカージェンキンステストコンテナから)トークンとキーだ:config.xmlの

暗号:

<jenkins.security.ApiTokenProperty> 
<apiToken>{AQAAABAAAAAwrkIhJkGOx+QkqgJ/Ep8NhecxeWcqAs78RI9v5kr8y1FSCJBA4YFHrneQGxmetsj3/xSywFRXItIbtuCufWR6ng==}</apiToken> 
</jenkins.security.ApiTokenProperty> 

秘密鍵:

bdafc86eae946c35ca57d3af02a82b733741d59e1eca44e0a3f7ef0b8f25f8e6 

私は暗号およびキーでトークンをデコードするにはどうすればよいですか?

+0

あなたが実際には行って、ここであなたのトークンと鍵を掲載いませんでした教えてください?あなたは答えを得た後にそれらを変えたいと思うでしょう。 – Clint

+0

私が記事で触れたように、これは私がスピンアップしたDockerコンテナからのものです。私はテスト以外の目的でこのインスタンスを使用していません。 –

+0

[Jenkinsのcredentials.xmlからのパスフレーズの抽出](https://stackoverflow.com/questions/37683143/extract-passphrase-from-jenkins-credentials-xml)の可能な複製 – kenorb

答えて

0

それは、その後、あなたはあなたのマスターノード(または/scriptに行く)にスクリプトコンソールに行くことによってジェンキンストークンをデコードすることができ、あなたのトークン

0

を復号化する必要があり http://jenkins-host/script

hashed_pw='your-sercret-hash-S0SKVKUuFfUfrY3UhhUC3J' 
passwd = hudson.util.Secret.decrypt(hashed_pw) 
println(passwd) 

に行きます次のコマンドを実行します。

println(hudson.util.Secret.decrypt("{XXX=}")) 

注:{XXX=}をトークン文字列に置き換えてください。


、ジェンキンスを使用せずに、それを復号化するこれらのスクリプトチェックアウトするには: tweksteen/jenkins-decryptを、menski/jenkins-decrypt.py


関連: