Acest ghid vă arată cum să generați un CSR (Certificate Signing Request) pe IBM HTTP Server (IHS), și cum să faceți același lucru pe HCL Domino (fost IBM Domino).
IBM HTTP Server stochează chei și certificate într-o bază de date de chei CMS (un fișier .kdb plus un stash .sth), pe care le gestionați cu instrumentul grafic IKEYMAN sau cu utilitarul de linie de comandă gskcapicmd din IBM Global Security Kit (GSKit), care vine inclus cu IHS.
Pașii de mai jos acoperă ambele variante pe IHS 9.0.5.x (versiunea actuală suportată), apoi cele două fluxuri de CSR pentru HCL Domino: baza de date clasică Server Certificate Administration (păstrată pentru instalările vechi) și sarcina modernă Certificate Manager cu certstore.nsf, pe care HCL o recomandă pentru Domino 12 și versiunile ulterioare.
Generați un CSR pe IBM HTTP Server
Dacă ați generat deja CSR-ul, treceți direct la cum să instalați un certificat SSL pe IBM HTTP Server.
Puteți crea solicitarea în două moduri pe IHS: prin interfața grafică IKEYMAN (utilitarul clasic point-and-click), sau cu gskcapicmd în linia de comandă. Ambele scriu cheia privată în aceeași bază de date de chei CMS și produc o solicitare PKCS #10 sub forma unui fișier .arm pe care îl trimiteți către autoritatea dvs. de certificare. Alegeți interfața grafică pe un desktop sau pe un server cu afișaj; alegeți linia de comandă pe un server fără interfață grafică sau atunci când doriți un script repetabil.
Cerințe preliminare: IBM HTTP Server este instalat, GSKit este prezent în sistem (vine inclus în pachetul IHS), iar directorul IHS bin se află în PATH sau cunoașteți calea sa completă (de obicei /opt/IBM/HTTPServer/bin/ pe Linux/AIX, sau C:Program FilesIBMHTTPServerbin pe Windows). De asemenea, aveți nevoie de un director de lucru unde puteți scrie noua bază de date de chei și fișierul CSR, precum și un loc unde să notați parola bazei de date de chei.
Metoda 1. Generați un CSR cu IKEYMAN (interfață grafică)
Pasul 1. Creați o nouă bază de date de chei CMS (.kdb)
- Porniți IKEYMAN. Pe Windows, deschideți Start > IBM HTTP Server > Start Key Management Utility. Pe Linux, AIX sau alt sistem UNIX, rulați
ikeymandin directorul IHS bin (de exemplu/opt/IBM/HTTPServer/bin/ikeyman); aveți nevoie de un afișaj X11 funcțional. - Din meniu, selectați Key Database File > New.
- În lista derulantă Key database type, selectați CMS. Acesta este formatul pe care îl citește IBM HTTP Server.
- În File Name, introduceți un nume pentru noua bază de date (de exemplu key.kdb).
- În Location, indicați un folder pe care îl puteți regăsi ușor (de exemplu /opt/IBM/HTTPServer/ssl/ pe Linux, sau C:IBMHTTPServerssl pe Windows). Faceți clic pe OK.
- Setați o parolă puternică, apoi bifați Stash password to a file, astfel încât IKEYMAN să scrie un fișier stash .sth corespunzător lângă .kdb. IHS citește stash-ul la pornire, astfel încât nu trebuie să introduceți parola de fiecare dată când serverul pornește. Faceți clic pe OK.
IKEYMAN creează două fișiere în acel folder: baza de date propriu-zisă (key.kdb) și stash-ul (key.sth). Tratați-le pe amândouă ca fiind confidențiale. Păstrați permisiunile lor de fișier restrictive (citibile doar de utilizatorul IHS) și faceți o copie de rezervă într-o locație sigură, deoarece nu puteți recupera cheia privată fără ele.
Pasul 2. Creați solicitarea de certificat
- Cu baza de date nouă deschisă, găsiți lista derulantă Key database content și schimbați-o în Personal Certificate Requests.
- Faceți clic pe New. Se deschide fereastra de dialog Create New Key and Certificate Request.
Completați câmpurile folosind doar caractere ASCII standard; literele non-latine invalidează solicitarea:
- Key Label: un identificator scurt pentru acest certificat în cadrul bazei de date de chei, de exemplu www.example.com. Veți face referire la această etichetă mai târziu în httpd.conf cu directiva SSLServerCert.
- Key Size: selectați 2048. Acesta este minimul actual acceptat de fiecare CA publică. Alegeți 3072 sau 4096 doar dacă politica dvs. impune o cheie mai mare; compromisul este un handshake TLS ușor mai lent.
- Signature Algorithm: alegeți SHA256WithRSA (sau mai puternic, precum SHA384WithRSA). Evitați orice variantă cu SHA-1; CA-urile publice nu vor emite pe baza acesteia.
- Common Name: numele de domeniu complet calificat pe care doriți să îl securizați, de exemplu www.example.com. Pentru un certificat wildcard, puneți un asterisc înaintea domeniului principal, de exemplu *.example.com.
- Organization: numele legal complet al companiei dvs., exact așa cum este înregistrat. Obligatoriu pentru certificatele OV și EV; ignorat pentru DV.
- Organizational Unit: acest atribut este depreciat pentru certificatele publice (CA/Browser Forum l-a eliminat treptat). Lăsați-l gol sau introduceți o etichetă scurtă precum IT.
- Locality: numele complet al orașului (de exemplu Seattle, nu SEA).
- State/Province: numele complet al statului sau provinciei (de exemplu Washington, nu WA).
- Country: codul de țară ISO din două litere, de exemplu US, GB sau DE.
- Subject Alternative Names (SAN): adăugați fiecare nume de gazdă care trebuie să apară pe certificat, inclusiv valoarea introdusă la Common Name. Browserele moderne ignoră Common Name și validează doar în funcție de lista SAN, deci un certificat cu mai multe nume necesită intrări aici.
- Enter the name of a file in which to store the certificate request: o cale și un nume terminate în .arm, de exemplu /opt/IBM/HTTPServer/ssl/www_example_com.arm. Salvați-l în același folder cu baza de date de chei, pentru ca cele două să rămână împreună.
Faceți clic pe OK. IKEYMAN generează perechea de chei în cadrul bazei de date de chei, stochează solicitarea ca intrare în așteptare și scrie CSR-ul PKCS #10 în fișierul .arm pe care l-ați numit.
Pasul 3. Copiați CSR-ul și trimiteți-l către CA
Deschideți fișierul .arm în orice editor de text (Notepad, vi, nano). Veți vedea un bloc precum acesta:
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIDXjCCAkYCAQAwgZQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9u
... (many lines of base64) ...
-----END NEW CERTIFICATE REQUEST-----
Selectați întregul bloc, inclusiv liniile BEGIN și END, copiați-l și inserați-l în câmpul CSR din formularul dvs. de comandă. Cheia privată rămâne în baza de date de chei de pe server; doar textul CSR părăsește mașina.
Metoda 2. Generați un CSR cu gskcapicmd (CLI)
Utilitarul gskcapicmd (numit uneori gskcmd pentru wrapper-ul Java, sau gsk8capicmd_64 pe instalările GSKit pe 64 de biți) realizează aceeași sarcină ca IKEYMAN, fără o sesiune grafică. Rulați-l din directorul IHS bin.
Pasul 1. Creați baza de date de chei CMS și fișierul stash
Alegeți un folder pentru baza de date de chei, apoi rulați:
gskcapicmd -keydb -create
-db /opt/IBM/HTTPServer/ssl/key.kdb
-pw your_strong_password
-type cms
-stash
Explicația argumentelor:
- -db: calea completă către noul fișier .kdb.
- -pw: parola care protejează baza de date de chei.
- -type cms: formatul pe care îl citește IHS.
- -stash: scrie un fișier stash .sth corespunzător lângă baza de date, astfel încât IHS să îl poată citi fără solicitare la pornire.
În linia de comandă, parola este vizibilă în listele de procese și în istoricul shell-ului. După ce baza de date există, schimbați parola cu una care nu este înregistrată în istoric, folosind gskcapicmd -keydb -changepw, sau transmiteți parola printr-o variabilă de mediu și eliminați-o ulterior.
Pasul 2. Creați solicitarea de certificat
Generați perechea de chei și CSR-ul PKCS #10 într-un singur pas, cu intrări SAN pentru fiecare nume de gazdă pe care doriți să îl includeți pe certificat:
gskcapicmd -certreq -create
-db /opt/IBM/HTTPServer/ssl/key.kdb
-pw your_strong_password
-label www.example.com
-dn "CN=www.example.com,O=Example Inc,L=Seattle,ST=Washington,C=US"
-size 2048
-sigalg SHA256WithRSA
-san_dnsname "www.example.com,example.com"
-file /opt/IBM/HTTPServer/ssl/www_example_com.arm
Explicația argumentelor:
- -label: identificatorul acestui certificat în cadrul bazei de date de chei. Faceți referire la el mai târziu din httpd.conf cu directiva SSLServerCert.
- -dn: Numele Distinctiv (Distinguished Name), scris ca un singur șir cu atribute separate prin virgulă. Folosiți CN= pentru FQDN și codul ISO din două litere în C=.
- -size: 2048 este minimul. Folosiți 3072 sau 4096 doar dacă politica dvs. o impune.
- -sigalg: SHA256WithRSA (sau SHA384WithRSA). Nu folosiți SHA-1.
- -san_dnsname: o listă separată prin virgulă cu fiecare nume de gazdă care trebuie să apară pe certificat. Includeți în această listă și valoarea Common Name. Browserele și majoritatea bibliotecilor TLS validează doar SAN, nu CN.
- -file: calea unde gskcapicmd scrie fișierul CSR .arm.
Dacă aveți nevoie de o cheie ECDSA în loc de RSA, înlocuiți -sigalg SHA256WithRSA cu -sigalg SHA256WithECDSA și schimbați -size pentru a corespunde curbei dorite (-size 256 pentru P-256, -size 384 pentru P-384). Curbele suportate sunt secp256r1 (P-256), secp384r1 (P-384) și secp521r1 (P-521). Suportul ECDSA în IHS este expus complet doar prin gskcapicmd; IKEYMAN nu permite alegerea ECDSA pe versiunile mai vechi de IHS. Pentru ECDSA pe o versiune specifică de IHS, urmați ghidul IBM privind gestionarea certificatelor.
Pasul 3. Listați și verificați solicitarea
Confirmați că solicitarea a fost adăugată în baza de date de chei:
gskcapicmd -certreq -list
-db /opt/IBM/HTTPServer/ssl/key.kdb
-pw your_strong_password
Pentru a citi CSR-ul înapoi și a verifica Common Name, intrările SAN, dimensiunea cheii și algoritmul de semnătură:
gskcapicmd -certreq -details
-db /opt/IBM/HTTPServer/ssl/key.kdb
-pw your_strong_password
-label www.example.com
Apoi deschideți fișierul .arm într-un editor de text, copiați întregul bloc de la BEGIN NEW CERTIFICATE REQUEST până la END NEW CERTIFICATE REQUEST, și trimiteți-l pe formularul de comandă al CA-ului dvs.
Verificați CSR-ul înainte de a-l trimite (opțional)
Dacă aveți OpenSSL instalat, rulați această comandă pe aceeași mașină pentru a confirma subiectul, lista SAN și dimensiunea cheii:
openssl req -noout -text -in www_example_com.arm
Preferați un instrument online? Inserați conținutul solicitării în CSR Decoder al SSL Dragon pentru a citi aceleași detalii. Confirmați că Common Name se potrivește cu numele de gazdă pe care îl vor folosi clienții și că fiecare nume de gazdă necesar apare sub Subject Alternative Name.
După ce CA emite certificatul dvs.
Certificatul semnat trebuie să revină în aceeași bază de date de chei care a produs CSR-ul, sub aceeași etichetă. Primiți-l cu linia de comandă:
gskcapicmd -cert -receive
-db /opt/IBM/HTTPServer/ssl/key.kdb
-pw your_strong_password
-file www_example_com.crt
Sau faceți același lucru în IKEYMAN, sub Personal Certificates > Receive. Adăugați mai întâi certificatele rădăcină și intermediare ca certificate de semnatar, apoi actualizați httpd.conf cu directivele KeyFile și SSLServerCert și reporniți IHS. Procedura completă este descrisă în cum să instalați un certificat SSL pe IBM HTTP Server.
Generați un CSR pe HCL Domino
Notă: IBM Domino se numește acum HCL Domino. HCL a finalizat achiziția portofoliului de colaborare al IBM (inclusiv Notes/Domino) la 1 iulie 2019. Pe Domino 12 și versiunile ulterioare, HCL recomandă sarcina Certificate Manager (cu certstore.nsf și documente TLS Credentials) pentru toate lucrările TLS noi. Baza de date clasică Server Certificate Administration (CERTSRV.NSF) încă funcționează pentru instalările vechi și este documentată mai jos, dar pentru implementările noi ar trebui folosit Certificate Manager.
Metoda A. Creați un CSR cu Certificate Manager (Domino 12+ / 14.x)
- Adăugați sarcina CertMgr pe serverul dvs. desemnat Certificate Manager, pentru ca acesta să creeze certstore.nsf. Pe fiecare server Domino care trebuie să citească chei TLS, rulați și CertMgr, pentru ca baza de date să se replice.
- Deschideți certstore.nsf, accesați TLS Credentials și faceți clic pe Add TLS Credentials.
- Host names: introduceți FQDN-ul exact pe care îl vor folosi clienții și adăugați fiecare nume de gazdă suplimentar ca Subject Alternative Name.
- Servers with access: selectați serverele Domino care trebuie să poată citi cheia privată.
- Certificate Provider: alegeți Manual pentru orice CA terță. (Alegeți Let’s Encrypt doar dacă doriți ca CertMgr să obțină automat un certificat gratuit emis prin ACME.)
- Key type: alegeți RSA sau ECDSA.
- RSA: selectați 2048 de biți (sau mai mult, dacă politica dvs. o impune).
- ECDSA: alegeți o curbă (P-256 sau P-384; P-384 este cea implicită listată).
- Faceți clic pe Submit Request. CertMgr generează perechea de chei, semnează CSR-ul, iar documentul trece la Status = Waiting.
- Deschideți documentul, copiați valoarea de la Certificate signing request (CSR) (sau folosiți acțiunea Copy CSR care apare după procesare) și inserați blocul PEM în formularul dvs. de comandă la CA.
Cheia privată rămâne în interiorul certstore.nsf, criptată pentru serverele pe care le-ați autorizat. Nu o exportați niciodată. Când CA emite certificatul dvs., inserați certificatul semnat (plus lanțul de emitere) înapoi în același document TLS Credentials, iar CertMgr îl instalează pentru dvs. Referința completă se află în documentația Certificate Manager de la HCL.
Metoda B. Server Certificate Administration clasic (Domino vechi)
Folosiți această metodă doar pe versiunile Domino care încă se bazează pe fișiere key ring (.kyr + .sth). HCL o marchează drept legacy pe Domino 12 și versiunile ulterioare.
- În clientul Domino Administrator, deschideți Server Certificate Administration.
- Alegeți Create Key Ring. Introduceți un nume pentru key ring și o parolă puternică.
- Key Size: selectați 2048 de biți.
- Completați Numele Distinctiv:
- Common Name: FQDN-ul pe care doriți să îl securizați, de exemplu www.example.com.
- Organization: numele legal complet al companiei dvs.
- Organizational Unit: lăsați gol sau introduceți o etichetă scurtă precum IT (atributul este depreciat pentru certificatele publice).
- City or Locality: numele complet al orașului, de exemplu Seattle.
- State or Province: numele complet al statului, de exemplu Washington.
- Country: codul ISO din două litere, de exemplu US.
- Revizuiți detaliile și faceți clic pe Continue. Domino creează fișierul key ring.
- Alegeți Create Certificate Request. Sub Method, selectați Paste into form on CA’s site. Domino afișează textul CSR-ului.
- Copiați întregul bloc CSR (inclusiv liniile BEGIN și END) și inserați-l în formularul dvs. de comandă la CA.
Fișierele key ring clasice nu suportă intrări SAN prin acest dialog. Dacă aveți nevoie de un certificat cu mai multe nume, treceți la Certificate Manager (Metoda A) sau generați CSR-ul în afara serverului.
Întrebări frecvente
IBM HTTP Server nu citește fișiere de chei și certificate PEM așa cum face Apache standard. Stiva sa TLS (mod_ibm_ssl, susținută de GSKit) stochează chei, solicitări de certificat și certificate emise într-un singur fișier de bază de date de chei CMS cu extensia .kdb. Un fișier stash corespunzător (.sth) păstrează parola bazei de date într-o formă pe care IHS o poate citi la pornire. Indicați IHS-ului baza de date cu directiva KeyFile din httpd.conf și faceți referire la un anumit certificat din interiorul acesteia cu SSLServerCert.
Ambele scriu în aceeași bază de date de chei, deci oricare dintre ele funcționează. IKEYMAN este convenabil pe un desktop sau pe un server cu afișaj X11, și vă ghidează prin dialog. gskcapicmd este alegerea mai bună pe servere fără interfață grafică, în automatizare, și pentru chei ECDSA, pe care interfața grafică nu le expune pe versiunile mai vechi de IHS. Mulți administratori creează baza de date cu linia de comandă și folosesc IKEYMAN ulterior doar pentru a o inspecta.
Fișierul stash păstrează parola bazei de date de chei într-o formă obfuscată, astfel încât IBM HTTP Server poate deschide baza de date la pornire fără o solicitare interactivă. Nu este criptare: oricine are acces de citire la fișier poate recupera parola. Păstrați atât .kdb, cât și .sth citibile doar de utilizatorul IHS, stocați baza de date pe sistemul de fișiere local (nu pe o partajare accesibilă tuturor) și faceți o copie de rezervă a perechii într-o locație sigură.
Acesta este binarul livrat cu GSKit 8.x pe 64 de biți, inclus în pachetul cu WebSphere Application Server 9 și IBM HTTP Server 9.0. GSKit 10 (inclus cu WebSphere 10 și versiunile ulterioare) urmează aceeași convenție. Numele gskcapicmd din acest ghid reprezintă wrapper-ul distribuit de IHS care apelează binarul corect pentru instalarea dvs.; gsk8capicmd_64 este același instrument, sub numele său versionat. Ambele funcționează cu sintaxa prezentată mai sus.
Economisește 10% la certificatele SSL în momentul plasării comenzii!
Eliberare rapidă, criptare puternică, încredere în browser de 99,99%, suport dedicat și garanție de returnare a banilor în 25 de zile. Codul cuponului: SAVE10


