Cómo abrir un archivo pem de clave privada. Creación de una clave privada y solicitud de firma

Luego de adquirir un certificado, podrás descargarlo en la sección "Servicios Generales". Si está instalando un certificado en su servidor, utilice los ejemplos de instalación que se presentan aquí.

instalación en hosting .masterhost

Si necesita instalar un certificado en un dominio alojado en nuestro alojamiento virtual, entonces esto se puede hacer de dos maneras:

  • SNI (gratis):
    Árbol de servicios - Dominio - soporte SSL- Agregar.
  • IP dedicada (140 rublos por mes. Generalmente se requiere para trabajar con algunos sistemas de pago):
    Árbol de servicios - Dominio - IP\SSL dedicado - Agregar. Seleccione un certificado en el menú desplegable.

* Para actualizar el certificado, por ejemplo, después de su renovación, siga acciones similares: Árbol de servicios - Dominio - Soporte SSL o IP\SSL dedicado(dependiendo del método de instalación) - Cambiar.

Generar (fusionar) un certificado para el software de Windows

Para instalar el certificado resultante en cualquier software de Windows, el archivo del certificado debe contener tanto el certificado como la clave privada. Aquellos. Deberá combinar el certificado que recibió de nosotros con su archivo clave privada.

Puedes hacerlo así:

openssl pkcs12 -exportar -out certificado.pfx -inkey privateKey.key -in certificado.crt

certificado.pfx: el nombre del certificado que recibirá como resultado de la fusión;

privateKey.key - clave privada;

Certificate.crt: el certificado que le emitimos.

pache

  • Copiar los archivos certificado SSL a su servidor.
  • A continuación, debe buscar el archivo de configuración de Apache para editarlo.

    La mayoría de las veces, dichos archivos de configuración se almacenan en /etc/httpd. en la mayoría de los casos el archivo de configuración principal se llama httpd.conf. Pero en algunos casos los bloques puede estar ubicado en la parte inferior del archivo httpd.conf. A veces puedes encontrar bloques como por separado en un directorio, por ejemplo, /etc/httpd/vhosts.d/ o /etc/httpd/sites/, o en un archivo llamado ssl.conf.

    Antes de abrir el archivo en editor de texto, Debes asegurarte de que haya bloques. que contienen la configuración de Apache.

  • A continuación, instale bloques SSL para establecer la configuración.

    Si necesita que su sitio funcione con una conexión segura y no segura, necesita un host virtual para cada conexión. Para hacer esto, debe hacer una copia de un archivo existente desprotegido. anfitrión virtual y créelo para una conexión SSL como se describe a continuación en el párrafo 4.

  • Luego crea bloques para conectar una conexión SSL.

    A continuación se muestra un ejemplo muy sencillo de un host virtual para una conexión SSL. Las partes resaltadas en negrita deben agregarse a la configuración SSL:

    DocumentRoot /var/www/html2 Nombre del servidor www.sudominio.com SSLEngine en SSLCertificateFile /path/to/your_domain_name.crt SSLCertificateKeyFile /path/to/your_private.key SSLCertificateChainFile /path/to/root.crt Corrija los nombres de los archivos para que coincidan con los archivos del certificado:
    • SSLCertificateFile: su archivo de certificado (por ejemplo: su_nombre_de_dominio.crt).
    • SSLCertificateKeyFile: el archivo de clave creado al generar la CSR.
    • SSLCertificateChainFile - archivo certificado raíz.
  • Ahora verifique su configuración de Apache antes de reiniciar. Siempre es mejor comprobar si hay errores en los archivos de configuración de Apache antes de reiniciar. Dado que Apache no se iniciará nuevamente si los archivos de configuración contienen errores de sintaxis
  • . Para hacer esto, use el siguiente comando: apachectl configtest

Ahora puedes reiniciar Apache.

