Convertir un certificado *.pfx a Base64
Hace poco hablamos de como crear un certificado, pero a veces en lugar de como archivo lo necesitamos como una cadena de texto, que generalmente tiene que estar codificada como Base64. Vamos a ver como pasar un certificado *.pfx a Base64 y para ello vamos a usar la consola de Powershell -sí, esa ventana de comandos azul que tienes en tu Windows-.
El script en sí es muy sencillo:
$cer=New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 -ArgumentList "{pathandname}.pfx", "{ASecurePassw0rd}" [Convert]::ToBase64String($cer.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Cert)) [Convert]::ToBase64String($cer.GetCertHash())
La primera línea, lo que hace es crear un objeto de la clase del framework de .Net System.Security.Cryptography.X509Certificates.X509Certificate2, y lo almacena en la variable cer.
La siguiente lo que hace es convertir todo el valor del certificado a una cadena de Base64 que podremos usar en los sitios que nos pidan una cadena en lugar de un archivo.
El tercer comando lo que hace es devolvernos el hash del certificado en Base64, que es en algunos sitios lo llaman Identificador de clave personalizada, pero no deja de servir como elemento de comprobación del dato que hemos obtenido con el comando anterior.
Así de primeras, a lo mejor os parece una chorrada inservible, pero creedme que en ocasiones para securizar ciertas cosas necesitas hacerlo (ya os pondré algún ejemplo), y es horrible no acordarse de como era y tener que bucear por Internet, así que yo que vosotros me lo guardaría a buen recaudo.
Trackbacks/Pingbacks
[…] Seguir leyendo en CantabriaTIC. […]