2017-08-25 83 views
0

我試圖解密這是我在詹金斯結果如下(該腳本在詹金斯腳本控制檯上運行)設置了代理服務器配置的密碼:詹金斯得到代理密碼

import jenkins.model.* 
import jenkins.hudson.* 

def instance = Jenkins.getInstance() 
def proxy = ProxyConfiguration.load() 
def encrProxy = proxy.getEncryptedPassword() 

// returns the encrypted Password {AQAAABAAAAAQhUGoRgQUrP6/***************** } 
println(instance.proxy.getEncryptedPassword()) 
// returns the encrypted Password {AQAAABAAAAAQhUGoRgQUrP6/***************** } 
println(proxy.getEncryptedPassword()) 

// returns empty strings 
println proxy.getPassword() 
// returns empty strings 
println(instance.proxy.getPassword()) 

// returns empty strings 
println hudson.util.Secret.decrypt(instance.proxy.getEncryptedPassword()) 
// returns empty strings 
println hudson.util.Secret.decrypt(proxy.getEncryptedPassword()) 

解密來自credentials.xml的密碼雖然​​可以正常工作。

但不知何故詹金斯可以解密密碼,因爲連接來驗證代理工作正常。

我錯過了什麼嗎?

回答

0

這對我的作品

def pass = jenkins.model.Jenkins.getInstance()?.proxy?.getPassword() 
println "password = $pass" 

,如果我們都在談論Jenkins > Plugin Manager

+0

致謝Advanced選項卡中設置代理服務器密碼!經過一番研究,我找到了原因,爲什麼設置了密碼字段,並將一個加密的字符串si寫入代理配置。 https://issues.jenkins-ci.org/browse/JENKINS-28534 – markan