Den här rutinen gäller s.k. server-certifikat utfärdade genom TCS (Terena Certificate Service). Man använder normalt dem för att kunna körs TLS(SSL) på webservrar.
Se till att vara ute i god tid. Certifikat utfärdas normalt inom en vecka. Om du behöver certifikatet snabbare än så bör du kontakta oss i förväg för att kontrollera att det går.
Det finns ett antal begränsningar för vilka certifikat som kan utfärdas genom TCS. De viktigaste är:
.KTH.se
.
Vid tveksamhet, kontakta oss för att diskutera läget.
Den person som genererar certifikatbegäran på den tekniska nivån och fyller i webbforumuläret kallas i detta sammanhang Technical Contact.
En behörig person på institutionen eller motsvarande måste intyga att begäran är korrekt. Denna person kallas "sponsor". Normalt är sponsorn den IT-ansvarig på skolan, om sådan inte finns kontakta certadm@kth.se
Innan du kan ansöka om certifikat måste du skapa en privat nyckel och en fil med certifikatbegäran (CSR, Certificate Signing Request) i så kallat PKCS#10-format för varje certifikat.
Se till att nyckeln skyddas mot obehörig åtkomst. Det är också en god idé att ordna en säkerhetskopia av den (som då också måste hållas skyddad).
Nyckellängenden får inte vara mindre än 1024 bitar. Vi rekommenderar nyckellängden 2048 bitar. Följande krav gäller för namnkomponenterna i certifikatet:
Namnkomponent | Krav | Exempel |
---|---|---|
Common Name (CN) | Ska vara serverns DNS-namn. | www.xxx.kth.se |
Organizational Unit (OU) | Ska vara institutionens eller enhetens förkortning eller fullständiga namn. | ITA |
Organization (O) | Ska vara Kungliga Tekniska Högskolan . |
Kungliga Tekniska Högskolan |
City/Locality (L) | Ska utelämnas helt om möjligt (inte bara vara tom). Om den måste anges ska den vara Stockholm . |
utelämnad |
State/Province (ST) | Ska utelämnas helt om möjligt (inte bara vara tom). Om den måste anges ska den vara Stockholm . |
utelämnad |
Country (C) | Ska vara SE . |
SE |
Så här kan en nyckel och en CSR för www.xxx.kth.se
, WWW-server för den
fiktiva domänen XXX, genereras (kommandot skrivs på en enda rad):
openssl req -new -sha1 -newkey rsa:2048 -nodes -subj "/CN=www.xxx.kth.se/OU=ITA/O=Kungliga Tekniska Högskolan/C=SE" -keyout www.xxx.kth.se.key -out www.xxx.kth.se.csr
Om OpenSSL är av för gammal version fungerar inte -subj
.
Du får i så fall felmeddelandet unknown option -subj
och en hjälptext. Använd då kommandot:
openssl req -new -newkey rsa:2048 -nodes -keyout www.xxx.kth.se.key -out www.xxx.kth.se.csr
och svara på de frågor man får enligt ovan. (passkey skall var blank!)
I filen www.xxx.kth.se.key
hamnar den privata
nyckeln. Denna måste hållas hemlig och skyddas mot obehörig åtkomst. I
filen www.xxx.kth.se.csr
hamnar den CSR som ska bifogas
ansökningsblanketten. Det är praktiskt att döpa
CSR- och nyckel-filerna till namn som är baserade på certifikatets
CN
, särskilt om du ansöker om flera certifikat åt gången.
För att verifiera innehållet i CSR-filen kan följande kommando användas:
openssl req -in www.xxx.kth.se.csr -noout -text
Starta Internet Services Manager som finns under Administrative Tools i startmenyn. Ta fram Properties (högerklick) för den site du ska ansöka om certifikat för.
Välj fliken Directory Security och klicka på Server Certificate. Välj Create a new Certificate och Prepare the request now, but send it later i wizarden.
Ge rätt svar på frågorna om de olika namnkomponenterna.
Se tabellen med krav ovan! State/province och City/locality borde utelämnas,
men IIS verkar inte gilla det. Fyll i Stockholm
.
Sedan är det dags att spara CSR till fil. Det är denna fil du ska bifoga ansökan. Bekräfta och avsluta wizarden.
OBS! Microsoft IIS 6.0 har problem vid förnyande av certifikat eller ansökan om certifikat ifall det redan finns ett certifikat i drift för siten! När du genererar CSR, så upphör det existerande certifikatet att fungera och det blir inte bra igen förrän du fått det nya certifikatet. Det finns ett sätt att "lura" systemet genom att skapa en tillfällig site. Se Microsofts instruktioner.
För IIS 7.0 (dvs Windows 2008) så görs CSR:en i UTF8STRING oavsett om man använder 8-bitars tecken eller inte. Globalsigns system klarar inte av detta. Så för att kringgå detta får man skapa csr:en i IIS 6.0 (enligt ovan) och även slutföra operationen på IIS 6.0 för att sedan exportera ut nyckel och cert i pfx-format eller motsvarande och sedan importera in den på Windows 2008
Att ha multipla CN är inte heller helt trivialt och kräver specialinstruktioner se: https://tcs.sunet.se/info/faq.html ellerr detta
Nu är det dags att skicka in CSR-filen och samtidigt fylla i kompletterande information.
OBS! OBS! nytt: från och med 09-10-08 skall du använda nya sidan för SUNET-TCS
https://tcs.sunet.se/apply/kth/
Info om det GAMLA systemet med SUNET-SCS finns här
KTHs CERTADM måste nu godkänna din begäran innan certifikatet tillverkas av GlobalSign på vårt ansvar. För att ha möjlighet att kontrollera att allt är OK och för att få spårbarhet måste du be "sponsorn" (enligt punkt 1), normalt IT-ansvarig på skolan, godkänna din begäran. Detta sker via en länk pa denna plats
Nu får du vänta ett tag medan KTH CERTADM tar hand om ansökan. Du skall få ett mail med länk till certifikatet.
Certifikat utfärdas normalt inom en vecka. Om det är mer bråttom
än så behöver du meddela oss det, så gör vi vad vi kan för att skynda på.
Kontakta oss också om certifikatet dröjer.
NOT: Skicka INTE in något mer information till SUNET-TCS. Det enda tekniska kontakten skall göra är att fylla i webformuläret.
Verifikation att certifikatet är korrekt sker i följande punkter av "sponsorn" och KTH:s centrala certifikatgrupp.
När certifikatet är klart får du som är Technical Contact epost från "SUNET TCS" med ärendet "wcs.xxx.kth. se (certificate issued)" (eller motsvarande). Certifikatet som sådant finns bifogat i brevet, som också innehåller en länk där det kan hämtas.
I TLS/SSL-konfigurationen ska följande rader läggas in, med de filnamn som är korrekta i din Apache-miljö:
SSLCertificateFile /opt/apache/conf/certs/www.xxx.kth.se.pem SSLCertificateKeyFile /opt/apache/conf/certs/www.xxx.kth.se.key SSLCertificateChainFile /opt/apache/conf/certs/chain-2-www.xxx.kth.se.pem
Filen www.xxx.kth.se.pem
är det certifikat du fått
utfärdat (namnet på det nerladdade certifikatet från SUNET TCS är annorlunda).
Filen www.xxx.kth.se.key
är den nyckel-fil du skapade
tillsammans med certifikat-begäran vid punkt 2. Tänk på att fortsätta skydda
den mot obehörig åtkomst! Den som kommer över den här filen kan låtsas vara
servern.
Filen chain-2-www.xxx.kth.se.pem
är de kedjecertifikat som du
kan ladda ner som "Certificate Chain: PEM format" på hämtningssidan. Webbservern måste skicka med det också för
att användarens webbläsare ska kunna sätta ihop certifikatkedjan. Ta gärna bort serienummret från filnamnet när den laddats ner.
När certifikatet är godkänt så välj certifikat av Other Program och certifikat av typen The certificate packaged with the signing certificates (PEM PEM encoded file).
Efter detta måste du slå ihop certifikatet till ett .p12 (pfx eller pkcs12) certifikats store genom detta kommando:
openssl pkcs12 -export -in ditt_servernamn.cer -inkey ditt_servernamn.key -out ditt_servernamn.p12 -name tomcat
changeit
med gemener när du får frågan.
När ihopslagningen är klar måste storen konverteras till jks format (tomcat hanterar detta format bäst):keytool -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore ditt_servernamn.keystore -srckeystore ditt_servernamn.p12 -srcstoretype PKCS12 -srcstorepass changeit -alias tomcat
Starta Internet Services Manager som finns under Administrative Tools i startmenyn. Ta fram Properties (högerklick) för den site du har ansökt om certifikat för.
Välj fliken Directory Security och klicka på Server Certificate. Välj Process the Pending Request and Install the Certificate i wizarden och ange filnamnet till certifikatet du fått i eposten. Se till att rätt port (normalt 443) är vald. Bekräfta och avsluta.
För att allt ska fungera korrekt måste även
kedjecertifikatet chain-2-www.ife.liu.se.pem
(enligt länken "Certificate Chain: PEM format" på hämtningssidan)
hämtas och installeras via MMC (Microsoft Management Console). Starta det verktyget via Run i
startmenyn; ange programnamn mmc
.
I MMC, välj Console - Add/Remove Snap-in. Klicka Add, markera Certificates och klicka Add. Välj sedan Computer account och i nästa ruta Local computer (the computer this console is running on). Avsluta tilläggsdialogen med Finish, Close och OK.
Välj Certificates i vänsterspalten och dubbelklicka
sedan på Intermediate Certification Authorities i högerspalten.
Högerklicka vid Certificates i högerspalten och välj
All Tasks - Import i menyn. Vid frågan File to Import
anges filen sureserverEDU.pem
som du tankade hem nyligen.
Avsluta med Next och Finish.
Avsluta med att starta om IIS.
OBS! Microsoft IIS 6.0 har problem vid förnyande av certifikat! Om du under punkt 2 följde Microsofts instruktioner för att ta dig förbi den begränsningen så måste du avsluta enligt dessa instruktioner också (importera certifikatet till den tillfälliga siten och sedan ta det i drift i den riktiga).
Kontrollera att certifikatet fungerar. Om det används i en webbserver ska du kunna surfa till den HTTPS-URL som skyddas av certifikatet. Din webbläsare ska inte klaga på något som rör certifikatet. Kontakta KTH CERTADM om du har problem med att få det att fungera.