Necesito un nombre de hash para el archivo para publicar en el directorio CApath de Stunnel. Tengo algunos certificados en este directorio y están funcionando bien. Además, tengo un sert de servidor y una 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
unable to load certificate 140603809879880:error:0906D06C:PEM
routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE
Según tengo entendido, debo firmar mi certificado, pero no entiendo cómo puedo hacerlo. Por favor, proporcione la solución.
PD:
El mensaje
unable to load certificate 140603809879880:error:0906D06C:PEM
routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE:
publicado cuando hice c_hash para cert.pem Esto no es server_cert.pem, esto es Root_CA y tiene un contenido similar
-----BEGIN CERTIFICATE-----
...6UXBNSDVg5rSx60=..
-----END CERTIFICATE-----
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:
...............
key
ycert
archivos dehttps
objeto de configuración proporcionado awebpack.config
'sdevServer
.Respuestas:
Ya que está en Windows, asegúrese de que su certificado en Windows sea "compatible", lo más importante es que no tenga
^M
al final de cada líneaSi lo abre, se verá así:
Para resolver "esto" ábralo con
Write
o Notepad ++ y haga que lo convierta al "estilo" de WindowsIntente ejecutar
openssl x509 -text -inform DER -in server_cert.pem
y ver cuál es el resultado, es poco probable que una clave privada / secreta no sea confiable, solo se necesita confianza si exportó la clave desde un almacén de claves, ¿verdad?fuente
openssl x509 -hash -noout -in
, hace extracción de hash, ¿ves si ayuda?SSL_accept: 14094418: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca Connection reset: 0 byte(s) sent to SSL, 0 byte(s) sent to socket
cuando intento establecer la conexiónca
para su certificado CAopenssl x509 -text -inform DER -in server_cert.pem
convertí mip7b
certificado codificado (?) En algo utilizable.Otra posible causa de esto es intentar usar el módulo x509 en algo que no es x509
El certificado del servidor tiene formato x509, pero la clave privada es rsa
Entonces,
fuente
Mi situación fue 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 que aparecían. Después de convertir de archivo pfx a pem, el certificado se veía así:
Después de corregir el archivo, fue solo:
fuente
cat $SOURCE/privkey.pem $SOURCE/fullchain.pem > server.pem
Mi error fue simplemente usar el archivo CSR en lugar del archivo CERT.
fuente
key is not found
Tuve el mismo problema al usar Windows, pero lo solucioné abriéndolo en Notepad ++ y cambiando la codificación de "UCS-2 LE BOM" a "UTF-8".
fuente
Cambie la codificación en notepad ++ UTF-8 con BOM . Asi funciono para mi
fuente
Puede obtener este error engañoso si ingenuamente intenta hacer esto:
El diseño no permite encriptar datos usando una clave privada .
Puede ver en las opciones de la línea de comando para abrir ssl que las únicas opciones
encrypt -> decrypt
van en una direcciónpublic -> private
.La otra dirección se evita intencionalmente porque las claves públicas básicamente "se pueden adivinar". Por lo tanto, cifrar con una clave privada significa que lo único que gana es verificar que el autor tenga acceso a la clave privada.
La
private key encrypt -> public key decrypt
dirección se llama "firma" para diferenciarla de ser una técnica que realmente puede proteger los datos.Nota: mi descripción es una simplificación para mayor claridad. Lea esta respuesta para obtener más información .
fuente