intercambio 2010

  • Copie su certificado al servidor Exchange.
  • Luego inicie la Consola de administración de Exchange de esta manera: Inicio > Programas > intercambio de microsoft 2010 > Consola de administración de Exchange.
  • Ahora haga clic en "Administrar bases de datos" y luego en "Configuración del servidor".
  • Luego, seleccione su certificado SSL en el menú en el centro de la ventana, luego haga clic en "Completar solicitud pendiente" en el menú "Acciones".
  • Abra su archivo de certificado, luego haga clic en Abrir > Completar

    Exchange 2010 muestra con bastante frecuencia un mensaje de error que comienza con la frase "Los datos de origen están dañados o no están codificados correctamente en Base64". Ignora este error.

  • Luego, regrese a la Consola de administración de Exchange y haga clic en "Asignar servicios al certificado" para comenzar a usar el certificado.
  • Seleccione su servidor de la lista, haga clic en "Siguiente".
  • Ahora seleccione los servicios que deben estar protegidos por el certificado y haga clic en Siguiente > Asignar > Finalizar. Su certificado ahora está instalado y listo para usar en Exchange.

Todos los sitios principales han cambiado hace mucho tiempo a protocolo https. La tendencia continúa y muchos de nuestros clientes quieren que su sitio funcione con un protocolo seguro. Y si el backend se está desarrollando para aplicación móvil, entonces se requiere https. Por ejemplo, Apple requiere que el servidor se comunique con la aplicación a través de protocolo seguro. Este requisito se introdujo desde finales de 2016.

En producción no hay problemas con los certificados. Normalmente el proveedor de alojamiento proporciona interfaz fácil de usar para conectar el certificado. Emitir un certificado tampoco es difícil. Pero mientras trabaja en un proyecto, cada desarrollador debe encargarse él mismo del certificado.
En este artículo, le mostraré cómo emitir un certificado SSL autofirmado y obligar al navegador a confiar en él.

Para emitir un certificado para su dominio local, necesitará un certificado raíz. Todos los demás certificados se emitirán sobre su base. Si, para todos nuevo top dominio de nivel necesita emitir su propio certificado. Obtener un certificado raíz es bastante sencillo.
Primero, generemos una clave privada:

Openssl genrsa -out rootCA.key 2048
Luego el certificado en sí:

Openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
Necesitarás ingresar país, ciudad, compañía etc. Como resultado, obtenemos dos archivos: clave.rootCA Y raízCA.pem

Pasemos a lo principal: emitir un certificado autofirmado. Al igual que con root, estos son dos comandos. Pero los comandos tendrán muchos más parámetros. Y necesitaremos un auxiliar. archivo de configuración. Así que pongámoslo todo en la forma script de bash A crear_certificado_para_dominio.sh

El primer parámetro es obligatorio, generaremos pequeñas instrucciones para el usuario.

Si [ -z "$1" ] entonces haga eco "Proporcione un subdominio para crear un certificado";
echo "por ejemplo, mysite.localhost" salir; fi

Creemos una nueva clave privada si no existe o usemos una existente:
Si [ -f dispositivo.clave ]; luego KEY_OPT="-key" más KEY_OPT="-keyout" fi Preguntemos al usuario el nombre de dominio. Agreguemos la capacidad de configurar " nombre común

”(se utiliza al generar un certificado):
DOMINIO=$1 NOMBRE_COMÚN=$(2:-$1) Para evitar responder preguntas modo interactivo

, formaremos una fila con las respuestas. Y establezca el período de validez del certificado:
SUBJECT="/C=CA/ST=Ninguno/L=NB/O=Ninguno/CN=$COMMON_NAME" NUM_OF_DAYS=999 La variable ASUNTO enumera las mismas preguntas que se hicieron al crear el certificado raíz (, ciudad, país compañía

etc). Todos los valores excepto CN se pueden cambiar a su discreción.
Openssl req -new -newkey rsa:2048 -sha256 -nodes $KEY_OPT dispositivo.key -subj "$SUBJECT" -out dispositivo.csr Generando un archivo de certificado . Para ello necesitamos un archivo auxiliar con configuraciones. En este archivo escribiremos los dominios para los cuales será válido el certificado y algunas otras configuraciones. llamémoslo v3.ext

. Tenga en cuenta que este es un archivo separado y no forma parte de un script bash.
AuthorityKeyIdentifier=keyid,emisor basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment sujetoAltName = @alt_names DNS.1 = %%DOMAIN%% DNS.2 = *.%%DOMAIN%% . Para ello necesitamos un archivo auxiliar con configuraciones. En este archivo escribiremos los dominios para los cuales será válido el certificado y algunas otras configuraciones. llamémoslo

Sí, así es, nuestro certificado será válido para el dominio principal, así como para todos los subdominios. Guarde las líneas anteriores en un archivo. Volvamos a nuestro script bash. Residencia en . Para ello necesitamos un archivo auxiliar con configuraciones. En este archivo escribiremos los dominios para los cuales será válido el certificado y algunas otras configuraciones. llamémoslo archivo auxiliar

crear un archivo temporal indicando nuestro dominio:
Gato v3.ext | sed s/%%DOMAIN%%/$COMMON_NAME/g > /tmp/__v3.ext

Emitimos un certificado:
Openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days $NUM_OF_DAYS -sha256 -extfile /tmp/__v3.ext

Cambie el nombre del certificado y elimine el archivo temporal:
Mv dispositivo.csr $DOMINIO.csr cp dispositivo.crt $DOMINIO.crt # eliminar archivo temporal rm -f dispositivo.crt;

./create_certificate_for_domain.sh misitio.localhost
Obtenemos dos archivos: misitio.localhost.crt Y dispositivo.clave

Ahora necesitas especificar servidor web rutas a estos archivos. Usando nginx como ejemplo, se vería así:

Lanzamos el navegador, abrimos https://mysite.localhost y vemos:

El navegador no confía en este certificado. ¿Qué tengo que hacer?

Necesitamos marcar el certificado que emitimos como Confiable. En Linux (Ubuntu y, probablemente, otras distribuciones basadas en Debian) esto se puede hacer a través del propio navegador. En Mac OS X, esto se puede hacer a través de la aplicación Keychain Access. Inicie la aplicación y arrastre el archivo a la ventana. misitio.localhost.crt. Luego abra el archivo agregado y seleccione Confiar siempre:

Actualiza la página en el navegador y:

¡Éxito! El navegador confía en nuestro certificado.

Comparte en los comentarios, ¿usas https para el desarrollo local?

Maxim Kovtun,
Jefe del Departamento de Desarrollo

Hay muchas situaciones en las que necesitas cifrar archivo específico o carpeta. Por ejemplo, si los datos se transmiten a través de canales abiertos o guardado en medios externos. Mucha gente (incluyéndome a mí) usa truecrypt, pero el objetivo principal de este programa es trabajar con particiones cifradas, por lo que no es muy bueno en este caso.

Para tareas similares OpenSSL es bastante adecuado: una solución multiplataforma confiable. Soportes OpenSSL varios algoritmos cifrado, además está instalado de forma predeterminada en muchos sistemas operativos, y la instalación del resto no es difícil.

A continuación se muestra un resumen de los conceptos básicos del uso del cifrado simétrico y asimétrico en OpenSSL, así como un par de scripts que simplifican cifrado simétrico con llave de un solo uso.

La forma más sencilla de proteger los datos mediante OpenSSL es el cifrado simétrico. Los siguientes comandos cifrar y descifrar el archivo documentos.zip usando algoritmo AES con una longitud de clave de 256 bits:

Openssl enc -aes-256-cbc -salt -in documentos.zip -out documentos.enc
openssl enc -d -aes-256-cbc -in documentos.enc -out documentos.zip

El problema con estos comandos puede ser que requieran una contraseña. Hay situaciones en las que esto no es deseable. Por ejemplo, copia de seguridad/cifrado automático de datos según una programación, o si los datos son cifrados por una persona y descifrados por otra.

Para estos casos se inventó el cifrado de clave pública. EN caso general deberá crear una clave pública y privada. El primer comando generará la clave privada private.pem, el segundo generará la clave pública public.pem:

Openssl genrsa -out privado.pem -aes256 2048
openssl rsa -en privado.pem -pubout -fuera público.pem

Como resultado, obtienes un par de claves RSA de 2048 bits de longitud. Desafortunadamente, en el sistema RSA, el tamaño de los datos cifrados está limitado por el tamaño de la clave, por lo que no será posible cifrar más de 2 Kb de datos. Hay una manera de evitar esto: la información primero se cifra algoritmo simétrico(similar al usado arriba) usando una clave de un solo uso. Esta clave única luego se cifra con la clave pública. Durante el descifrado, la clave única se descifra con la clave privada. Más detalles sobre esto ya se han escrito muy bien en un artículo sobre Habré.

El siguiente script ayudará a automatizar el cifrado, como resultado del cual recibirá una clave única y datos (encrypt.sh) en forma cifrada:

NOMBRE DE ARCHIVO="$1"
PUBLICKEY="$2"
SESSIONKEY="$3"
RESULTADO="$4"

# Generar la clave simétrica aleatoria
PASO=30
si [-c /dev/urandom]; entonces
CLAVE=`head -c 30 /dev/urandom | openssl enc -base64`
demás
CLAVE=`openssl rand -base64 30`
fi
exportar CLAVE

# Cifre la clave simétrica usando la clave pública
openssl rsautl -encrypt -inkey "$PUBLICKEY" -out "$SESSIONKEY" -pubin<$CLAVE
EOF

# Cifre el archivo
openssl enc -aes-256-cbc -pass env:KEY -in "$FILENAME" -out "$RESULTADO"

El siguiente comando utiliza la clave pública public.pem para cifrar el archivo documentos.zip. Generará una clave única cifrada session.key y documentos de datos cifrados.enc:

./encrypt.sh documentos.zip public.pem sesión.clave documentos.enc

Script de descifrado (decrypt.sh):

CLAVE PRIVADA="$1"
SESSIONKEY="$2"
ENCRIPTADO="$3"
DECRYPTED="$4"

# Descifrar la clave simétrica usando la clave privada
KEY=` openssl rsautl -decrypt -inkey "$PRIVATEKEY" -in "$SESSIONKEY" `
exportar CLAVE

# Descifrar el archivo
openssl enc -aes-256-cbc -d -pass env:KEY -in "$ENCRYPTED" -out "$DECRYPTED"

El comando de descifrado utiliza la clave privada private.pem y la clave única session.key para descifrar el archivo documentos.enc. Generará un archivo documentos.zip:

./decrypt.sh privado.pem sesión.clave documentos.enc documentos.zip

Como puede ver, el cifrado con clave pública Puede ser casi tan simple como simétrico. Pero hay una forma aún más sencilla. El blog SbF₅ me pidió que escribiera esta publicación. Su autor (sin duda con más experiencia en bash que yo) escribió un script que archiva una carpeta, la cifra con una clave pública y genera otro script que contiene todo lo necesario: una clave de un solo uso, datos y los comandos reales para descifrar. Además, el script puede generar un par de claves RSA para usted:

./encrypt-file.sh -keys public.pem private.pem
./encrypt-file.sh carpeta public.pem > decrypt-folder.sh
chmod +x descifrar-carpeta.sh
./decrypt-folder.sh private.pem > carpeta.tar

En este ejemplo, primero generamos un par de claves. Después carpeta carpeta se cifró en el script decrypt-folder.sh y luego se descifró en el archivo carpeta.tar. Una posible desventaja de este método es que los datos en decrypt-folder.sh se almacenan en formato BASE64 y, por lo tanto, su tamaño aumenta.

UPD Movido al blog de Seguridad de la Información.

Hoy en día es muy común mejorar la seguridad. conexiones de red o simplemente utilice certificados SSL para la autenticación. Uno de los más populares software libre para crear certificados es OpenSSL. Esta es una utilidad línea de comando, que le permite crear varios tipos certificados, como PKI o HTTPS.

En este artículo veremos qué son los certificados, qué son y analizaremos en detalle la creación de un certificado OpenSSL. Además, consideraremos cada etapa para que le resulte más fácil comprender qué está sucediendo y cómo.

Creo que debemos empezar desde el principio. En primer lugar, los certificados le permiten identificar a una persona y confirmar que usted es quien dice ser. Y funciona así: hay dos claves: privada y pública. Puedes cifrar un mensaje usando la clave pública, pero para descifrarlo solo necesitas la clave privada. Si no tiene la clave privada, simplemente no podrá descifrar el mensaje cifrado. De hecho, cualquiera puede cifrar un mensaje, pero sólo el propietario de la clave privada (secreta) puede descifrarlo.

Si pudo descifrar un mensaje enviado cifrado con su clave pública, entonces es usted. Las claves sólo funcionan en pares y no podrás descifrar nada con otra clave. Pero todavía queda un punto. ¿Cómo puedes determinar que esa clave pública es tuya, por ejemplo, que pertenece a tu dominio? Es simple, todo lo que necesita es que alguien de una fuente confiable, como Comodo o LetsEncrypt, firme su clave. Estas son las llamadas autoridades de certificación.

En este tutorial nos ocuparemos de estos tipos de claves:

  • .pem, .crt, .cer- un certificado ya preparado firmado por una autoridad de certificación, las extensiones son diferentes, pero significan lo mismo. En pocas palabras, un certificado es una clave pública firmada, además de un poco de información sobre su empresa;
  • .llave- clave pública o privada;
  • .csr- una solicitud de firma de certificado, este archivo almacena su clave pública más información sobre la empresa y el dominio que especificó.

Ahora veamos cómo crear un certificado openssl, cómo firmarlo y qué se debe hacer para ello. Generar claves openssl es bastante tarea sencilla, si lo resuelves todo.

Creación de una clave privada y solicitud de firma

No es necesario que firme los certificados con una CA; puede firmarlos usted mismo, pero hablaremos de eso más adelante. Tendrás que pasar por todo el proceso de todos modos. Primero, veamos cómo crear una clave privada desde cero y especifiquemos información necesaria. Este es el CN ​​donde debe indicarse el tuyo nombre de dominio, para el cual va a utilizar el certificado, también puede especificar información adicional sobre su empresa, dirección y organización, pero esto ya no es necesario.

Para crear una clave privada y una solicitud de firma de clave pública, ejecute el siguiente comando:

openssl req -newkey rsa:2048 -nodes -keyout dominio.key -out dominio.csr

La opción -newkey especifica qué crear nuevo par claves, y en los parámetros indicamos el tipo rsa y complejidad de 2048 bytes. La opción -nodes indica que no necesita cifrar la clave, la opción -new indica que necesita crear una solicitud csr. Si ya tiene una clave privada, puede crear una solicitud csr con el siguiente comando:

openssl req -key dominio.key -new -out dominio.csr

Durante la creación, deberá proporcionar toda la información necesaria para el csr, esto es principalmente el dominio y la organización. Puede crear una clave privada por separado:

openssl genrsa -des3 -out domain.key 2048

Además, puedes crear una solicitud CSR a partir de un certificado y clave privada ya existente, entonces no tendrás que ingresar la información, se obtendrá del certificado:

openssl x509 -in dominio.crt -signkey dominio.key -x509toreq -out dominio.csr

La opción -x509toreq especifica que se debe utilizar un certificado para X509 para obtener la CSR. X509 son certificados autofirmados. Generalmente un certificado está firmado por otro certificado, pero éste fue firmado por sí mismo. Si recibió un certificado de una CA, este parámetro no es necesario.

Firma de certificados OpenSSL

Digamos que tiene una clave privada y una solicitud de firma que, de hecho, es una clave pública. Ahora debe firmarlo para obtener un certificado utilizable. Hay varias opciones aquí. Puede enviar un archivo csr para su firma a una autoridad de certificación, por ejemplo, LetsEncrypt. Puedes firmar el certificado con la misma clave con la que fue creado, y la tercera opción es crear tu propia autoridad certificadora.

No consideraré el primer método. Aquí todo es sencillo. Utilice la utilidad de servicio o complete el formulario web y reciba un certificado listo para usar. La segunda opción es mucho más interesante. Nosotros mismos firmaremos nuestro certificado, con la clave a partir de la cual fue creado:

openssl x509 -signkey domain.key -in domain.csr -req -days 365 -out domain.crt

Utilizando el parámetro -days indicamos que el certificado tendrá una validez de 365 días, es decir, un año. Puede combinar todo en un solo comando y crear una clave privada, csr y certificado firmado a la vez:

openssl req -newkey rsa:2048 -nodes -keyout domain.key
-x509 -días 365 -fuera dominio.crt

O cree un certificado openssl autofirmado a partir de una clave privada existente sin csr:

openssl req -key domain.key -new -x509 -days 365 -out domain.crt

La opción -new dice que se solicite información csr al usuario. Para que el navegador confíe en la clave, debe importar el mismo certificado a la lista de confiables. Ahora veamos la tercera forma de crear un certificado OpenSSL: firmarlo con su propia CA, una autoridad de certificación.

Ahora piensas que esto es algo tan complicado, ¿verdad? No, esto es carpeta normal, que contiene una clave privada protegida con contraseña con la que firmaremos todas las demás claves. Y el par público de esta clave debe agregarse a todos los navegadores que confíen en ella.

Por lo general, el centro de certificación en las grandes corporaciones está ubicado en computadoras separadas, que ni siquiera están conectados a la red. Pero por ejemplo, colocaremos la carpeta en nuestro sistema de archivos/etc/:

openssl req -newkey rsa:4096 -x509 -extensiones x509_ca -keyout /etc/ca/certs/ca.key -out /etc/ca/certs/ca.crt -days 3654

El parámetro -extensions carga las extensiones necesarias para crear el certificado de CA. Hemos fijado un largo período de validez: diez años. Ya solo queda firmar nuestro certificado creado anteriormente:

openssl ca -extensiones x509_client -in ~/domain.csr -out ~/domain.crt

Listo, nuestro certificado ya está firmado. Pero ahora, para que los navegadores confíen en él, debe agregar el certificado de CA a la lista de navegadores confiables.

Ver certificados

Los certificados se guardan en formato pem, lo que significa que no podrá abrirlos como archivo de texto y necesito usar equipos especiales para ver información sobre ellos. Primero, mire el contenido del csr:

openssl req -text -noout -verificar -en dominio.csr

Miramos el contenido del certificado en modo texto sin formato:

openssl x509 -texto -noout -en dominio.crt

Comprobamos si el certificado está realmente firmado por la CA deseada:

openssl verificar -detallado -CAfile ca.crt dominio.crt

Ver clave privada:

openssl rsa -check -in dominio.clave

Para verificar si la clave privada, el certificado y la clave pública están relacionados entre sí, puede calcular las sumas md5 para estas claves, si los valores coinciden, entonces existe la posibilidad de que sean claves del mismo par:

openssl rsa -noout -modulus -in dominio.clave | openssl md5
$ openssl x509 -noout -modulus -in dominio.crt | openssl md5
$ openssl req -noout -modulus -in dominio.csr | openssl md5

En varias plataformas y dispositivos, a menudo es necesario proporcionarlos en diferentes formatos. Por ejemplo, los servidores de Windows utilizan archivos PFX para servidores apache Se requieren archivos PEM con extensión .crt o .cer. En este artículo le ayudaremos a comprender los siguientes problemas:

  • ¿Cuáles son los diferentes formatos de certificados SSL?
  • ¿En qué se diferencian?
  • ¿Cómo convertir certificados SSL de un formato a otro?

Descripción general de los formatos de certificados SSL

Formato de certificado PEM

P.E.M.– el formato más popular entre los centros de certificación. Los certificados PEM podrán tener la extensión .pem, .crt, .cer y .key(archivo de clave privada). ella representa archivos ASCII, codificado utilizando el esquema Base64. Cuando abre un archivo pem en un editor de texto, puede ver que el texto del código comienza con la etiqueta "—— BEGIN CERTIFICATE ——" y termina con la etiqueta "—— END CERTIFICATE ——".

Apache y otros servidores similares utilizan certificados en formato PEM. Tenga en cuenta que un archivo puede contener varios certificados SSL e incluso una clave privada, uno debajo del otro. En este caso, cada certificado está separado de los demás por las etiquetas BEGIN y END previamente especificadas. Normalmente, para instalar un certificado SSL en Apache, los certificados y la clave privada deben estar en archivos diferentes.

Formato de certificado DER

formato DER es un tipo de certificado binario en lugar del formato PEM. La extensión de archivo más utilizada en formato PEM es .cer, pero a veces también puedes encontrar la extensión del archivo .der. Por lo tanto, para distinguir un certificado SSL en formato PEM del formato DER, debe abrirlo en un editor de texto y buscar las etiquetas de inicio y fin del certificado (BEGIN/END). Los certificados DER SSL se utilizan normalmente en plataformas Java.

Certificado PKCS#7/P7B

