QASIDA.API potrebuje na komunikáciu s QCLOUD.HUB cez RabbitMQ (posielanie faktúr a ďalších údajov) mať v systéme nainštalované certifikáty, ktorými sa táto komunikácia zabezpečuje a overuje. Bez správne nainštalovaných certifikátov a ich fingerprintov v konfigurácii komunikácia nebude fungovať.
Certifikáty zvyknú prísť v ZIP súbore (napr. certifikat.zip) chránenom heslom. Vstavaný Windows Explorer (10 aj 11) heslom chránené ZIP archívy nepodporuje — archív sa síce dá otvoriť/prezerať, ale pri pokuse o extrakciu vypíše neočakávanú chybu.
Na rozbalenie použi program s podporou heslovaných ZIP archívov, napr. 7-Zip alebo WinRAR:
certifikat.zip → 7-Zip → Extract Here (alebo príslušná možnosť vo WinRAR).certlm.msc a spusti (alebo vyhľadaj "Manage computer certificates"). Vyžaduje admin práva (UAC). Všetky ďalšie kroky (import aj zistenie thumbprintu) sa robia v tomto jednom okne.
certlm.msc rozklikni Trusted Root Certification Authorities.


ca.pem → vyber ho → Next.


Ak by import
.pemsúboru nefungoval, premenuj ho naca.cera skús znova:
- a) Cez Windows Explorer: pravý klik na súbor → Premenovať → zmeň príponu na
.cer.- b) Cez OpenSSL:
openssl x509 -in ca.pem -out ca.cer -outform PEM



Alternatíva cez PowerShell (ako Administrator):
Import-Certificate -FilePath "C:\cesta\ca.pem" -CertStoreLocation "Cert:\LocalMachine\Root"
⚠️ Na rozdiel od CA certifikátu tu musí ísť o
.pfxsúbor, nie samotný.pem/.cer. PFX (PKCS#12) obsahuje certifikát aj privátny kľúč chránený heslom — preto sa pri importe pýta heslo. Klientska autentifikácia (mTLS) potrebuje privátny kľúč, inak certifikát nejde použiť. Po správnom importe má certifikát v zozname malú ikonku kľúčika (indikuje, že je k nemu priradený privátny kľúč) — ak kľúčik chýba, import je nesprávny (napr. bol naimportovaný len.pembez kľúča) a treba ho odstrániť a zopakovať s.pfx.
certlm.msc rozklikni Personal.

.pfx súbor nezobrazuje → vyber súbor (názov sa líši podľa zákazníka) → Next.






Alternatíva cez PowerShell (ako Administrator):
$pwd = ConvertTo-SecureString -String "HESLO" -Force -AsPlainText Import-PfxCertificate -FilePath "C:\cesta\klient.pfx" -CertStoreLocation "Cert:\LocalMachine\My" -Password $pwd

![]()
Alternatíva cez PowerShell:
Get-ChildItem -Path Cert:\LocalMachine\Root | Where-Object { $_.Subject -like "*NAZOV_CA*" } | Select-Object Subject, ThumbprintPowerShell zobrazuje thumbprint veľkými písmenami — do appsettings ho preveď na malé písmená.

![]()
Alternatíva cez PowerShell:
Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*NAZOV_KLIENTA*" } | Select-Object Subject, ThumbprintPowerShell zobrazuje thumbprint veľkými písmenami — do appsettings ho preveď na malé písmená.
V appsettings.json (alebo appsettings.{Environment}.json) — štandardná cesta C:\QASIDA\QasidaAPI\Api\appsettings.json — nastav:
"AsolLicServerUpdateLicenseBackgroundService": {
"RabbitMqClientCertificateThumbprint": "<thumbprint_klientskeho_certifikatu>",
"RabbitMqCaCertificateThumbprint": "<thumbprint_CA_certifikatu>"
}
RabbitMqClientCertificateThumbprint = thumbprint klientskeho .pfx certifikátu (Personal).RabbitMqCaCertificateThumbprint = thumbprint CA certifikátu (Trusted Root).C:\QASIDA\QasidaAPI\Logs) z MessagingService, či sa certifikáty načítali v poriadku. Typické chybové hlášky pri probléme s certifikátom:
Certificate with thumbprint {thumbprint} not found in LocalMachine\{store} or CurrentUser\{store} store. — thumbprint v appsettings nesedí so žiadnym nainštalovaným certifikátom (preklep, zlé úložisko, alebo certifikát nebol nainštalovaný pre účet, pod ktorým beží služba).Certificate {subject} from {store} does not have a private key. mTLS handshake will fail. — klientsky certifikát bol naimportovaný bez privátneho kľúča (napr. z .pem namiesto .pfx), pozri poznámku v bode 1b.Private key for certificate {subject} from {store} is not accessible (RSA/ECDsa null). / Failed to access private key for certificate {subject} from {store}. Check key container permissions. — privátny kľúč existuje, ale účet, pod ktorým beží služba, k nemu nemá prístupové práva (treba nastaviť ACL na kľúč cez "Manage Private Keys").Certificate {subject} from {store} is outside its validity period — certifikát expiroval alebo ešte nie je platný.Loaded certificate {subject} from {store} store.