Sembla que el procediment habitual per renovar un certificat per HTTPS a l’IIS es iniciar una petició de renovació, enviar-la a l’entitat certificadora (Verisign, per exemple), esperar l’arxiu de resposta i importar-ho dintre del teu IIS.
Però, què fer si ens envien la renovacio amb un CSR antic? Reps un email amb un tros del tipus:
-----BEGIN CERTIFICATE-----
AoGBAOv4w3UeEEarsyIXsBL1zdBi67fC7jFiqhbs0f7/tDRuvnQvj5V7NF7Awhah
9K3J9fPkOPMfTBMmQCFVTLAlUxioh1jLEZOWDPvrB8h7msO5gM1MpufOh4NRS79J
LvyOKdDtXGfYdVRj/TNpNTFu10wLO2y9o8HAkRUlkCDb/xS3AgMBAAGjggF6MIIB
djAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBGBgNVHR8EPzA9MDugOaA3hjVodHRw
Oi8vY3JsLnZlcmlzaWduLmNvbS9DbGFzczNJbnRlcm5hdGlvbmFsU2VydmVyLmNy
f4&dBgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBz
(...)
-----END CERTIFICATE-----
Com importar això dintre del nostre IIS? S’han de seguir aquestes passes:
Primer exportem el certificat actual. Per fer-ho hem d’anar a les propietats del site, a l’apartat “Directory Security”:
Iniciem l’assistent fent click a “Server Certificate” i anem a la següent pantalla:
Fem click a “Next” i anem a la següent pantalla:
On escollirem “Export the current certificate to a .pfx file”. Despres ens demanara on ho volem guardar:
I una contrassenya per l’export. D’aquesta forma ja tenim el certificat exportat.
Si mirem el contingut de l’arxiu, veurem que es binari. Per convertir-ho al mateix format que el que hem rebut per email, podem fer servir openssl, amb aquesta comanda:
openssl pkcs12 -in cert.pfx -out cert.pem
Ens demanarà la contrassenya que hem posat abans al .pfx, i ens demanarà una contrassenya per posar-li a l’arixu .pem resultant.
Si editem aquest fitxer amb qualsevol editor de text, veurem que conté un “certificate” delimitat per les clausules “BEGIN CERTIFICATE” y “END CERTIFICATE”, exactament igual que el que ens han enviat per correu. Només hem de substituir el text de l’anterior certificat pel nou. Un cop ho tinguem, ho hem de tornar a la forma binaria que “enten” l’IIS. Per fer-ho, un altre cop amb openssl:
openssl pkcs12 -export -in cert.pem -out cert-new.pfx
Ens demanarà la contrassenya que li hem posat al .pem, i una altra per posar-li al .pfx resultant.
Ara per posar-ho a l’IIS, primer hem de treure el que hi havia. A la plana de “Directory Security” d’abans hem d’iniciar l’assistent una altra vegada, però aquesta vegada escollir “Remove the current certificate”:
Seguint “next next” acabarem treien el certificat antic:
I ara hem d’importar el certificat nou. En l’assistent veurem que ens ha aparegut una opció que abans no estava: “Import certificate from a .pfx file”:
Ens demanarà quin fitxer volem importar, i haurem d’escollir el cert-new.pfx. Ens demanarà la contrassenya que hem posat, el port on volem que escolti (normalment deixarem el 443) i finalment haurem importat el certificat
Si mirem les propietats, veurem que ha canviat la data d’expiració. Ja tenim el certificat renovat!