positive p7b online generate from cert ssl certificate private-key

p7b - server key ssl



Convertir.pem a.crt y.key (3)

Para extraer la clave y el certificado de un archivo pem:

Extraer clave

openssl pkey -in foo.pem -out foo.key

Otro método para extraer la llave ...

openssl rsa -in foo.pem -out foo.key

Extraer todos los certificados, incluida la cadena CA

openssl crl2pkcs7 -nocrl -certfile foo.pem | openssl pkcs7 -print_certs -out foo.cert

Extraer el primer certificado textual como DER

openssl x509 -in foo.pem -outform DER -out first-cert.der

¿Alguien puede decirme la forma / comando correctos para extraer / convertir los .crt certificado y clave privada .key de un archivo .pem ? Acabo de leer que son intercambiables, pero no cómo.


Pude convertir pem a crt usando esto:

openssl x509 -outform der -in your-cert.pem -out your-cert.crt


Convertir utilizando OpenSSL

Estos comandos le permiten convertir certificados y claves a diferentes formatos para hacerlos compatibles con tipos específicos de servidores o software.

  • Convertir un archivo DER (.crt .cer .der) a PEM

    openssl x509 -inform der -in certificate.cer -out certificate.pem

  • Convertir un archivo PEM a DER

    openssl x509 -outform der -in certificate.pem -out certificate.der

  • Convertir un archivo PKCS # 12 (.pfx .p12) que contiene una clave privada y certificados a PEM

    openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes You can add -nocerts to only output the private key or add -nokeys to only output the certificates.

  • Convierta un archivo de certificado PEM y una clave privada a PKCS # 12 (.pfx .p12)

    openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

  • Convertir PEM a CRT (archivo .CRT)

    openssl x509 -outform der -in certificate.pem -out certificate.crt

OpenSSL Convert PEM

  • Convertir PEM a DER

    openssl x509 -outform der -in certificate.pem -out certificate.der

  • Convertir PEM a P7B

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

  • Convertir PEM a PFX

    openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

OpenSSL Convert DER

  • Convertir DER a PEM

    openssl x509 -inform der -in certificate.cer -out certificate.pem

OpenSSL Convert P7B

  • Convertir P7B a PEM

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

  • Convertir P7B a PFX

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

OpenSSL Convert PFX

  • Convertir PFX a PEM

    openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

Generar claves rsa por OpenSSL

  • Si utiliza OpenSSL en la línea de comandos, primero tendría que generar una clave pública y privada, debería proteger con contraseña este archivo con el argumento -passout. Hay muchos formularios diferentes que puede adoptar este argumento, así que consulte la documentación de OpenSSL al respecto.

    openssl genrsa -out private.pem 1024

  • Esto crea un archivo de clave llamado private.pem que usa 1024 bits. Este archivo tiene realmente las claves privada y pública, por lo que debe extraer la pública de este archivo:

    openssl rsa -in private.pem -out public.pem -outform PEM -pubout or openssl rsa -in private.pem -pubout > public.pem or openssl rsa -in private.pem -pubout -out public.pem

    Ahora tendrá public.pem que contiene solo su clave pública, puede compartirla libremente con terceros. Puede probarlo todo simplemente cifrando algo usted mismo usando su clave pública y luego desencriptándolo usando su clave privada, primero necesitamos un poco de datos para cifrar:

  • Ejemplo de archivo:

    echo ''too many secrets'' > file.txt

  • Ahora tiene algunos datos en file.txt, permite cifrarlos usando OpenSSL y la clave pública:

    openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl

  • Esto crea una versión encriptada de file.txt llamándolo file.ssl, si miras este archivo es simplemente basura binaria, nada muy útil para nadie. Ahora puedes desencriptarlo usando la clave privada:

    openssl rsautl -decrypt -inkey private.pem -in file.ssl -out decrypted.txt

  • Ahora tendrá un archivo sin cifrar en decrypted.txt:

    cat decrypted.txt |output -> too many secrets

Opciones de herramientas RSA en OpenSSL

  • NOMBRE

    rsa - herramienta de procesamiento de claves RSA

  • SINOPSIS

    openssl rsa [-help] [-inform PEM | NET | DER] [-outform PEM | NET | DER] [-in filename] [-passin arg] [-out filename] [-passout arg] [-aes128] [- aes192] [-aes256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] [-RSAPublicKey_in] [-RSAPublicKey_out] [-engine id]

  • DESCRIPCIÓN

    El comando rsa procesa claves RSA. Se pueden convertir entre varias formas y sus componentes impresos. Tenga en cuenta que este comando utiliza el formato tradicional compatible con SSLeay para el cifrado de claves privadas: las aplicaciones más nuevas deben usar el formato PKCS # 8 más seguro utilizando la utilidad pkcs8.

  • Opciones de comando

    -help

    Imprima un mensaje de uso.

    -inform DER|NET|PEM

    Esto especifica el formato de entrada. La opción DER utiliza un formato ASN1 DER codificado compatible con el formato PKCS # 1 RSAPrivateKey o SubjectPublicKeyInfo. El formato PEM es el formato predeterminado: consiste en el formato DER base64 codificado con líneas adicionales de encabezado y pie de página. En la entrada PKCS # 8 también se aceptan claves privadas. El formulario NET es un formato que se describe en la sección NOTAS.

    -outform DER|NET|PEM

    Esto especifica el formato de salida, las opciones tienen el mismo significado que la opción -informa.

    -in filename

    Esto especifica el nombre de archivo de entrada para leer una clave o una entrada estándar si esta opción no está especificada. Si la clave está encriptada, se solicitará una frase de contraseña.

    -passin arg

    la fuente de la contraseña del archivo de entrada. Para obtener más información sobre el formato de arg, consulte la sección ARGUMENTOS DE FRASE DEL PASO en openssl.

    -out filename

    Esto especifica el nombre de archivo de salida para escribir una clave o salida estándar si esta opción no está especificada. Si se configuran opciones de cifrado, se solicitará una frase de contraseña. El nombre de archivo de salida no debe ser el mismo que el nombre de archivo de entrada.

    -passout password

    la fuente de la contraseña del archivo de salida. Para obtener más información sobre el formato de arg, consulte la sección ARGUMENTOS DE FRASE DEL PASO en openssl.

    -aes128|-aes192|-aes256|-camellia128|-camellia192|-camellia256|-des|-des3|-idea

    Estas opciones cifran la clave privada con el cifrado especificado antes de emitirla. Se solicita una frase de contraseña. Si no se especifica ninguna de estas opciones, la clave se escribe en texto sin formato. Esto significa que el uso de la utilidad rsa para leer una clave cifrada sin opción de cifrado se puede usar para eliminar la contraseña de una clave, o al configurar las opciones de cifrado que se pueden usar para agregar o cambiar la frase de contraseña. Estas opciones solo se pueden utilizar con archivos de salida en formato PEM.

    -text

    imprime los diversos componentes de la clave pública o privada en texto plano además de la versión codificada.

    -noout

    esta opción evita la salida de la versión codificada de la clave.

    -modulus

    Esta opción imprime el valor del módulo de la clave.

    -check

    esta opción verifica la consistencia de una clave privada RSA.

    -pubin

    por defecto, se lee una clave privada del archivo de entrada: con esta opción se lee una clave pública en su lugar.

    -pubout

    de forma predeterminada, se genera una clave privada: con esta opción, se generará una clave pública en su lugar. Esta opción se establece automáticamente si la entrada es una clave pública.

    -RSAPublicKey_in, -RSAPublicKey_out

    como -pubin y -pubout excepto el formato RSAPublicKey se usa en su lugar.

    -engine id

    la especificación de un motor (por su cadena de identificación única) hará que rsa intente obtener una referencia funcional al motor especificado, inicializándolo si es necesario. El motor se configurará como predeterminado para todos los algoritmos disponibles.

  • NOTAS

    El formato de clave privada PEM usa las líneas de encabezado y pie de página:

    -----BEGIN RSA PRIVATE KEY----- -----END RSA PRIVATE KEY-----

    El formato de clave pública PEM utiliza las líneas de encabezado y pie de página:

    -----BEGIN PUBLIC KEY----- -----END PUBLIC KEY-----

    El formato PEM RSAPublicKey usa las líneas de encabezado y pie de página:

    -----BEGIN RSA PUBLIC KEY----- -----END RSA PUBLIC KEY-----

    El formulario NET es un formato compatible con los servidores Netscape más antiguos y los archivos .key de Microsoft IIS, que utiliza RC4 sin sal para su cifrado. No es muy seguro y, por lo tanto, solo debe usarse cuando sea necesario.

    Algunas versiones más recientes de IIS tienen datos adicionales en los archivos .key exportados. Para usarlos con la utilidad, vea el archivo con un editor binario y busque la cadena "clave privada", luego vuelva a la secuencia de bytes 0x30, 0x82 (esta es una SECUENCIA ASN1). Copie todos los datos desde este punto en adelante a otro archivo y utilícelo como entrada para la utilidad rsa con la opción -inform NET.

    EJEMPLOS

    Para eliminar la frase de contraseña en una clave privada RSA:

    openssl rsa -in key.pem -out keyout.pem

    Para cifrar una clave privada usando triple DES:

    openssl rsa -in key.pem -des3 -out keyout.pem

    Para convertir una clave privada de formato PEM a DER:

    openssl rsa -in key.pem -outform DER -out keyout.der

    Para imprimir los componentes de una clave privada a la salida estándar:

    openssl rsa -in key.pem -text -noout

    Para dar salida a la parte pública de una clave privada:

    openssl rsa -in key.pem -pubout -out pubkey.pem

    Genere la parte pública de una clave privada en formato RSAPublicKey:

    openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem