JMeter: Site avec authentification par certificat SSL
JMeter permet de tester la charge de sites Web qui utilisent le SSL pour sécuriser le transport en utilisant le protocole « https », et également JMeter permet de tester la charge de sites Web qui utilisent l’authentification par certificats SSL.
Néanmoins, il y a un petit bémol, car l’enregistrement d’une navigation via le HTTP Proxy Server de JMeter permet d’enregistrer une session de navigation en HTTPS, mais ne permet pas de faire de l’authentification par certificat SSL.
Pour l’utilisation du proxy, vous pouvez vous référer à cet article. La seul différence est de cocher le paramétre « Attempt HTTPS Spoofing » dans les paramètres du proxy.

Par contre si vous utilisez le HTTP Proxy Server de JMeter à travers votre navigateur pour aller sur un site demandant une authentication par certificat SSL, vous aurez l’erreur « 501 Method not implemented ». En effet la négociation de certificat SSL n’est pas possible dans JMeter.

Une alternative possible reste de désactiver temporairement l’authentification par certificat SSL sur le site web, si vous en avez la possibilité, puis de faire l’enregistrement de la session avec JMeter. Pour le test de charges ensuite, l’authentification par certificat SSL sera réactivée.
Sinon, et bien, il vous reste à mettre en place vous même les requêtes HTTPS de manière manuelle. Voici un exemple de requête HTTPS.

Après avoir jmeterisé votre scénario fonctionnel, et après avoir activer l’authentification SSL si vous l’aviez désactivé, vous pouvez faire un premier test de vérification.
Le résultat via un « View Results Tree » donnera une erreur « Non HTTP response code: javax.net.ssl.SSLHandshakeException » car l’authentification SSL n’aura pas fonctionnée.

Les données de réponse sont « javax.net.ssl.SSLHandshakeException: Received fatel alert: handshake_failure »

Pour permettre à JMeter de faire l’authentification par certificat SSL, il faut utiliser le menu Options > SSL Manager. Ce dernier permet d’ajouter un fichier de certificat SSL client pour l’authentification.

On sélectionne le fichier PKCS (généré depuis le gestionnaire SSL du serveur Web - par exemple OpenSSL).

Ensuite, on est prêt à faire un nouveau test de tir avec authentification par certificat SSL. Après avoir lancer le tir (Ctrl+R), JMeter nous demande de saisir le KeyStore Password. Il faut saisir le mot de passe du fichier PKCS (qui a été définit lors de la génération du fichier .p12).

Et hop, maintenant on peut voir la page protégée par certificat SSL, car l’authentification s’est bien passée.

En résumé, rien de bien méchant pour tester un site web en HTTPS avec authentification par certificat SSL.
Merci JMeter.
./
Laisser un commentaire