Jira Integration failed with unkown sll error even openssl works
### Summary
We self host our JIRA and GitLab (Docker).
We want to integrate the JIRA Features in Gitlab like descripted here: https://docs.gitlab.com/ee/user/project/integrations/jira.html
We entered a valid administrator account in username / password-fields.
We entered a valid url (https://jira.DOMAIN.int:8443).
We looked for the right transition ID and entered it (71 in our case).
Error: Test failed. Save anyway.
**The integration_json.log shows:
SSL_connect returned=1 errno=0 state=error: certificate verify failed (unspecified certificate verification error)**
What we have done so far?
- entered the correct host in /etc/hosts
- download the self signed certificat with Chrome in 3 files (main certificat and 2 roots certificat)
- Run reconfigure in gitlab and see the output, that all 3 files are recognized in Recipe: gitlab::add_trusted_certs
- Look in the /opt/gitlab/embedded/ssl/certs and see 3 correct system links to the 3 files in /etc/gitlab/trusted-certs
- Run OpenSSL from Gitlab: Connected!
*root@c9cab22e6481:/etc/gitlab# echo | /opt/gitlab/embedded/bin/openssl s_client -connect jira.xxx.int:8443
CONNECTED(00000003)
Can't use SSL_get_servername
depth=0 C = DE, ST = RLP, L = KO, O = xxx AG, OU = GOE, CN = JIRA
verify return:1
Certificate chain
0 s:C = DE, ST = RLP, L = KO, O = xxx AG, OU = GOE, CN = JIRA
i:C = DE, ST = RLP, L = KO, O = xxx AG, OU = GOE, CN = JIRA
Server certificate
-----BEGIN CERTIFICATE-----
MIIDVTCCAj2gAwIBAgIEU135NjANBgkqhkiG9w0BAQsFADBbMQswCQYDVQQGEwJE
RTEMMAoGA1UECBMDUkxQMQswCQYDVQQHEwJLTzEUMBIGA1UEChMLR09FUkxJVFog
QUcxDDAKBgNVBAsTA0dPRTENMAsGA1UEAxMESklSQTAeFw0xODA3MjMxMDU0NTRa
Fw0yMjA4MzExMDU0NTRaMFsxCzAJBgNVBAYTAkRFMQwwCgYDVQQIEwNSTFAxCzAJ
BgNVBAcTAktPMRQwEgYDVQQKEwtHT0VSTElUWiBBRzEMMAoGA1UECxMDR09FMQ0w
CwYDVQQDEwRKSVJBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjeh6
g6I5ErXj6ZaIf9f+RIHZRbDDjRxk1APXWN914iO6EA+l/tdGvSKY0e4WJu16hOPn
klUYq+iaMKVE9LTezu7W1LZ2r+QiDMus7GV3z+x1wq3UZ8m/Mxnr4iiz6WIemWEY
Gdifmsa6BVicai/RZs3sQeVpuO3qovKbKV1DxbJ9TX+g2OFrEYqwE6mZiRR23/kp
IzOeNOlhWtVYyjRXpIMmyGpWE+/H3ijVIMKBe2UDb59ORsxILGIk9llfDBWw7e1h
Zx7MfCwQ5tb5B75a1He4ROAolymYigszgU+lEwmFcM+cu58gfyU99eF/QaLESBSS
J3ZMP5+6xt2s3bCxEQIDAQABoyEwHzAdBgNVHQ4EFgQU3SRIHlvXyp+CDR5SCNww
ramoI8kwDQYJKoZIhvcNAQELBQADggEBAB/mB7rys9JHZdvxzXI9z068MjXVifcK
jif2GoSV3LC1PQXET4OxcpLdEVCuZP9KFKOQBYriblrlxT7uXoipqZ0VNN7EgYNv
ivEZcKV6+JtkASCJMD1Tv1iWqoKZeJHgu2EJVQUnL3ZOsl4u57awYAaou8u25O1s
ZtRe4V6GKdgetsp98qMK0B0YLM2+Ot8Nb2sWE6m+gDbMizRblny9hbv9znJbNSWE
WgDmPK+ZKJQyumXZU+oJ5bvmPfA79H69mqytHRl42d7ql9yQlscuBYGVHoxevOKk
Z94kd889sAjF2dZR7nc2JN4rV1qUNDB4tHV+o0RTmw9hBMg+E6sPYa4=
-----END CERTIFICATE-----
subject=C = DE, ST = RLP, L = KO, O = xxx AG, OU = GOE, CN = JIRA
issuer=C = DE, ST = RLP, L = KO, O = xxx AG, OU = GOE, CN = JIRA
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA
Server Temp Key: ECDH, P-256, 256 bits
SSL handshake has read 1345 bytes and written 419 bytes
Verification: OK
New, TLSv1.2, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-GCM-SHA384
Session-ID: 5F0445083881A3E4B6DE86A7C1238D35F05BFBB914FD9F8E6F463C4CA87BFF03
Session-ID-ctx:
Master-Key: 5CF9A153121058D6E1D9D3D0D63F8A17BB813ED22464FFA8A35398F8069D34580359299E6EA80E08413D9B2524714B7C
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1594115336
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: yes
DONE*
- Run openssl x509 -in /etc/gitlab/trusted-certs/certificat.cer -text -noout
*Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1398667574 (0x535df936)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C = DE, ST = RLP, L = KO, O = xxx AG, OU = GOE, CN = JIRA
Validity
Not Before: Jul 23 10:54:54 2018 GMT
Not After : Aug 31 10:54:54 2022 GMT
Subject: C = DE, ST = RLP, L = KO, O = xxx AG, OU = GOE, CN = JIRA
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:8d:e8:7a:83:a2:39:12:b5:e3:e9:96:88:7f:d7:
fe:44:81:d9:45:b0:c3:8d:1c:64:d4:03:d7:58:df:
75:e2:23:ba:10:0f:a5:fe:d7:46:bd:22:98:d1:ee:
16:26:ed:7a:84:e3:e7:92:55:18:ab:e8:9a:30:a5:
44:f4:b4:de:ce:ee:d6:d4:b6:76:af:e4:22:0c:cb:
ac:ec:65:77:cf:ec:75:c2:ad:d4:67:c9:bf:33:19:
eb:e2:28:b3:e9:62:1e:99:61:18:19:d8:9f:9a:c6:
ba:05:58:9c:6a:2f:d1:66:cd:ec:41:e5:69:b8:ed:
ea:a2:f2:9b:29:5d:43:c5:b2:7d:4d:7f:a0:d8:e1:
6b:11:8a:b0:13:a9:99:89:14:76:df:f9:29:23:33:
9e:34:e9:61:5a:d5:58:ca:34:57:a4:83:26:c8:6a:
56:13:ef:c7:de:28:d5:20:c2:81:7b:65:03:6f:9f:
4e:46:cc:48:2c:62:24:f6:59:5f:0c:15:b0:ed:ed:
61:67:1e:cc:7c:2c:10:e6:d6:f9:07:be:5a:d4:77:
b8:44:e0:28:97:29:98:8a:0b:33:81:4f:a5:13:09:
85:70:cf:9c:bb:9f:20:7f:25:3d:f5:e1:7f:41:a2:
c4:48:14:92:27:76:4c:3f:9f:ba:c6:dd:ac:dd:b0:
b1:11
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
DD:24:48:1E:5B:D7:CA:9F:82:0D:1E:52:08:DC:30:AD:A9:A8:23:C9
Signature Algorithm: sha256WithRSAEncryption
1f:e6:07:ba:f2:b3:d2:47:65:db:f1:cd:72:3d:cf:4e:bc:32:
35:d5:89:f7:0a:8e:27:f6:1a:84:95:dc:b0:b5:3d:05:c4:4f:
83:b1:72:92:dd:11:50:ae:64:ff:4a:14:a3:90:05:8a:e2:6e:
5a:e5:c5:3e:ee:5e:88:a9:a9:9d:15:34:de:c4:81:83:6f:8a:
f1:19:70:a5:7a:f8:9b:64:01:20:89:30:3d:53:bf:58:96:aa:
82:99:78:91:e0:bb:61:09:55:05:27:2f:76:4e:b2:5e:2e:e7:
b6:b0:60:06:a8:bb:cb:b6:e4:ed:6c:66:d4:5e:e1:5e:86:29:
d8:1e:b6:ca:7d:f2:a3:0a:d0:1d:18:2c:cd:be:3a:df:0d:6f:
6b:16:13:a9:be:80:36:cc:8b:34:5b:96:7c:bd:85:bb:fd:ce:
72:5b:35:25:84:5a:00:e6:3c:af:99:28:94:32:ba:65:d9:53:
ea:09:e5:bb:e6:3d:f0:3b:f4:7e:bd:9a:ac:ad:1d:19:78:d9:
de:ea:97:dc:90:96:c7:2e:05:81:95:1e:8c:5e:bc:e2:a4:67:
de:24:77:cf:3d:b0:08:c5:d9:d6:51:ee:77:36:24:de:2b:57:
5a:94:34:30:78:b4:75:7e:a3:44:53:9b:0f:61:04:c8:3e:13:
ab:0f:61:ae*
- Flush trusted-certs-directory-hash with rm /var/opt/gitlab/trusted-certs-directory-hash
### Steps to reproduce
See Summary
### Example Project
Self hosted, cant to a example
### What is the current *bug* behavior?
"Test failed" in the GUI.
Error in the integration_json.log:
{"severity":"ERROR","time":"2020-07-07T09:34:38.352Z","correlation_id":"XRqyN3nTWLa","service_class":"JiraService","project_id":16,"project_path":"vivavis-mgt/vivavis.platform.management","message":"Error sending message","client_url":"https://jira.DOMAIN.int:8443","error":"SSL_connect returned=1 errno=0 state=error: certificate verify failed (unspecified certificate verification error)"}
### What is the expected *correct* behavior?
Working as intendet :) Save the formular at least without error.
### Relevant logs and/or screenshots
Integrations_json.log:
{"severity":"ERROR","time":"2020-07-07T09:34:38.352Z","correlation_id":"XRqyN3nTWLa","service_class":"JiraService","project_id":16,"project_path":"vivavis-mgt/vivavis.platform.management","message":"Error sending message","client_url":"https://jira:8443","error":"SSL_connect returned=1 errno=0 state=error: certificate verify failed (unspecified certificate verification error)"}
### Output of checks
(If you are reporting a bug on GitLab.com, write: This bug happens on GitLab.com)
#### Results of GitLab environment info
System information
System:
Proxy: no
Current User: git
Using RVM: no
Ruby Version: 2.6.6p146
Gem Version: 2.7.10
Bundler Version:1.17.3
Rake Version: 12.3.3
Redis Version: 5.0.9
Git Version: 2.27.0
Sidekiq Version:5.2.7
Go Version: unknown
#### Results of GitLab application Check
Checking GitLab subtasks ...
Checking GitLab Shell ...
GitLab Shell: ... GitLab Shell version >= 13.3.0 ? ... OK (13.3.0)
Running /opt/gitlab/embedded/service/gitlab-shell/bin/check
Internal API available: OK
Redis available via internal API: OK
gitlab-shell self-check successful
Checking GitLab Shell ... Finished
Checking Gitaly ...
Gitaly: ... default ... OK
Checking Gitaly ... Finished
Checking Sidekiq ...
Sidekiq: ... Running? ... yes
Number of Sidekiq processes ... 1
Checking Sidekiq ... Finished
Checking Incoming Email ...
Incoming Email: ... Reply by email is disabled in config/gitlab.yml
Checking Incoming Email ... Finished
Checking LDAP ...
LDAP: ... LDAP is disabled in config/gitlab.yml
Checking LDAP ... Finished
Checking GitLab App ...
Git configured correctly? ... yes
Database config exists? ... yes
All migrations up? ... yes
Database contains orphaned GroupMembers? ... no
GitLab config exists? ... yes
GitLab config up to date? ... yes
Log directory writable? ... yes
Tmp directory writable? ... yes
Uploads directory exists? ... yes
Uploads directory has correct permissions? ... yes
Uploads directory tmp has correct permissions? ... yes
Init script exists? ... skipped (omnibus-gitlab has no init script)
Init script up-to-date? ... skipped (omnibus-gitlab has no init script)
Projects have namespace: ...
11/1 ... yes
5/2 ... yes
8/3 ... yes
8/4 ... yes
8/5 ... yes
5/6 ... yes
5/7 ... yes
5/8 ... yes
12/9 ... yes
11/12 ... yes
11/13 ... yes
11/14 ... yes
5/15 ... yes
12/16 ... yes
13/19 ... yes
14/20 ... yes
8/21 ... yes
12/22 ... yes
17/24 ... yes
8/25 ... yes
Redis version >= 4.0.0? ... yes
Ruby version >= 2.5.3 ? ... yes (2.6.6)
Git version >= 2.22.0 ? ... yes (2.27.0)
Git user has default SSH configuration? ... yes
Active users: ... 6
Is authorized keys file accessible? ... yes
GitLab configured to store new projects in hashed storage? ... yes
All projects are in hashed storage? ... yes
Elasticsearch version 5.6 - 6.x? ... skipped (elasticsearch is disabled)
Checking GitLab App ... Finished
Checking GitLab subtasks ... Finished
issue