¿Cómo generar un archivo pfx desde una clave pública privada?

1

En mi nombre de dominio (mydomain.org), envío correos desde aplicaciones. Algunas de estas aplicaciones están en Windows y otras en Linux. Uso opendkim para Linux y también he configurado dns y todo lo que funciona, simplemente lo encuentro para Linux. Ahora quiero enviar correos electrónicos desde la aplicación de Windows. La aplicación desea un par de llaves dentro del archivo .pfx .

¿Cómo puedo generar .pfx de mypkey.private y mykey.txt que fue creado por opendkim?

Actualizar

He encontrado esta respuesta , pero esto no me está ayudando mucho porque tengo dos archivos que contienen claves públicas y privadas

myfile.private

----- COMIENCE LA CLAVE RSA PRIVADA -----

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

myfile.txt

----- COMIENZA LA CLAVE RSA PUBLIC -----

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

    
pregunta dmx 15.02.2018 - 09:47
fuente

1 respuesta

2

De acuerdo, entonces DKIM usa solo crypto de publicación "sin procesar" y no certificados, pero alguna "aplicación" usa formato PKCS12 que requiere un certificado. Eso es bastante tonto.

Si tiene OpenSSL, y en Linux debería tener varias formas de crear un certificado autofirmado a partir de una clave privada. Un certificado autofirmado no cumple con el propósito principal por el que se diseñaron los certificados, de distribución de confianza desde una fuente (relativamente) centralizada, pero sí empaqueta una clave pública con algunos otros datos en forma de certificado, lo que a menudo es conveniente , incluyendo aquí.

La forma más sencilla es req -new -x509 algo así como:

 openssl req -new -x509 -key privatekey.pem -days N -out dummy.crt 
 # N is the number of days (from now) until the cert expires
 # reliers may or may not care about expiration of selfsigned,
 # but to avoid possible issues it is common to use a longish period 
 # like 5, 10 or 20 years (roughly 1825, 3650 or 7300 days) 

Para evitar que se te pregunten los campos de nombre del sujeto, que probablemente aquí no tienen sentido, puedes especificar un nombre ficticio como -subj /CN=mydkim .

Es posible que una aplicación sea lo suficientemente tonta como para utilizar PKCS12, ya que este podría desear algunas extensiones particulares en el certificado; esto abre un campo mucho más amplio porque hay alrededor de una docena de extensiones X.509 de uso común y cientos o miles de extensiones más oscuras. Si el documento de la 'aplicación' dice algo sobre las extensiones de certificado, o si obtiene un error relacionado con ellas, publique los detalles.

Una vez que tengas el certificado solo usa

 openssl pkcs12 -export -in certfile -inkey privatekeyfile -out pkcs12file 
    
respondido por el dave_thompson_085 17.02.2018 - 01:12
fuente

Lea otras preguntas en las etiquetas