Unable to succesfully create/update PEM Certificate Credentials

I am trying to create/update a PEM credential
However, no matter what i do, the following messages appear in Credential Store for that Credential, even tho the api-call itself always says succesfull:

  • “No certificates where provided”
  • “No Keys Provided”

But if i put in the values via the GUI it al works fine

Anybody got an idea what i am doing wrong ??

The api-call (from ansible):

        - name: Create Credential '{{ jenkins_Credential_Id }}'
          when: getCredential is failed
          ansible.builtin.uri:
            url: "{{ jenkinsUrl }}/credentials/store/system/domain/_/createCredentials"
            method: "POST"
            status_code: 200
            body: "{{ lookup('ansible.builtin.template', jenkins_Credential_Type + '.xml.j2') }}"
            force_basic_auth: true
            return_content: true
            url_username: "{{ jenkins_userid }}"
            url_password: "{{ jenkins_password }}"
            headers:
              Content-Type: "text/xml"
              Cookie: "{{ response_crumb.cookies_string }}"
              Jenkins-Crumb: "{{ response_crumb.json.crumb }}"

The xml body:

<com.cloudbees.plugins.credentials.impl.CertificateCredentialsImpl>
  <scope>{{ jenkins_Credential_Scope }}</scope>
  <id>{{ jenkins_Credential_Id }}</id>
  <description>{{ jenkins_Credential_Description }}</description>
  <keyStoreSource class="com.cloudbees.plugins.credentials.impl.CertificateCredentialsImpl$PEMEntryKeyStoreSource">
    <certChain>{{ jenkins_Credential_CertificateChain | escape }}</certChain>
    <privateKey>{{ jenkins_Credential_PrivateKey | escape }}</privateKey>
  </keyStoreSource>
  <password>{{ jenkins_Credential_Password | escape }}</password>
</com.cloudbees.plugins.credentials.impl.CertificateCredentialsImpl>

The variables:

{
  "jenkins_Credential_Id": "Ansible PEM",
  "jenkins_Credential_Type": "CertificateCredentials_PEM",
  "jenkins_Credential_CertificateChain": "-----BEGIN CERTIFICATE----- MIIFuTCCA6GgAwIBAgIUduEYCCgcLQdMBl59DlJ2mDE0hMQwDQYJKoZIhvcNAQEL BQAwbDELMAkGA1UEBhMCTkwxFTATBgNVBAcMDERlZmF1bHQgQ2l0eTEZMBcGA1UE CgwQRHV0Y2ggVGF4IE9mZmljZTErMCkGA1UEAwwib3dzb2VsNDA1MDgub250LmJl bGFzdGluZ2RpZW5zdC5ubDAeFw0yNTA3MDgxOTAxMjFaFw0zNTA3MDYxOTAxMjFa MGwxCzAJBgNVBAYTAk5MMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxGTAXBgNVBAoM EER1dGNoIFRheCBPZmZpY2UxKzApBgNVBAMMIm93c29lbDQwNTA4Lm9udC5iZWxh c3RpbmdkaWVuc3QubmwwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDU QlPVX4Mqta63Ho5lXdNBx1oDXED6E+jb7Uyo8YmK6pQOME1ieM0J1YbjWtxtOqtR U6BoyOdSCYmI8xLdGAYXksAOLNz0N9nRo63urwt5Gz0f2D9h5MO+1s5YcKlET4g+ CmWS6x1MUT0VHtaZPy2WV9A14zn6NxJqGwG6X43dpgvaeQ0K9Rfx4Vj4S2UxvvrW 8h/74egx/8iNxUCPYNprGlR8j9UqCrvP5Y6MtHcN9J6dUUzL1Pr7InYk//gC9wCE OH01K9B6GLW+waG9UM9U27sA0fFDfIE8bn8QcnY/8pe4wV0Z26D1QakWyj43xkoP 9yqdLzarM5iX552/tQj5P4f6qk+5qYUqDLNvmYpjF84y1pINdEzSMpErQnm1ggfZ 0yrSaH+4Jg7b67dU/o7FLJKXTXI6JHSuUzqkAMa27FoDQgaePvXZ/Su1gtNnR5pM orF0kqUrmmIzUn4iZvI0pDLApqhRWdVMGA2mpb5Qk6tI0rvFPy0r/ZWTNNqQSDJv VvWIwS3qCcj7MJffBq1XvXBve05dM8REBZtxmV7wCbPJfd2e0ffkN2cKXu7DivW1 KCn6gGuKY/mdD8iHmZr/qzdO8MrcLH5O8Ji9pOB7ZC+hENIMCVhvVUkEESC5HY6D RhED9s6vsb41ajt3gkXNVQQ/mYCbcOjizMkH4ulhNQIDAQABo1MwUTAdBgNVHQ4E FgQU0z18oeV+65O17zMP/n0etBBZvn8wHwYDVR0jBBgwFoAU0z18oeV+65O17zMP /n0etBBZvn8wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEACHHY U456uyDOMm0KUdCy9V+dcPRNn1jToamwDgBGco7QwH0akUOX2He5GKC1r5tr/vHI MOz3urFAA5kFk01ml1uonmc3V5jl/PrbA1ayQUrSWaQKU9M5CTJXds2je5nzuIri xZnEE68P/rnNshpZeOB+Ow01lkf/zu/m4WTuJFW4cwbcD59w4HXAEFmyr0CbL40U 4WAQZCU7Bc9sIBOeRhO9f5gZRD3wtcdY6DEUOFIuJ3nPd9/zz681Lt25r2IYRc90 Tf+G+c2e1JqsaPjcJ7B5yQAPfsyLnWWEo7gX9YRd7gpR2yPldveLTnGwHs+UnOLu WDKxrvm3tAtFAW9ibWqrvaKtRKU949hfSeFrr8yUB3qkTIogO8cm74qfx8naNcvt HPwmUCGpXjNifsLy4HTtvBgforamvvO3IxtqczguT72Pt7SMHR3/XIC+OECkg9pn d8JIYwOXOHYM6qpU+DWf0Dskns0ipC76yT53qIQUP8+hvMBKrjXeOJIV/hwyeQ5b PwkwqSyoXqdl5LtbhuuYmHA9iaH89E6mI5PoggdJ2pw03VbJCmQ6cQAHd/DmWEhQ N3s4yiu2i295OTPIof0Lko13g6beG/jOCLZmG2a10CesR0d6Htk+nxgJP45GknM0 GWyqgxveuHhvtI1aH7brsZbQs3T8rRJGHTxTevk= -----END CERTIFICATE-----",
  "jenkins_Credential_PrivateKey": "-----BEGIN PRIVATE KEY----- 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 DGt10GSCh2wy/JpL+9GTFj0eNNHEmQ== -----END PRIVATE KEY-----",
  "jenkins_Credential_Password": ""
}

Jenkins setup:
Jenkins version: 2.504.2
Credential plugin: 1415.v831096eb_5534

Note*
No worries, the certificate and keys are just dummies used for testing, so no secrets :wink: