J'ai besoin d'un nom de hachage pour le fichier à publier dans le répertoire CApath de Stunnel. J'ai des certificats dans ce répertoire et ils fonctionnent bien. De plus, j'ai un serveur sert et une clé de serveur:
cert = c:\Program Files (x86)\stunnel\server_cert.pem
key = c:\Program> Files (x86)\stunnel\private\server_key.pem
Lorsque j'essaye de calculer un hachage de mon nouveau certificat, 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
Si je comprends bien, je dois signer mon certificat, mais je ne comprends pas comment je peux le faire. Veuillez fournir la solution.
PS:
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 un contenu comme
-----BEGIN CERTIFICATE-----
...6UXBNSDVg5rSx60=..
-----END CERTIFICATE-----
Quand j'écris
openssl x509 -noout -text -in cert.pem
Dans le panneau de la console, je vois ces informations:
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
et descert
fichiers dans l'https
objet de configuration fourni àwebpack.config
l »devServer
.Réponses:
Puisque vous êtes sous Windows, assurez-vous que votre certificat sous Windows est "compatible", surtout qu'il n'a pas
^M
à la fin de chaque ligneSi vous l'ouvrez, cela ressemblera à ceci:
Pour résoudre "ceci", ouvrez-le avec
Write
ou Notepad ++ et faites-le convertir en "style" WindowsEssayez d'exécuter
openssl x509 -text -inform DER -in server_cert.pem
et de voir quelle est la sortie, il est peu probable qu'une clé privée / secrète ne soit pas approuvée, la confiance n'est nécessaire que si vous avez exporté la clé à partir d'un keystore, n'est-ce pas?la source
openssl x509 -hash -noout -in
il fait une extraction de hachage, voyez si cela 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
lorsque j'essaye de me connecterca
pour leur certificat CAopenssl x509 -text -inform DER -in server_cert.pem
converti monp7b
certificat encodé (?) En quelque chose utilisable.Une autre cause possible de cela est d'essayer d'utiliser le module x509 sur quelque chose qui n'est pas x509
Le certificat du serveur est au format x509, mais la clé privée est rsa
Alors,
la source
Ma situation était un peu différente. La solution était de supprimer le .pem de tout ce qui se trouvait en dehors des sections CERTIFICATE et PRIVATE KEY et d'inverser l'ordre dans lequel ils apparaissaient. Après la conversion du fichier pfx en fichier pem, le certificat ressemblait à ceci:
Après avoir corrigé le fichier, c'était juste:
la source
cat $SOURCE/privkey.pem $SOURCE/fullchain.pem > server.pem
Mon erreur était simplement d'utiliser le fichier CSR au lieu du fichier CERT.
la source
key is not found
J'ai eu le même problème en utilisant Windows, obtenu s'il est résolu en l'ouvrant dans Notepad ++ et en changeant l'encodage de "UCS-2 LE BOM" à "UTF-8".
la source
Changez l'encodage dans notepad ++ UTF-8 avec BOM . C'est comme ça que ça a marché pour moi
la source
Vous pouvez obtenir cette erreur trompeuse si vous essayez naïvement de le faire:
Le chiffrement des données à l'aide d'une clé privée n'est pas autorisé par conception .
Vous pouvez voir à partir des options de ligne de commande pour open ssl que les seules options pour
encrypt -> decrypt
aller dans une directionpublic -> private
.L'autre direction est intentionnellement empêchée parce que les clés publiques "peuvent être devinées". Ainsi, chiffrer avec une clé privée signifie que la seule chose que vous gagnez est de vérifier que l'auteur a accès à la clé privée.
La
private key encrypt -> public key decrypt
direction est appelée «signature» pour la différencier d'une technique qui peut réellement sécuriser les données.Remarque: ma description est une simplification pour plus de clarté. Lisez cette réponse pour plus d'informations .
la source