OS X Server: Köp och importera ett signerat ssl-certifikat

Flera tjänster i OS X Server kräver ett signerat certifikat som kommer från en oberoende källa snarare än ett egensignerat dito. Vi visar hur du lyckas med att köpa och importera ett köpt certifikat.

Många tjänster i OS X blir gladare om de har ett signerat certifikat, men framförallt profilhanteringen kräver att ditt ssl-certifikat är signerat av en tredje part. Dessa finns det oerhört många av, och det finns också de som ger bort ssl-certifikat gratis i ett år eller kortare perioder, men med den typen av certifikatleverantörer kan det bli problem med vissa klienttyper då deras certifikat inte alltid håller samma klass eller har ett gott rykte. Vi har valt att köpa vårt certifikat för denna artikel från danska QualitySSL, som har ett gott rykte i branschen och som dessutom har god kompetens om OS X Server vilket kan vara extremt värdefullt då detta inte är en helt enkel process.

Det finns fler leverantörer där ute som kan erbjuda samma eller liknande kompetens, så leta runt efter en som känns rätt.

Att vi gör en guide över just detta kan tyckas underligt, men signerade certifikat är en stor del av kommande guider om OS X Server varför vi valt att fokusera på detta redan nu i denna serie artiklar.

Gör inte så här

Ska man tro Apples dokumentation så kan du enklast köpa och senare installera ett signerat ssl-certifikat genom att öppna Server-applikationen, gå in på hårdvaruinställningarna och sedan öppna certifikathanteringen. Men det är inte så enkelt - det egensignerade certifikat som skapas vid installationen av servern (om du inte redan under installationen lägger in ett signerat certfikat) som man använder som bas för att skapa en Certificate Signing Request (csr) som man i sin tur ger till en leverantör av ssl-certifikat är inte komplett nog för att det sedan ska gå att installera det signerade certifikatet.

Låter det snurrigt? Det är inte fullt så farligt som det låter - för att en csr ska kunna användas för att skapa ett signerat certifikat så har man två val - antingen skapar man en csr utifrån ett egensignerat certifikat som "mall", med risken att det egensignerade certifikatet är inkorrekt skapat. Här kan det exempelvis saknas information om värdnamn på ett ställe vilket gör att när du sedan ska ersätta det egensignerade certifikatet med ett signerat så kommer det inte att fungera. Du kan givetvis skapa ett egensignerat certifikat manuellt och sedan skapa en csr utifrån det men det finns ett enklare sätt än att använda Apples grafiska gränssnitt för detta, och det är i terminalen.

Gör så här

Skriv följande kommando i terminalen, ställ dig i din hemkatalog (eller annan plats där du vill spara ned informationen som kommandot genereras) och byt ut informationen om vår testserver med rätt information om din server. Notera att det är extremt viktigt att du anger rätt information i detta läge då det är detta kommando som skapar informationen som ditt signerade certifikat sedan baseras på:

sudo openssl req -new -newkey rsa:2048 -nodes -out testserver.99mac.se.csr -keyout testserver.99mac.se.key -subj "/CN=testserver.99mac.se/C=SE"

Det genereras två filer, en .key-fil och en .csr-fil. Spara .key-filen då du kommer att behöva den om en stund.

Du kan få fram csr-informationen genom att visa den i terminalen:

more testserver.99mac.se.csr

En csr-fil kan se ut så här:

-----BEGIN CERTIFICATE REQUEST-----
MIICcDCCAVgCAQAwKzEcMBoGA1UEAxMTdGVzdHNlcnZlci45OW1hYy5zZTELMAkGA1UEBhMCU0UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDQA4RO9xHrQeUCLIy1O87n4fWcsy3+oA2qnRH8iqNNFF4Yn6JHjxflZw0TPTBC+847PNmam9rxJo1NostI7fth8Dn7AOk47EFw40ctlNRF65qz6KKKZK4xXz/Htq8Lk066VQVIDi9jg6jUC38cxFU0zaZ4dDRlqwgj43+R8TC9GdvjX4O8/ReUX8cGZyGEaYnwpCOhQrDQaDSBDEQEPJ0ySw3gOHlhFX3alHcDbG5E+LLimMP4oSjn9sgwobi51lAa9ss7iapgaP87bQZk1kgywPcKOPIE5zo3CBtE2c6WW5ag3y63ORr4y6nbMQVZlkziMcPj3w/7C/Wyf5qzdw9AgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAFQYL/2Ds7+b17wZ+KzBR3qNIiFYF/p8L7ncoHwzIwJTZECAWLO5j5P8Ar2xlKwOOdAUQ86Pr/Mg92mG8GwQv5bd2D9AbjfuNHIviawSOUS4r5wnHp3UJHVJDRQdJeo+Nsfmr2B3fza8dkCu1fbZDQSTyIBb+iLa1CEhI4KFlnIDHaNaVKe1VfZFchNhDIBNzI0kB93GNfTEuJ4ZVI0l+p7AePmrbWH4LaIJfacm8ZY71pu9AIDbSw9vZmL8SfNtsHRBJg0xPj68cyJUH6JtotNLA3Bm6McUfJ2AOd7xpJ2G0kUnbCvuqO0CtHM68+DhIkTkdPVVmlUR7Un65vw3YQ==
-----END CERTIFICATE REQUEST-----

Informationen ovan, inklusive de två markeringarna för var csr börjar och slutar, ska du sedan lämna till företaget som genererar ditt certifikat.

Från företaget som genererat certifikatet ska du sedan få två filer. Filnamnet för båda filerna kommer att bygga på det värdnamn du matade in när du genererade csr-filen, i vårt fall fick vi dessa två:

testserver.99mac.se.crt - detta är själva certifikatfilen som nu är signerad.

testserver.99mac.se_ca.crt - detta är filen som bekräftar att ditt certifikat kommer från en auktoriserad certifikatsignering.

De två ovanstående filerna plus filen testserver.99mac.se.key som du genererade med kommandot ovan. Kopiera den från katalogen där du stod när du körde kommandot till samma katalog som de två filerna du fått från din certifikatleverantör.

Att importera ett köpt certifikat

Öppna Server-applikationen och gå in på certifikatinställningarna. Klicka på "Edit".

I fönstret som kommer upp klickar du sedan på plus-tecknet under fönstret där alla certifikat visas, klicka på "Manage Certificates".

Klicka sedan på plustecknet under listan över certifikat och välj "Import a Certificate Identity". Följande fönster kommer då att visas:

Till detta fönster drar du nu de tre filerna så du har ett certifikat, en nyckel och certifikatauktoriteten. Därefter klickar du på "import" och du kan efter att importen är avslutad byta ut ditt egensignerade certifikat i en eller flera tjänster beroende på hur du vill använda certifikatet.