OpenSSL: PEM routines:PEM_read_bio:pas de ligne de départ:pem_lib.c:703:Attend: CERTIFICAT de CONFIANCE
J'ai besoin d'un hachage de nom de fichier pour l'afficher dans Stunnel est CApath répertoire. J'ai eu quelques certs dans ce répertoire, et ils fonctionnent bien. Aussi, j'ai un serveur qui sert de serveur et de clé:
cert = c:\Program Files (x86)\stunnel\server_cert.pem
key = c:\Program> Files (x86)\stunnel\private\server_key.pem
Quand j'ai essayer de calculer une valeur de hachage de mon nouveau cert, j'obtiens une erreur:
/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
Que je comprends que je dois signer mon cert, mais je ne comprends pas comment je peux le faire.
S'il vous plaît, fournir la solution.
P. S.:
Le message
unable to load certificate 140603809879880:error:0906D06C:PEM
routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE:
posté quand j'ai fait c_hash pour cert.pem Ce n'est pas server_cert.pem, c'est Root_CA et c'est le contenu quelque chose comme
-----BEGIN CERTIFICATE-----
...6UXBNSDVg5rSx60=..
-----END CERTIFICATE-----
Quand j'écris
openssl x509 -noout -text -in cert.pem
Dans le panneau de la console je vois cette info:
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:
...............
Vous devez vous connecter pour publier un commentaire.
Puisque vous êtes sur Windows, assurez-vous que votre certificat dans Windows "compatible", surtout qu'il n'a pas
^M
à la fin de chaque ligneSi vous l'ouvrez, il ressemblera à ceci:
À résoudre "ce" ouvrir avec
Write
ou Notepad++ et il la convertir pour Windows "style"Essayez d'exécuter
openssl x509 -text -inform DER -in server_cert.pem
et voir ce que la sortie est, il est peu probable qu'un privé/clé secrète serait non fiables, de confiance est seulement nécessaire si vous avez exporté la clé à partir d'un fichier de clés, avez-vous?openssl x509 -hash -noout -in
il n'extraction de hachage, voir si ça aide?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
quand j'essaie ro établir la connexionca
de leur certificat d'autorité de certificationopenssl x509 -text -inform DER -in server_cert.pem
converti monp7b
codé(?) certificat de quelque chose d'utilisable.-----BEGIN CERTIFICATE REQUEST-----
) plutôt que d'un certificat (-----BEGIN CERTIFICATE-----
). J'ai été en mesure d'inspecter en utilisantopenssl req ...
plutôt queopenssl x509 ...
.Une autre cause possible de ce qui est d'essayer d'utiliser la x509 module sur quelque chose qui n'est pas x509
Le serveur de certificat x509 format, mais la clé privée rsa
Donc,
Ma situation était un peu différente. La solution a été de la bande .pem de tout, à l'extérieur du CERTIFICAT et de la CLÉ PRIVÉE de sections et d'inverser l'ordre où ils apparaissent.
Après la conversion de pfx de fichier pem, le certificat ressemblait à ceci:
Après la correction de la fiche, c'était juste:
cat $SOURCE/privkey.pem $SOURCE/fullchain.pem > server.pem
J'ai eu le même problème à l'aide de Windows, suis si fixé par l'ouvrir dans Notepad++ et de la modification de l'encodage à partir de "UCS-2 LE BOM" à "UTF-8".
Mon erreur a été tout simplement à l'aide de la RSE fichier au lieu de le CERT fichier.
Changer l'encodage dans notepad++ UTF-8 avec BOM. C'est la façon dont il a travaillé pour moi
Vous pouvez obtenir cette erreur trompeur si vous naïvement essayer de faire ceci:
Le chiffrement des données à l'aide d'une clé privée n'est pas autorisée par la conception.
Vous pouvez le voir sur la options de ligne de commande pour open ssl que les seules options à
encrypt -> decrypt
aller dans une directionpublic -> private
.L'autre sens est intentionnellement empêché parce que les clés publiques de coeur "peut-être deviné." Donc, le cryptage avec une clé privée signifie que la seule chose que vous gagnez, c'est la vérification de l'auteur a accès à la clé privée.
La
private key encrypt -> public key decrypt
la direction est appelée "signature" pour le différencier d'être une technique qui peut réellement sécuriser les données.Note: ma description est une simplification pour plus de clarté. Lire cette réponse pour plus d'informations.