Mejores Prácticas 06-10-2015

¿Dónde está su clave privada?

Jeremy Rowley

Última actualización: Noviembre de 2020

Aunque ahora los periodos de vigencia de los certificados son más cortos, la configuración de un certificado TLS/SSL no es algo que los profesionales de TI suelan tocar a diario. Normalmente la mayoría lo hace una vez al año, cuando necesitan cambiar los certificados. A veces no es fácil gestionar y hacer un seguimiento de esos certificados y de las claves correspondientes, lo que obliga a buscar la ruta donde se encuentran todos esos elementos, con la pérdida de tiempo que conlleva todo eso.

Este artículo le ayudará a localizar su clave privada; los pasos para lograrlo varían según el sistema operativo del servidor web. Abordaremos los sistemas operativos más habituales, pero veamos primero en qué consisten las claves privadas.

Qué es una clave privada

Todos los certificados TLS necesitan una clave privada para funcionar. Una clave privada es un archivo independiente que se utiliza en el cifrado y descifrado de los datos transmitidos entre el servidor y los clientes conectados. La clave privada la crea usted —el propietario del certificado— al solicitar el certificado con una solicitud de firma de certificado (CSR). La autoridad de certificación (CA) que emite su certificado (por ejemplo, DigiCert) ni crea ni tiene su clave privada; es más, sus administradores son los únicos que deben tener acceso a ella. Hemos visto cada vez más casos en que las CA han tenido que revocar certificados porque los administradores han publicado las claves en un repositorio en línea, como GitHub. Aunque piense que el sitio no realiza transacciones con información sensible, en el momento en que la clave privada queda expuesta, es necesario revocar todos los certificados asociados.

Si aún no ha instalado el certificado, lo más probable es que la clave privada se encuentre en el ordenador o servidor donde usted generó el par de claves y la CSR. Al generarse el par de claves, se guardaron dos archivos: uno que contiene la clave pública y otro que contiene la clave privada. En el caso de OpenSSL, puede ejecutar el comando «openssl version -a» para encontrar la carpeta en la que se guardarán los archivos de las claves (de manera predeterminada, /usr/local/ssl). En Windows (IIS), el sistema operativo gestiona las CSR automáticamente. Primero debe completar la solicitud y luego exportar la clave (véanse las instrucciones a continuación).

Cómo localizar la clave privada

Si el certificado ya está instalado, siga los pasos que se indican a continuación para localizar el archivo de clave privada en estos sistemas operativos habituales.

Apache

La ubicación del archivo de la clave privada tiene que figurar en el archivo principal de la configuración de Apache: httpd.conf o apache2.conf. La directiva SSLCertificateKeyFile especificará la ruta del servidor donde esté almacenada la clave.

OpenSSL, la biblioteca SSL más conocida de Apache, guarda las claves privadas en /usr/local/ssl de manera predeterminada. Puede ejecutar el comando «openssl version -a» para encontrar OPENSSLDIR y confirmar la carpeta donde guarda las claves el servidor.

Nginx

La clave privada se encuentra en el archivo del host virtual del sitio. Vaya hasta el bloque del servidor del sitio (el directorio predeterminado es /var/www/). Abra el archivo de configuración principal del sitio y busque la directiva ssl_certificate_key, que proporcionará la ruta del archivo de la clave privada (algunos usuarios tienen un archivo de configuración aparte para su certificado SSL, como ssl.conf).

Windows (IIS)

En los servidores Windows, el sistema operativo gestiona automáticamente los archivos de los certificados en una carpeta oculta, pero se puede recuperar la clave privada exportando un archivo .pfx que contiene los certificados y la clave privada.

Abra la Consola de administración de Microsoft (MMC). En la raíz de la consola, expanda Certificados (equipo local). El certificado del servidor se encontrará en la subcarpeta «Personal» o «Servidor web». Una vez localizado, haga clic con el botón derecho del ratón en el certificado —identificado por el nombre común—, seleccione Exportar y siga las instrucciones del asistente. Esto le proporcionará un archivo .pfx. Para obtener instrucciones detalladas paso a paso, visite esta página.

En función de lo que desee hacer con la clave privada, tal vez tenga que partirla en un archivo aparte convirtiendo el .pfx. Si solo desea hacer una copia de seguridad de la clave o instalarla en otro servidor Windows, ya está en el formato adecuado. Para utilizarlo con otras plataformas, como Apache, es necesario convertir el archivo .pfx para separar el archivo .crt/.cer y el archivo .key mediante OpenSSL.

Si no encuentra la clave privada con este método, pruebe a descargar la DigiCert SSL Utility. Este programa le ayudará a importar el certificado y a localizar automáticamente la clave privada si está en ese servidor. Se instala en un entorno local y no comparte con DigiCert ninguna información sobre las claves. DigiCert nunca obtiene claves privadas de los certificados TLS. La custodia de claves TLS por parte de la CA —que a veces sucede con la firma de documentos y los certificados S/MIME— está estrictamente prohibida por la política de almacenamiento de certificados raíz.

¿Dónde más podría estar?

Si ha seguido los pasos indicados para su sistema operativo pero no encuentra la clave, puede que esté buscando en el lugar equivocado.

Si el servidor establece correctamente las conexiones HTTPS, quiere decir que la clave está en algún lugar de ese servidor (o en algún lugar accesible a través de ese servidor). De lo contrario, las conexiones HTTPS fallarían. Aquí solo veremos los escenarios predeterminados, aunque es posible que su organización utilice una configuración personalizada. Pruebe a buscar en el servidor un archivo .key o siga los pasos como si quisiera instalar un nuevo certificado; en algún momento debería especificarse una clave privada.

En algunas plataformas, OpenSSL guardará el archivo .key en el mismo directorio desde el que se ejecutó el comando -req.

Si aún no ha instalado el certificado y no encuentra la clave, es posible que ya no exista. Si ha creado la CSR pero no localiza el archivo de la clave, lo más fácil es volver a emitir el certificado. Cree una nueva CSR —asegurándose esta vez de guardar la clave privada en una ubicación conocida— y empareje el certificado con esa nueva clave. Con DigiCert, la reemisión siempre es gratuita.

Aunque saber dónde y cómo proteger las claves es fundamental para la seguridad, le recomendamos encarecidamente que genere un nuevo par de claves cada vez que solicite un nuevo certificado. No es aconsejable reutilizar las claves porque puede acarrear muchos problemas si una clave se ve comprometida y poner en riesgo la infraestructura de seguridad a medida que se van descubriendo nuevas amenazas. Generar las claves y las CSR es más fácil que nunca, y DigiCert permite renovar las claves con regularidad para ayudar a las empresas a conseguir el nivel de protección que necesitan.

Descubra cómo la PKI abre las puertas a un mundo conectado lleno de posibilidades con nuestro libro electrónico sobre PKI.

UP NEXT
PKI

3 Surprising Uses of PKI in Big Companies and How to Ensure They Are all Secure

5 Min

Featured Stories

07-03-2024

What is a CA’s Role in delivering digital trust?

10 ways AI, quantum and trust will shape the year ahead 

Why certificate automation is an absolute must