Fast & Security Conscious
High-Availability Unix Hosting
HTTPS miniguide

Dette dokumentet er enda en miniguide i csoft.net's serie. Vi skal se på generering av en nøkkel og sertifikat signatur forespørsel, som vil bli brukt enten mot en sertifikatautoritet eller for selv-signering. Det resulterende sertifikatet vil så bli brukt for å lage et miljø hvor sikre web baserte transaksjoner kan utføres.

Generering av RSA nøkkel

Den følgende serien kommandoer vil lage en RSA nøkkel.

  $ mkdir -m 0700 ~/ssl
  $ cd ~/ssl
  $ openssl genrsa -out key 1024
Generering av en sertifikat signeringsforespørsel (CSR)

Denne kommandoen vil generere en sertifikat signeringsforespørsel ("CSR") som kan fremlegges for en sertifikatsautoritet, med mindre du vil ha et selv-signert sertifikat. Sertifikatets "Common Name" (CN) må matche din vhost's ServerName (normalt navnet til ditt hoveddomene).

  $ openssl req -new -key key -out csr
  Using configuration from /etc/ssl/openssl.cnf
  You are about to be asked to enter information that will be incorporated
  into your certificate request.
  What you are about to enter is what is called a Distinguished Name or a DN.
  There are quite a few fields but you can leave some blank
  For some fields there will be a default value,
  If you enter '.', the field will be left blank.
  -----
  Country Name (2 letter code) AU: US
  State or Province Name (full name) Some-State: Georgia
  Organization Name (eg, company) Internet Widgits Pty Ltd: Pinhead Enterprizes
  Organizational Unit Name (eg, section) : electro-shock ward
  Common Name (eg, YOUR name) : pinhead.com
  Email Address : zapped@pinhead.com
  Please enter the following 'extra' attributes
  to be sent with your certificate request
  A challenge password : (enter)
  An optional company name :(enter)
Sertifikatsignatur

På dette tidspunktet vil du kanskje sende inn sertifikatet ditt for signering via en sertifikatsautoritet, som f.eks. Thawte. Alternativt kan du signere sertifikatet selv med følgende kommando -

  $ openssl x509 -req -days 365 -in csr -signkey key -out cert

Argumentet -days bestemmer gyldighetsperioden, som blir 30 dager hvis argumentet utelates.

Slå på SSL operasjoner for dine domener i csoftadm
Once the files cert, key (and pp if there is a passphrase) are placed in the ~/ssl/ directory, you can enable HTTPS service from csoftadm. If you are using the web interface, the option is located in Preferences. Alternatively, you can use the conf set ssl command in the shell interface.
Verifisering av nye sertifikater

It will take up to 30 minutes for the new certificate to be included in the web server configuration. If there is a problem with the SSL certificate, an error message will show up in /var/log/users/yourname and the file cert will be renamed to cert.rej.

Før vhosten din blir inkludert i SSL httpd's konfigurasjonsfil utfører csoftadm en kontroll av sertifikatet og nøkkelen. Du kan kjøre denne kontrollen manuelt med følgende kommando:

  # For RSA nøkler:
  $ openssl rsa -in key
  
  # For DSA nøkler:
  $ openssl dsa -in key
  
  # Bruk -passin for nøkler med passord-fraser:
  $ openssl dsa -in key -passin file:pp
  
  # For å lese et X.509 sertifikats fingeravtrykk:
  $ openssl x509 -in cert -fingerprint

Den følgende kommandoen kan brukes for å lese et sertifikats CN (Common Name). CN verdien må matche ditt ServerName (dvs. verdien satt for name instillingen med csoftadm's conf kommando).

  # For å lese et X.509 sertifikats emnetekst:
  $ openssl x509 -in cert -subject
Noen hjelpsomme lenker
  • ssl(8) - Detaljer for libssl og libcrypto (på engelsk)
  • openssl(1) - Kommandolinjeverktøy (på engelsk)
  • mod_ssl - Apache's grensesnitt til OpenSSL (på engelsk)
  • OpenSSL - SSL v2/v3 og TLS v1 verktøysett (på engelsk)
  • Ten Risks of PKI - What You're Not Being Told About Public Key Infrastructure (på engelsk)

  End Software Patents!