我使用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
如何使用密码和密钥解码令牌?
答案 0 :(得分:0)
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-decrypt
,menski/jenkins-decrypt.py
。
相关: