Nastavení SSL komunikace pro připojení EAInfoportu a PostgreSQL databáze Otázka Jak nastavit SSL komunikaci pro připojení EAInforportu a PostgreSQL databázi? Odpověď Následující postup je ověřený na instalaci PostgreSQL 13 a Infoport 8.7.x Podrobný popis nastavení databáze je uvedený přímo v aktuální dokumentaci https://www.postgresql.org/docs/current/ssl-tcp.html který doporučujeme pečlivě prostudovat. Navíc je na stránce https://methoddev.com/blog/postgresql-windows-encrypted-connection-ssl uveden step-by-step postup, jak konfiguraci provést prakticky. Pro ověření, zda je komunikace zabezpečená je vhodné použít následující sql dotaz, který je možné v databázi spustit: SELECT application_name, datname, usename, ssl, client_addr FROM pg_stat_ssl INNER JOIN pg_stat_activity ON pg_stat_ssl.pid = pg_stat_activity.pid; Výsledek ukáže, jestli je daná session (konkrétní připojení aplikace - např. EAInfoport) zabezpečena pomocí ssl. Doporučujeme si toto ověřit, jak před začátkem jakýchkoliv změn v nastavení a následně po jejich dokončení. Nastavení  EAInfoportu se (prozatím - později bude součást Configuration Managera) provádí pomocí konfiguračního souboru appsettings.json. Zde je potřeba hodnotu "InfoportConnection_Npgsql" doplnit o ";ApplicationName=Infoport;SSL Mode=VerifyCA". Toto nastavení znamená, že EAInfoport bude vyžadovat ssl připojení do databáze, a bude kontrolovat, že existuje důvěryhodný certifikát. Poznámka: pokud je db server nastaven tak, že ssl vyžaduje (=odmítá připojení bez ssl) ale v connection stringu EAInfoportu je nastaveno ";SSL Mode=Disable", zobrazí se v logu EAInfoportu hláška typu "28000: pg_hba.conf rejects connection for host "x.x.x.x", user "xx", database "xx", SSL off". Verze EAInfoportu 7.x nebyla vyvíjena ani testována pro připojení pomocí ssl, ale je možné vyzkoušet následující: Od verze 6 (.NETu - nikoliv databáze) jsou změněná varianty parametru pro ssl (viz též Security and Encryption | Npgsql Documentation) Npgsql v6.0+: Disable Allow Prefer (default) Require VerifyCA VerifyFull Npgsql pre-v6.0: Disable (default) Prefer Require Pro vezi .NETu 2 (= pro EAInfoport 7.x) je možné jako parametr vyzkoušet ';SSL Mode=Prefer' a nebo ještě přidat, že certifikátu věřím, tzn. ";SSL Mode=Prefer;Trust Server Certificate=true" Poslední varianta je vyměnit Prefer vymění za Require