Generere CSR og privat nøkkel til SSL-sertifikat
Denne veiledningen viser hvordan du lager en CSR og privat nøkkel til et SSL-sertifikat.
CSR står for Certificate Signing Request. Dette er en sertifikatforespørsel som brukes når du skal bestille eller utstede et SSL-sertifikat. CSR-filen inneholder blant annet domenenavn og offentlig nøkkel.
Den private nøkkelen genereres samtidig. Denne skal holdes hemmelig og brukes senere når SSL-sertifikatet installeres på serveren.
Når trenger du en CSR?
Du trenger vanligvis bare å lage en CSR dersom du skal bestille eller installere et SSL-sertifikat manuelt.
Dette kan for eksempel være aktuelt hvis:
- du har en Uniweb VPS og administrerer webserveren selv
- du skal installere et SSL-sertifikat på en ekstern server
- du har fått beskjed om å sende inn en CSR ved bestilling av SSL-sertifikat
- du skal bruke et eget SSL-sertifikat i stedet for automatisk SSL
Har du webhotell eller WordPress-hosting hos Uniweb, trenger du vanligvis ikke å lage CSR manuelt. SSL er normalt inkludert og aktiveres automatisk for domener som er koblet til hostingtjenesten og peker riktig.
Før du starter
Før du lager en CSR, bør du vite hvilke domenenavn sertifikatet skal gjelde for.
Eksempel:
eksempel.no
www.eksempel.noEt sertifikat for eksempel.no dekker ikke nødvendigvis www.eksempel.no, og omvendt. Skal sertifikatet fungere for begge, må begge navnene tas med i sertifikatforespørselen.
Du bør også lage CSR-en på serveren der sertifikatet skal installeres, dersom det er mulig. Da slipper du å flytte den private nøkkelen mellom maskiner.
Viktig om privat nøkkel
Når du lager en CSR, får du vanligvis to filer:
eksempel.no.csr
eksempel.no.keyeksempel.no.csr er sertifikatforespørselen. Denne kan sendes inn ved bestilling av SSL-sertifikat.
eksempel.no.key er den private nøkkelen. Denne må du ta godt vare på. Ikke del den private nøkkelen med andre med mindre det er helt nødvendig for installasjon av sertifikatet.
Dersom du mister den private nøkkelen, kan du ikke bruke sertifikatet som ble utstedt mot den CSR-en. Da må du som regel lage ny CSR og få sertifikatet utstedt på nytt.
Alternativ 1: Generere CSR i Uniweb Kontrollpanel
Dersom tjenesten din støtter det, kan du generere CSR direkte i Uniweb Kontrollpanel.
Gå til den aktuelle tjenesten i Kontrollpanelet, velg fanen for SSL, og lag en ny sertifikatforespørsel. Velg domenene som skal inkluderes i CSR-en, og last deretter ned sertifikatforespørselen.
Dette er ofte den enkleste metoden dersom du bruker en hostingtjeneste der SSL administreres via Kontrollpanelet.
Alternativ 2: Generere CSR med OpenSSL på VPS
Dersom du bruker Uniweb VPS, kan du generere CSR via SSH med OpenSSL.
Logg inn på serveren via SSH.
Dersom OpenSSL ikke er installert, kan du installere det med:
sudo apt update
sudo apt install opensslLag en egen mappe for CSR og privat nøkkel:
mkdir -p ~/ssl/eksempel.no
cd ~/ssl/eksempel.noBytt ut eksempel.no med ditt eget domenenavn.
Kjør deretter denne kommandoen:
openssl req -new -newkey rsa:2048 -nodes \
-keyout eksempel.no.key \
-out eksempel.no.csr \
-subj "/C=NO/ST=Vestfold/L=Tonsberg/O=Eksempel AS/CN=eksempel.no" \
-addext "subjectAltName=DNS:eksempel.no,DNS:www.eksempel.no"Denne kommandoen lager både privat nøkkel og CSR.
Bytt ut verdiene slik at de passer for deg:
eksempel.no Domenet sertifikatet skal gjelde for
www.eksempel.no Eventuell www-versjon av domenet
Eksempel AS Navn på firma eller organisasjon
Tonsberg Kommune/sted
Vestfold Fylke
NO Landkode for NorgeDersom du bestiller sertifikat som privatperson, kan du bruke eget navn i stedet for firmanavn. For vanlige domenevaliderte sertifikater er det først og fremst domenenavnene som er viktige.
Når filene er opprettet, bør du sikre den private nøkkelen:
chmod 600 eksempel.no.keyKontrollere CSR-en
Du kan kontrollere innholdet i CSR-en med:
openssl req -in eksempel.no.csr -noout -textSe spesielt etter feltet:
X509v3 Subject Alternative NameHer skal alle domenenavnene sertifikatet skal gjelde for være oppført, for eksempel:
DNS:eksempel.no, DNS:www.eksempel.noDersom et domenenavn mangler, bør du lage en ny CSR før du bestiller sertifikatet.
Vise CSR-en
For å vise innholdet i CSR-filen, kjør:
cat eksempel.no.csrKopier hele innholdet, inkludert disse linjene:
-----BEGIN CERTIFICATE REQUEST-----
...
-----END CERTIFICATE REQUEST-----Dette er teksten du limer inn eller sender inn når du bestiller SSL-sertifikatet.
Ikke send innholdet i .key-filen med mindre du spesifikt har blitt bedt om det i forbindelse med installasjon.
Lage CSR for wildcard-sertifikat
Dersom du skal bestille et wildcard-sertifikat, bruker du *. foran domenet.
Eksempel:
openssl req -new -newkey rsa:2048 -nodes \
-keyout wildcard.eksempel.no.key \
-out wildcard.eksempel.no.csr \
-subj "/C=NO/ST=Vestfold/L=Tonsberg/O=Eksempel AS/CN=*.eksempel.no" \
-addext "subjectAltName=DNS:*.eksempel.no,DNS:eksempel.no"Et wildcard-sertifikat for *.eksempel.no kan for eksempel brukes for:
www.eksempel.no
mail.eksempel.no
butikk.eksempel.noDet dekker ikke automatisk selve hoveddomenet eksempel.no. Derfor er DNS:eksempel.no også tatt med i eksempelet over.
Etter at sertifikatet er utstedt
Når SSL-sertifikatet er utstedt, må det installeres på serveren sammen med den private nøkkelen.
Du trenger vanligvis:
SSL-sertifikatet
eventuelt mellomliggende sertifikat/CA bundle
privat nøkkelHvordan sertifikatet installeres avhenger av hvilken webserver du bruker, for eksempel Apache eller Nginx.
Oppsummering
En CSR brukes når du skal bestille eller utstede et SSL-sertifikat manuelt. CSR-filen kan deles med sertifikatutstederen, mens den private nøkkelen må oppbevares trygt.
For Uniweb VPS-kunder er det vanlig å lage CSR med OpenSSL via SSH. For hostingtjenester hos Uniweb håndteres SSL ofte automatisk, og da trenger du vanligvis ikke å lage CSR selv.