Renovar un certificat per HTTPS a l’IIS sense iniciar petició de renovació

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!

Winexe empaquetat per Ubuntu/Kubuntu i Debian

Acabo de descobrir que a partir de debian lenny, i a Ubuntu/KUbuntu (no sé si a la 8.04 hi era, pero a la 8.10 segur que hi és), l’aplicacio winexe, de la que vam parlar aqui i feiem servir, per exemple, en els nostres scripts per matar processos o aconseguir una shell remota, s’instal·la amb el paquet wmi-client. És a dir, que per instal·lar-ho només haurem de fer:

apt-get install wmi-client

I llestos! Suposo que per SuSE i RedHat tambe deu estar empaquetada… algú m’ho pot confirmar?

Script per fer servir automàticament Kubuntu a un USB, des de windows (actualitzat)

Instruccions: Decarreguem l’arxiu amb les utilitats, el descomprimim en algun directori, i executem el script kubuntu810.bat. Escollim lletra d’unitat, escollim arquitectura, i llestos! No s’ha de fer res mes. El propi script s’encarrega de decarregar la ISO si no la tens.

Recorda que has d’escollir una unitat que sigui la primera partició primària del dispositiu, i que ha de tenir un sistema de fitxers FAT de mes de 750MB…

Em sembla que més fàcil impossible!

I per que publico això, així d’escuet? Doncs es que ahir em van renyar…
“Quin rollo d’entrada, el post de Kubuntu-USB! Per què no fots les comandes i punt? No veus que ningú no s’ho llegirà?”

Ok, ok, ok… no cal posar-se agressius 😀 Missatge rebut. I m’he posat mans a la obra.

He agafat les instruccions de PenDriveLinux que havien publicat per Ubuntu, USB Ubuntu 8.10 install from Windows, i ho he adaptat a Kubuntu. A més he afegit alguna coseta més, com que puguis escollir entre arquitectura de 32 o 64 bits, i que puguis fer servir un proxy per descarregar la ISO (apart d’afegir una “-f” a la comanda syslinux perquè sense ella em donava l’error “Not a removable drive”).

Actualització 5/11
A PenDriveLinux ja ho han fet, amb aquest article, o sigui que ja he perdut l’exclusiva 😛

Fent servir Kubuntu 8.10 des d’un dispositiu USB (flash drive, disc dur)

Acaba de sortir la nova fornada de Ubuntu i Kubuntu 8.10. Com cada nova versió, m’agrada fer una ullada a les novetats (sobretot perquè les actualitzacions acostumen a trencar-se de tant en tant). I aquesta vegada tenia més ganes encara de veure les novetats, perquè Kubuntu 8.10 (intrepid ibex) canvia la versió de l’escriptori KDE, i posa per defecte les KDE 4.1.

Sempre he pensat que gastar un CD per copiar la distribució i fer-la servir una sola vegada és un desperdici. Tots tenim un pendrive de 1GB que ens han regalat en alguna reunió, o que ens hem comprat (fins i tot el meu pare en té, que li’n vaig comprar un de 8GB per 10€ al MediaMarkt l’altre dia), i una unitat així, que és de ràpid accés i reutilitzable, sembla el millor lloc on fer les proves de la nostra distribució.

Instal·lar la Ubuntu en un pendrive és molt senzill, està documentat a molts llocs, com per exemple a PenDriveLinux, on tenen un article per instal·lar Ubuntu, amb uns scripts que ho fan tot. Per Kubuntu no he trobat enlloc que ho deixin tan senzill, però només s’han de fer unes petites modificacions.

D’entrada necessitem una unitat USB, ja sigui un disc dur, ja sigui un pendrive, un telefon mòbil… el que sigui.

Farem servir la primera partició física de la unitat. És a dir, que si només tenim particions lògiques, haurem de eliminar-les i crear-ne com a mínim una de física. Això és així perquè les particions lògiques se’ls assigna un valor a partir del 5 (els 4 primers estan reservats per les físiques), i necessitem que sigui la primera partició de totes, la que té el valor 1. Si només tenim una partició, aleshores cap problema, endavant!

També necessitem que aquesta partició tingui un sistema de fitxers FAT, ja sigui FAT16 o FAT32, i que sigui prou gran com perquè hi càpiga el CD de KUbuntu (750MB).

Un cop tenim el dispositiu amb la partició preparada, necessitem decarregar la ISO de KUbuntu 8.10. Quan l’haguem descarregat, haurem d’accedir al sistema de fitxers de la ISO. Això ho podrem fer des de windows amb el 7zip per exemple, i amb un simple mount des de linux:

mkdir /tmp/live-cd
mount -t iso9660 -o loop kubuntu-8.10-desktop-amd64.iso /tmp/live-cd

Ara hem de copiar a l’arrel de la unitat els directoris “casper dists install pics pool preseed .disk”, el contingut del directori “isolinux” i els arxius “md5sum.txt README.diskdefines install/mt86plus”. En la consola de linux, seria aquesta línia:

cp -r casper dists install pics pool preseed .disk isolinux/* md5sum.txt README.diskdefines install/mt86plus /tmp/live-cd

En l’entorn gràfic de linux i de windows, s’haurien d’arrossegar aquestes carpetes al directori corresponent. També haurem de canviar-li el nom a “isolinux.cfg” per “syslinux.cfg” i sobreescriure l’arxiu “text.cfg” amb aquestes dades:
text.cfg

default persist
label persist
menu label ^Run KUbuntu Persistently saving changes back to USB
kernel /casper/vmlinuz
append file=/preseed/kubuntu.seed boot=casper persistent initrd=/casper/initrd.gz quiet splash --
label live
menu label ^Try KUbuntu without saving any changes to USB
kernel /casper/vmlinuz
append file=/preseed/kubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash --
label live-install
menu label ^Install KUbuntu
kernel /casper/vmlinuz
append file=/preseed/kubuntu.seed boot=casper only-ubiquity initrd=/casper/initrd.gz quiet splash --
label check
menu label ^Check CD for defects
kernel /casper/vmlinuz
append boot=casper integrity-check initrd=/casper/initrd.gz quiet splash --
label memtest
menu label Test ^memory
kernel /install/mt86plus
label hd
menu label ^Boot from first hard disk
localboot 0x80

Finalment s’ha de fer que es pugui engengar l’ordinador amb aquest disc (és a dir, fer-lo bootable). Per fer-ho necessitem la utilitat syslinux, que podem trobar a la web de kernel.org en les seves versions tant windows com linux (tot i que un apt-get install syslinux ja t’ho instal·la). Un cop el tinguem haurem d’executar:

syslinux -maf UNITAT

On haurem de substituir “UNITAT” per /dev/sX1 en cas de linux y “X:” en cas de linux (canvia la X per la teva lletra).

I ja ho tenim. Només hem d’assegurar-nos que l’ordinador farà servir el disc USB en engegar, i llestos!

Com que és tan senzill (potser més senzill de fer que d’explicar), potser faig un script per fer-ho des de linux i un altre des de windows… Però això un altre dia!