Utilisation de curl -avec --cert
J'utilise cUrl pour demander des données à partir d'un site web d'entreprise site à l'aide d'un .cer certificat qu'ils m'ont envoyé.
C'est la commande:
cUrl --header "Content-Type: text/xml;charset=UTF-8" \
--data @bustaRequestISEE2015ConsultazioneAttestazione.xml \
-o bustaResponseISEE2015ConsultazioneAttestazione.xml \
--cert ./caaffabisrl.cer \
https://istitutonazionaleprevidenzasociale.spcoop.gov.it/PD
Quand je le lance, j'obtiens ce message d'erreur:
curl: (58) n'a pas pu charger PEM certificat client, OpenSSL erreur erreur:0906D06C:PEM routines:PEM_read_bio:pas de ligne de départ, (pas de clé, mauvais mot de passe, ou wro
ng format de fichier?)
Est qu'il ya quelqu'un qui peut m'aider?
Tks, Cristiano.
Vous devez vous connecter pour publier un commentaire.
Il n'est pas possible de se connecter à un serveur TLS avec curl en utilisant seulement un certificat client, sans la clé privée du client. Soit ils ont oublié de vous envoyer le fichier de clé privée, ou, ce qu'il a envoyé n'était pas le certificat du client mais le certificat de serveur pour vérification.
La première chose que je voudrais faire est d'essayer en utilisant
--cacert
au lieu de--cert
. C'est, dites-curl que c'est la du serveur certificat curl pouvez utiliser pour vérifier que le serveur est ce que vous pensez qu'il est.Vous pouvez également essayer d'enlever
--cert
et n'utilisant pas de--cacert
, et vous obtiendrez probablement une erreur que le serveur n'est pas digne de confiance. Puis ajouter le--insecure
argument et voir si cela fonctionne. Je ne voudrais pas garder cet argument, car alors vous n'avez aucune preuve de qui vous parlez.Ma conjecture est que c'est le serveur cert, et que l'utilisation de
--cacert
au lieu de--cert
permettra de résoudre le problème.--cacert
il fixe.Ma conjecture est que votre certificat est un fichier binaire codé DER certificat à la place de codé en base 64 certificat. Pour convertir la de binaire en base 64, vous pouvez utiliser OpenSSL.
J'oublie toujours que tous les arguments et les suivantes site en signet, comme il donne des exemples de la façon de convertir pratiquement n'importe quel format de certificat. https://www.sslshopper.com/ssl-converter.html