Jenkins解密API令牌

时间:2017-06-22 20:17:54

标签: encryption jenkins aes

我使用Jenkins和DC / OS(Mesos)并且该服务没有标准登录,而是使用Mesos / Zookeeper进行身份验证。我可以访问JENKINS_HOME并为每个用户提供配置文件。我看到了config.xml,还看到了secret.key。我找到了这段代码:

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

其目的是从配置中解码Jenkins API令牌。但是,当我运行它时,我收到以下错误:

/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>'

以下是令牌和密钥(来自Docker Jenkins测试容器)的示例:

config.xml中的密码:

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

密钥:

bdafc86eae946c35ca57d3af02a82b733741d59e1eca44e0a3f7ef0b8f25f8e6

如何使用密码和密钥解码令牌?

2 个答案:

答案 0 :(得分:0)

去吧 http://jenkins-host/script

Email_text.placeholderRect(forBounds: CGRect(x: 10, y: 0 , width: 60, height: 50))

它应该解密您的令牌

答案 1 :(得分:0)

您可以通过转到节点中的脚本控制台来解码Jenkins令牌(或转到/script),然后运行以下命令:

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

注意:将{XXX=}替换为您的令牌字符串。

要在不使用Jenkins的情况下解密它,请查看以下脚本:  tweksteen/jenkins-decryptmenski/jenkins-decrypt.py

相关: