with setup req how generate create certification authorities windows openssl certificate trusted

windows - setup - OpenSSL: rutinas PEM: PEM_read_bio: no start line: pem_lib.c: 703: Esperando: CERTIFICADO DE CONFIANZA



openssl windows create self signed certificate (7)

1) Ya que está en Windows, asegúrese de que su certificado en Windows sea "compatible", lo más importante es que no tiene ^M al final de cada línea

Si lo abres se verá así:

-----BEGIN CERTIFICATE-----^M MIIDITCCAoqgAwIBAgIQL9+89q6RUm0PmqPfQDQ+mjANBgkqhkiG9w0BAQUFADBM^M

Para resolver "esto" ábralo con Write o Notepad ++ y pídale que lo convierta a Windows "style"

2) Intente ejecutar openssl x509 -text -inform DER -in server_cert.pem y vea cuál es el resultado, es poco probable que una clave privada / secreta no sea de confianza, solo se necesita confianza si exportó la clave de un almacén de claves, ¿Tuviste?

Necesito un nombre hash para el archivo para su publicación en el directorio CApath de Stunnel. Tengo algunos certs en este directorio y están funcionando bien. También tengo un servidor sert y clave de servidor:

cert = c:/Program Files (x86)/stunnel/server_cert.pem key = c:/Program> Files (x86)/stunnel/private/server_key.pem

Cuando intento calcular un hash de mi nuevo certificado, aparece un error:

/ etc / pki / tls / misc / c_hash cert.pem

no se puede cargar el certificado 140603809879880: error: 0906D06C: rutinas PEM: PEM_read_bio: no línea de salida: pem_lib.c: 703: Esperando: CERTIFICADO DE CONFIANZA

Según tengo entendido, debo firmar mi certificado, pero no entiendo cómo puedo hacerlo. Por favor, proporciona la solución.

PD:

El mensaje

no se puede cargar el certificado 140603809879880: error: 0906D06C: rutinas PEM: PEM_read_bio: sin línea de inicio: pem_lib.c: 703: Esperando: CERTIFICADO DE CONFIANZA:

publicado cuando hice c_hash para cert.pem Esto no es server_cert.pem, esto es Root_CA y es contenido algo así como

----- BEGIN CERTIFICATE -----
... 6UXBNSDVg5rSx60 = ..

----- FIN CERTIFICADO -----

Cuando yo escribo

openssl x509 -noout -text -in cert.pem

En el panel de la consola veo esta información:

Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=BE, ST=BB, L=BB, O=BANKSYS NV, OU=SCY, CN=TEST Root CA Validity Not Before: May 31 08:06:40 2005 GMT Not After : May 31 08:06:40 2020 GMT Subject: C=BE, ST=BB, L=BB, O=BB NV, OU=SCY, CN=TEST Root CA Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:82:c8:58:1e:e5:7a:b2:63:a6:15:bd:f9:bb:1f: ............ Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Subject Key Identifier: 76:70:AB:92:9B:B1:26:CE:9E:93:D8:77:4F:78:0D:B8:D4:6C:DA:C6 Signature Algorithm: sha1WithRSAEncryption 2c:7e:bd:3f:da:48:a4:df:8d:7c:96:58:f7:87:bd:e7:16:24: ...............


Cambiar la codificación en el bloc de notas ++ UTF-8 con BOM . Así es como me funcionó


Mi error fue simplemente usar el archivo CSR en lugar del archivo CERT.


Mi situación era un poco diferente. La solución fue quitar el .pem de todo lo que estaba fuera de las secciones CERTIFICATE y PRIVATE KEY e invertir el orden en el que aparecían. Después de convertir de pfx a archivo pem, el certificado se veía así:

Bag Attributes localKeyID: ... issuer=... -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- Bag Attributes more garbage... -----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----

Después de corregir el archivo, fue solo:

-----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----


Otra posible causa de esto es tratar de usar el módulo x509 en algo que no es x509

El certificado del servidor es el formato x509, pero la clave privada es rsa

Entonces openssl rsa -noout -text -in privkey.pem openssl x509 -noout -text -in servercert.pem


Puede obtener este error engañoso si ingenuamente intenta hacer esto:

Plain text -> Private Key encrypt -> <enc text> -> Public Key decrypt ->

El diseño no permite el cifrado de datos utilizando una clave privada.

Puede ver desde las opciones de línea de comando para abrir ssl que las únicas opciones para encrypt -> decrypt van en una dirección public -> private .

-encrypt encrypt with public key -decrypt decrypt with private key

La otra dirección se previene intencionalmente porque las claves públicas básicamente "pueden adivinarse". Entonces, encriptar con una clave privada significa que lo único que obtienes es verificar que el autor tenga acceso a la clave privada.

El private key encrypt -> public key decrypt dirección de private key encrypt -> public key decrypt se denomina "firma" para diferenciarlo de ser una técnica que realmente puede proteger datos.

-sign sign with private key -verify verify with public key

Nota: mi descripción es una simplificación para la claridad. Lee esta respuesta para más información .


Tuve el mismo problema al utilizar Windows, solucioné abriendo en Notepad ++ y cambiando la codificación de "UCS-2 LE BOM" a "UTF-8".