Certificados SSL en el formato PKCS#7 o P7B son archivos que se almacenan en formato Base64 ASCII y tienen la extensión de archivo .p7b o .p7c. Los certificados P7B contienen etiquetas de inicio de certificado “—— BEGIN PKCS7 ——” y etiquetas de finalización de certificado “—— END PKCS7 ——“. Los archivos en formato P7B incluyen solo su certificado SSL y certificados SSL intermedios. La clave privada va archivo separado. Los certificados SSL en formato PKCS#7/P7B admiten las siguientes plataformas: Windows y Java Tomcat.

Certificado PFX (formato PKCS#12)

Formato de certificado SSL PKCS#12 o, como también se le llama, certificado PFX - un formato binario, cuando se usa en un archivo cifrado, no solo en su certificado personal certificados de servidor e intermedios de la autoridad de certificación, pero también su clave privada. Los archivos PFX suelen tener la extensión .pfx o .p12. Normalmente, los archivos PFX se utilizan en servidores windows para importar y exportar archivos de certificados SSL y su clave privada.

Conversión de certificados SSL a OpenSSL

Estos comandos OpenSSL permiten convertir certificados y claves en diferentes formatos. Para hacerlos compatibles con ciertos tipos de servidores o software. Por ejemplo, necesita convertir un archivo PEM normal que funcione con Apache al formato PFX (PKCS # 12) para poder usarlo con Tomcat o IIS.

  • Convertir PEM a DER

    openssl x509 -outform der -in certificado.pem -fuera certificado.der

  • Convertir PEM a P7B

    openssl crl2pkcs7 -nocrl -certfile certificado.cer -out certificado.p7b -certfile CACert.cer

  • Convertir PEM a PFX

    openssl pkcs12 -exportar -out certificado.pfx -inkey clave privada.clave -en certificado.crt -certfile CACert.crt

  • Convertir DER a PEM

    openssl x509 -inform der -in certificado.cer -fuera certificado.pem

  • Convertir P7B a PEM

    openssl pkcs7 -print_certs -in certificado.p7b -out certificado.cer

  • Convertir P7B a PFX

    openssl pkcs7 -print_certs -in certificado.p7b -out certificado.ceropenssl pkcs12 -export -in certificado.cer -inkey privateKey.key -out certificado.pfx -certfile CACert.cer

  • Convertir PFX a PEM

    openssl pkcs12 -in certificado.pfx -salida certificado.cer -nodos

Conversor de certificados SSL en línea

También hay programas en línea para convertir certificados SSL de un formato a otro. Por ejemplo, podemos recomendar el convertidor SSL de SSLShopper.

Utilice este conversor SSL para convertir certificados SSL varios formatos, como PEM, DER, P7B y PFX. Para utilizar el convertidor SSL, simplemente seleccione el archivo del certificado y tipo actual(está determinado por el formato de extensión), luego seleccione el formato al que necesita convertir el certificado SSL y haga clic en el botón "Convertir certificado".

Tenga en cuenta que dependiendo del formato al que necesite convertir el certificado SSL, necesitará diferentes archivos de salida.

Convertir PEM a DER

Para convertir un certificado estándar en formato PEM a formato binario DER, solo necesita un archivo de certificado SSL. Normalmente lo recibe en el archivo junto con los certificados intermedios. Como regla general, su nombre contiene el nombre de su dominio.

Convertir PEM a P7B / PKCS#7

Si necesita convertir su certificado SSL estándar en un archivo en formato P7B / PKCS#7, además del certificado SSL de su dominio, también puede cargar archivos con cadenas de certificados. Escribimos con más detalle sobre qué es una cadena de certificados SSL en el artículo sobre CA-bundle.

Convertir PEM a PFX / PKCS#12

Tenga en cuenta que para la conversión formato estándar Para obtener un certificado SSL, debe agregar un archivo más: su clave privada. La clave privada es información confidencial, que sólo tú deberías tener. Por lo tanto, las autoridades certificadoras no lo envían junto con los archivos de su certificado.
La clave privada se crea en el momento en que se genera la solicitud de CSR. Si genera una CSR en su servidor, la clave debería guardarse automáticamente en él. Si crea una solicitud de CSR en una herramienta especial de nuestro sitio web (en una página vinculada o mientras completa datos técnicos), la clave se le muestra al final de la generación de CSR (o al ingresar datos técnicos), pero no se almacena. en nuestra base de datos. Por lo tanto, es importante que usted mismo almacene la clave privada.




Arriba