Certifikat
Hur man skapar ett nytt SSL-certifikat signerat av Stackens rootcertifikat.
Abstract
Stacken har ett självsignerat root-certifikat som kan signera SSL-cert med. De tjänster som behöver servercertifikat använder med fördel ett som är signerat av vår root-cert. Certifikatet finns att ladda ner här
Fördelen med detta är att det är bara ett certifikat som är självsignerat istället för att alla certifikat är det.
Innan du börjar
Först måste din admin-principal finnas i gruppen
ca-administrators
Logga in på igloo.stacken.kth.se
. Navigera till
/afs/stacken.kth.se/admin/CA/Private
Certifikatbegäran
Först behöver man skapa en certifikatbegäran. Lösenord till
certifikatet man skapar läggs i filen
/afs/stacken.kth.se/admin/CA/Private/pass
igloo.stacken.kth.se ./CAnewreq.sh kaka **** Creating new certificate request **** Generating a 1024 bit RSA private key ..++++++ ..................++++++ writing new private key to 'kaka.pem' Enter PEM pass phrase: Här väljer man ett lösenord och skriver in det Verifying - Enter PEM pass phrase: Skriv in samma lösenord igen ----- 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]:SE State or Province Name (full name) [Some-State]:. Här skriver man en punkt. Locality Name (eg, city) []:Stockholm Organization Name (eg, company) [Internet Widgits Pty Ltd]:Stacken Organizational Unit Name (eg, section) []:Stacken Common Name (eg, YOUR name) []:kaka.stacken.kth.se Här anger man det man skall ha certifikat för Email Address []:staff@stacken.kth.se Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: igloo.stacken.kth.se$
Nu finns det en fil vid namn kaka.pem
som innehåller både
certifikat-begäran samt certifikatets nyckel (krypterat). Nu måste
begäran signeras av ett CA-cert för att kunna skapas.
Signera certifikatbegäran
För att signera certifikatet kör ./CAsign.sh kaka
. Svara ja på frågorna om att signera samt commit:a när den ber dig.
I filen kaka.crt
finns det signerade certifikatet. kaka.pem
finns kvar sedan tidigare.
Extrahering av privata nyckeln
För att tjänster ska kunna använda certifikatet måste man antingen låsa upp den privata nyckeln med passphrase man angav när man skapade nyckeln när tjänsten startades, eller extrahera den privata nyckeln till en fil.
Extrahera nyckeln gör man med openssl rsa -in kaka.pem -out kaka.key
och anger passphrasen man angav när certifikatet skapades. Då har man till slut tre filer:
-
kaka.pem
- Ursprungliga begäran med krypterad privat nyckel -
kaka.crt
- Signerade certifikatet. Distribueras av tjänsterna. -
kaka.key
- Okrypterade privat nyckel. Måste skyddas.
Tjänster brukar behöva kaka.crt
, kaka.key
och ca.crt
. Exempel på Cyrus imapd.conf:
tls_cert_file: /etc/ssl/imap.crt tls_key_file: /etc/ssl/imap.key tls_ca_file: /etc/ssl/ca.crtExempel på Apache-konfiguration:
SSLEngine on SSLCertificateFile /usr/local/etc/apache2/ssl.crt/server.crt SSLCertificateKeyFile /usr/local/etc/apache2/ssl.key/server.key