Exchange 2007 certificate nightmare … (un vero incubo)

October 16th, 2009 Categories: software

Tutto comincia con il messaggio di certificato scaduto che i miei client (outlook 2007) hanno cominciato a darmi di punto in bianco, prosegue poi che durante le ultime installazioni di Small Business Server 2008 (SBS2008) ho incontrato difficoltà nella generazione di certificati validi per sostenere la comunicazione SSL fra Exchange 2007 e Outlook 2007 con conseguenti messaggi d’errore sui client (sia essi Vista che XP) :(

Ravanando su internet trovo questo post di Andrea Beggi (mitico!) che m’illumina e che mi permetto di riportare sul mio blog aggiornandolo ed aggiungendo qualche passaggio… PS: Leggere tutto il post prima di cominciare a fare disastri… :)

Dopo circa un’anno dall’installazione, scade il certificato di Exchange Server 2007.
Outlook continua a funzionare, ma sul client (sia Vista che XP) appare un fastidioso messaggio che segnala come non più valido il certificato del server di posta.
Se, come spesso accade, il vostro certificato è self-signed, cioè non emesso da una autorità di certificazione (non lo avete pagato), è necessario prima generare una richiesta e poi emettere un nuovo certificato basato su quest’ultima.

La richiesta si genera dalla Management Shell di Exchange 2007, tramite il commandlet New-ExchangeCertificate.

La sintassi non è complicatissima, comunque ho trovato questo strumento online che la genera per noi. Otterremo una cosa simile a:

New-ExchangeCertificate -GenerateRequest -Path c:\xxxx.csr -KeySize 1024 -SubjectName “c=IT, s=Italy, l=Genoa, o=Xxxxx S.p.A., cn=xxxx.yyyy.zzzz” -DomainName tttt.rrrr.vvvv -PrivateKeyExportable $True (inserite anche il nome DNS nel box Subject Alternative Names, se il server è pubblicato su Internet.)

Apriamo una Exchange Management Shell e incolliamo il comando, il quale genera la richiesta e la mette nel file c:\xxxx.csr.

A questo punto se non avete già un server CA (CAS: Certificate Authority Server) sulla vostra rete, lo dovete installare. Si fa tranquillamente dal Pannello di Controllo –> Installazione Applicazioni –> Installazione Componenti di Windows. Fatelo sul server Exchange 2007, è più comodo e passi successivi presumono che il server sia uno solo. PS1: Su Windows 2008 selezionare entrambi i componenti. PS2: Bisogna riavviare il server perchè digerisca tutto… :)

Terminata l’installazione, accedete a https://nomeserver/certsvr, cliccate Request a certificate, poi Advanced certificate request, poi Submit a certificate request by using a base-64-encoded CMC or PKCS #10 file. Copiate il contenuto del file c:\xxxx.csr nel box Saved Request, selezionate Web Server in Certificate Template, e cliccate su Submit. Scaricate il certificato dalla schermata successiva e salvate il file .cer in c:\.

A questo punto, sempre dalla Management Shell di Exchange 2007, impartite il comando:

import-exchangecertificate -path c:\certnew.cer | enable-exchangecertificate -services iis

e premete invio.

Se tutto è andato a buon fine, potete controllare tramite la gestione di IIS che il certificato sia installato correttamente. Naturalmente il nostro server non è considerato attendibile come autorità di certificazione, il certificato va inserito nel repository delle fonti attendibili sul client. (Forse viene fatto automaticamente al reboot dei client.)

Aggiornamento: dopo poco tempo nell’application log è apparso l’errore 12014, ricorrente ogni mezz’ora circa; l’avviso lamenta la mancanza di un certificato che contenga il nome specificato nel campo FQDN del connettore SMTP in uscita. Ad una prima analisi sembra che ciò non sia vero, in realtà bisogna controllare il campo “Identificazione Personale” nei dettagli del certificato e annotare il relativo valore. Dopodiché tramite Management Shell di Exchange, impartire il seguente comando:

Enable-ExchangeCertificate -Thumbprint 3afd24627925332cd096f45eb5b4473c72526112 -Services “SMTP”

sostituendo il valore Thumbprint qui indicato con quello precedentemente annotato dai dettagli del certificato.

https://www.digicert.com/easy-csr/exchange2007.htm

Enable-ExchangeCertificate weird error PkixKpServerAuthNotFoundInEnhancedKeyUsage

certutil -repairstore my “”

Certificate Use in Exchange Server 2007

PrivateKeyMissing when running Enable-ExchangeCertificate

e per finire il link di Andrea Beggi (… si ancora!!) senza il quale forse avrei perso qualche notte di sonno… grazie Andrea!!!

Exchange 2007 e il certificato scaduto

PDF    Invia l'articolo in formato PDF a
Tags: , , , , , ,
No comments yet.

Leave a Comment