torstaina, tammikuuta 14, 2010


SSL-varmenne Microsoft Exchange -palvelimeen


Sattuipa eräänä päivänä, että Microsoft Exchange -sähköpostipalvelimeen piti asentaa SSL-varmenteeksi Sonera CA -palvelinvarmenne. Soneran varmennepalvelun ohjeistus ei tue suoraan Exchangea, mutta varmennepyynnön voi tehdä seuraten IIS-palvelimelle tarkoitettua ohjetta. Ongelmana kuitenkin on, että Soneran ohjeiden mukaan IIS:n (tai muun Soneran ohjeistuksen tukeman palvelinohjelman) avulla tehty varmennepyyntö ei osaa liittää pyynnön mukaista varmennetta Exchange Serveriin.

Jotta Soneran varmenne saadaan toimimaan Exchangessa, pitää suorittaa muutama työvaihe, joita kuvataan seuraavassa. (Esimerkissä palvelimen käyttöjärjestelmäalustana on Microsoft Windows Server 2003 R2 ja sähköpostipalvelimena on Microsoft Exchange Server 2007. Huom. Kaikki tasavälisellä fontilla esitetyt komennot tulee kirjoittaa komentokehotteessa ilman rivinvaihtoja - tässä Blogger rivittää tekstin omalla tavallaan, mitä ei pidä huomioida komentoja kirjoitettaessa.)

Ensin asennetaan Soneran myöntämä varmenne Exchangen komentokehotteessa eli Exchange Management Shellissä (EMS) komennolla:

import-exchangecertificate c:\temp\soneranvarmenne.cer

jossa soneranvarmenne.cer on se tiedosto, joka on saatu Soneran varmennepalvelusta ja kopioitu palvelimelle johonkin kansioon (tässä c:\temp).
Tämän jälkeen yritetään normaaliin tapaan ottaa varmenne käyttöön Exchange Management Shellissä komennolla:

enable-exchangecertificate  -services imap,pop,iis,smtp

jonka jälkeen kirjoitetaan varmenteen "thumbprint”. Se näkyy import-exchangeservices-komennon jälkeen ruudulle tulleessa ilmoituksessa, ja se on aina varmennekohtainen.  "Thumbprint" kannattaa kirjoittaa varmuuden vuoksi tarkasti muistiin.
Todennäköisesti nyt saadaan virheilmoitus: "The certificate with thumbprint  112233445566778899aabbccddee... was found but is not valid for use with Exchange Server (reason: PrivateKeyMissing)."

Virhe kertoo, että kyseessä on varmenteen soveltumattomuus sellaisenaan Exchangeen. Ongelma korjataan seuraavasti:

  1. Avataan komentokehote (Start -> Run) ja kirjoitetaan komento mmc ja klikataan OK.

  2. File-valikon kautta avataan c:\windows\system32-alikansiosta crtsmgr.msc.

  3. Tarjolla olevista kansioista tai niiden alikansioista etsitään Soneralta saatu varmenne. Kannattaa ensiksi katsoa Trusted Root Certification Authorities -kansion Certificates-alikansio. Huomattava on, että varmenne esiintyy siellä oman palvelimen nimellä.
    (Vihje: jos kyseistä Soneran varmennetta ei millään löydy, se kannattaa "pakkoasentaa" kaksoisklikkaamalla varmannetiedostoa ja valitsemalla Install Certificate ja Next. Sitten valitaan Place all certificates in the following store, ja Browse-napin kautta annetaan asennuskansioksi sellainen, josta varmenteen varmasti löytää edellä esitetyllä tavalla.)

  4. Kun oikea varmenne on löytynyt, kaksoisklikataan sitä ja valitaan Details-välilehti. Siellä klikataan Serial Number -kohtaa ja kirjoitetaan muistiin esiin tuleva koodi (esim. 17 heksadesimaalilukua).

  5. Klikataan OK ja suljetaan certmgr.msc-ikkuna. Muutoksia ei tarvitse tallentaa.

  6. Avataan Windowsin komentokehote (Command Prompt) ja kirjoitetaan sinne komento

    certutil  -repaisrstore my X

    (jossa X on kohdassa 4. löydetty sarjanumero ilman välilyöntejä kirjoitettuna).

  7. Nyt mennään uudelleen Exchange Management Shelliin, jossa annetaan komento

    enable-exchangecertificate  -services  imap,pop,iis,smtp

    Tämän jälkeen annetaan taas varmenteen "thumbprint". Jos ohjelma kysyy "Overwrite default certificate", vastataan Y. Tämä tapahtuu, jos Exchange Serverissä on aikaisemmin käytetty esim. itsetehtyä ns. selfsigned-varmennetta.


Toiminta voidaan tarkistaa vielä Exchange Management Shellissä antamalla komento

get-exchangecertificate |select-object -property thumbprint,services

Jos kaikki on OK, pitäisi nyt sillä rivillä, jolla oikean varmenteen "thumbprint" esiintyy, näkyä myös palvelut imap, pop, iis ja smtp.
Varmenne voidaan luonnollisesti ottaa käyttöön vain osalle palveluista imap, pop, iis ja smtp, kulloisenkin tarpeen mukaan.  Tällöin enable-exchangecertificate-komennossa kirjoitetaan vain ne palvelut, joihin varmenne halutaan liittää. Yleisimmin varmenne kuitenkin lienee käytössä kaikissa mainituissa palveluissa.

Ei kommentteja: