Utilisation du certificat client dans la commande Curl
Commande Curl:
curl -k -vvvv --request POST --header "Content-Type: application/json" --cert client.pem:password --key key.pem "https://test.com:8443/testing"
J'essaie d'envoyer un certificat du client à l'aide de Curl commande spécifiée ci-dessus. Je suis en train d'essayer de savoir ce qui suit:
-
Qu'est-ce que la tête de requête HTTP que je devrais regarder sur le côté serveur de retirer le certificat du client à partir de la Requête HTTP.
-
Si je ne peux pas retirer le certificat du client sur le serveur de la Requête HTTP, puis-je ajouter une demande personnalisée en-tête de la Requête HTTP et envoyer le certificat du client en tant que valeur de l'en-tête personnalisé. Il serait génial si quelqu'un pouvait me donner un exemple de cette approche.
source d'informationauteur sunsin1985
Vous devez vous connecter pour publier un commentaire.
Client TLS certificats ne sont pas envoyés dans les en-têtes HTTP. Elles sont transmises par le client dans le cadre de la TLS poignée de mainet le serveur va généralement de vérifier la validité du certificat lors de la poignée de main.
Si le certificat est accepté, la plupart des serveurs web peut être configuré pour ajouter des en-têtes de la transmission du certificat ou d'une information figurant sur le certificat de l'application. Les variables d'environnement sont remplis avec les informations de certificat dans Apache et Nginx qui peut être utilisé dans d'autres directives pour la définition des en-têtes.
Comme un exemple de cette approche, à la suite de Nginx config extrait de valider un certificat client, puis définissez la
SSL_CLIENT_CERT
- tête pour passer le certificat entière à l'application. Ce sera seulement être réglé lorsque le certificat a été validé avec succès, de sorte que l'application peut ensuite analyser le certificat et s'appuient sur l'information qu'il porte.C'est la façon dont je l'ai fait: