Navigate / search

Dvacetiletý self-signed certifikát v Dominu

Mám několik virtuálních serverů, které si dlouhodobě udržuji a používám pro živé ukázky při prezentacích a školeních, a zkouším si na nich také upgrady a různé konfigurační záležitosti. Některé používají WebSphere Application Server (WAS) a všechny používají Domino jako poštovní a LDAP server.

Včera jsem narazil na situaci, která se vám možná také už stala: WAS si při instalaci vytvoří svoje vlastní self-signed certifikáty pro bezpečnou komunikaci mezi svými komponentami i s externími servery. Certfikáty mají platnost jeden rok a 60 dní před vypršením se spustí automatické prodloužení platnosti o další jeden rok.

Můj virtuální server Connections jsem vrátil do snapshotu z poloviny ledna (tedy více než 60 dní zpět), nabootoval a spustil Connections. Když nenaběhnuly, zjistil jsem v logu, že certifikáty expirovaly před dvěma dny. Naštěstí to není žádný žádný větší problém, WAS si certifikáty hned sama prodloužila a další spuštění Deployment Manageru i Nodeagentů už bylo plně v pořádku.

Self-signed certifikát na Dominu

Jenže jsem při tom objevil i to, že mi současně vypršel i SSL certifikát v Dominu. HTTPS lze v Dominu zapnout jednoduše, je to na několik kliků, včetně vytvoření keyringu se self-signed certifikátem, který pro testovací server plně postačí. Jenže: self-signed certifikát se bere jako zkušební, testovací, na kterém si práci s SSL v Dominu vyzkoušíte, a potom použijete „ostrý“, vygenerovaný přes certifikační autoritu (která také může běžet na Dominu). Proto se self-signed SSL certifikát na Dominu generuje s dobou platnosti jeden rok.

Nechtělo se mi kvůli jednomu testovacímu Dominu dělat CA databázi, requesty, approvaly atd., jako při skutečném provozu. A současně jsem nechtěl udělat jenom rychle nový self-signed, který budu muset udělat za rok zase znovu. Tak jsem chvilku hledal na Internetu a našel řešení: malou změnou designu databáze lze vytvořit self-signed certifikát s libovolnou dobou platnosti. (Zdroj: Thomas Bahn)

Jedná se o databázi certsrv.nsf a formulář CertAdminCreateKeyringWithSelfCert. V něm se pro vytváření certifikátu volá externí DLL knihovna, která akceptuje vstupní parametry. Jedním z nich je i doba platnosti certifikátu. Stačí tedy přidat parametr, který říká, že to nebude 365 dní, ale třeba 7305 dní (což je 20 let).

Ve formuláři najděte místo, kde se nastavují parametry (proměnná CmdArgs). Na konec toho úseku přidejte toto:

'<modified author="Thomas Bahn <tbahn@assono.de>" timestamp="2012-07-31"  
'      description="change how long the certificate is valid (in days)"> 
CmdArgs = CmdArgs & "ValidDays=7305;" 
'</modifed>

Formulář uložte, vytvořte pomocí něj nový self-signed SSL certifikát, přidejte jej do nastavení HTTP serveru a uvidíte, že bude mít platnost 20 let.

Domino self signed na 20 let