Firma mea are un certificat pentru https://data.ddl.at, care are, printre altele, un SAN (Subject Alternative Name) pentru gitlab.ddl.at.
Acest Gitlab-Server este intern, iar numele domeniului este rezolvat doar de serverul nostru DNS intern.
Pentru referință, există și SAN https://sicher.ddl.at, care este public și este valid într-un browser.
Am configurat acest certificat pe Gitlab-Server și când merg la gitlab.ddl.at, certificatul este validat de browser și considerat valabil.
Problemele apar, odată ce încerc să folosesc un Gitlab-Runner.
Am unul instalat și înregistrat pe o altă mașină și, după ce am avut câteva probleme la început, l-am făcut să se conecteze la instanța principală, dar joburile încă nu pot verifica submodulele, runnerul primește Verificarea certificatului de server a eșuat.
Acum, aici pentru ceea ce cred că este un simptom principal al problemei:
Dacă fug openssl s_client -connect data.ddl.at:443, Eu iau:
CONECTAT(00000005)
adâncime=2 OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
verifica returnarea:1
adâncime=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Extended Validation CA - SHA256 - G3
verifica returnarea:1
depth=0 businessCategory = Private Organization, serialNumber = FN 374566h, jurisdictionC = AT, jurisdictionL = Wels, jurisdictionST = Oberoesterreich, C = AT, ST = Oberoesterreich, L = Ruestorf, street = Erwin Greiner-Str. 4, OU = GIS, O = DDL GmbH, CN = data.ddl.at
verifica returnarea:1
---
Lanț de certificate
0 s:businessCategory = Private Organization, serialNumber = FN 374566h, jurisdictionC = AT, jurisdictionL = Wels, jurisdictionST = Oberoesterreich, C = AT, ST = Oberoesterreich, L = Ruestorf, street = Erwin Greiner-Str. 4, OU = GIS, O = DDL GmbH, CN = data.ddl.at
i:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Extended Validation CA - SHA256 - G3
1 s:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Extended Validation CA - SHA256 - G3
i:OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
---
Certificat de server
[...]
Iar la final: Verificați codul de returnare: 0 (ok)
Acum când alerg openssl s_client -connect gitlab.ddl.at:443, Eu iau:
CONECTAT(00000005)
depth=0 businessCategory = Private Organization, serialNumber = 374566h, jurisdictionC = AT, jurisdictionL = Wels, jurisdictionST = Oberoesterreich, C = AT, ST = Oberoesterreich, L = Ruestorf, street = Erwin Greiner-Stra\C3\9Fe 4, OU = GIS, O = DDL GmbH, CN = data.ddl.at
verify error:num=20:nu se poate obține certificatul de emitent local
verifica returnarea:1
depth=0 businessCategory = Private Organization, serialNumber = 374566h, jurisdictionC = AT, jurisdictionL = Wels, jurisdictionST = Oberoesterreich, C = AT, ST = Oberoesterreich, L = Ruestorf, street = Erwin Greiner-Stra\C3\9Fe 4, OU = GIS, O = DDL GmbH, CN = data.ddl.at
verify error:num=21:nu se poate verifica primul certificat
verifica returnarea:1
---
Lanț de certificate
0 s:businessCategory = Organizație privată, serialNumber = 374566h, jurisdictionC = AT, jurisdictionL = Wels, jurisdictionST = Oberoesterreich, C = AT, ST = Oberoesterreich, L = Ruestorf, street = Erwin Greiner-Stra\C3\9Fe 4, OU = GIS, O = DDL GmbH, CN = data.ddl.at
i:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Extended Validation CA - SHA256 - G3
---
Certificat de server
[...]
Cu prima eroare fiind nu pot obține certificatul de emitent local.
Am încercat acest lucru și cu cel accesibil publicului sicher.ddl.at, cu aceeași eroare ca gitlab.ddl.at.
Certificatul pe care îl primește este pentru data.ddl.at, dar are SAN gitlab.ddl.at, nu ar trebui asta să o facă valabilă? ce fac greșit?