Encrypt/Decrypt using Groovy

38 views
Skip to first unread message

Mohan Radhakrishnan

unread,
Oct 31, 2016, 9:39:26 AM10/31/16
to Jenkins Users
Hi,
       I have a doubt here. This code encrypts but doesn't decrypt. Instead I get the encrypted string back from the decrypt function. Does it need state to be maintained between these two functions ?

Thanks,
Mohan

def encrypt(server ):
    value = server.run_script("""
    secret = hudson.util.Secret.fromString("Password")
    println secret.getEncryptedValue()
    """)
    print (value)

def decrypt(server ):
    decryptedvalue = server.run_script("""
    secret = hudson.util.Secret.fromString("zPc9cFNDcj8RuRIKigYfsTQMiuCrv1lO+Y5qqJXc6RQ=")
    println secret.getPlainText()
    """)
    return decryptedvalue

Sean McNamara

unread,
Oct 31, 2016, 9:56:41 AM10/31/16
to jenkins...@googlegroups.com
Instead of getPlainText(), try hudson.util.Secret.toString(secret)

If that doesn't work, then try printing both the encrypted value and
the plain text from the `secret` object in the encrypt method... if it
gives the result you expect, then yes, there seems to be an issue with
state. It might not be picking the right crypto algorithm if you're
doing this across different JVMs, for example.

Sean
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jenkinsci-use...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/0afdb0c5-9365-40d5-8e28-7a106dbcca78%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Mohan Radhakrishnan

unread,
Oct 31, 2016, 11:16:59 AM10/31/16
to Jenkins Users
I tried that. It didn't work.

Probably when I call from an external Python script there is not state ?

Mohan
Reply all
Reply to author
Forward
0 new messages