2016-01-06 1 views
0

J'ai une applet Web Java qui essaie de se connecter à un jeton matériel via PKCS # 11 et signer une chaîne. Lorsque la page Web est chargée, l'applet de signature est chargée. Lorsqu'une boîte de dialogue apparaît dans le formulaire Web, l'utilisateur doit insérer le mot de passe du jeton matériel et après avoir cliqué sur le bouton de signature, le formulaire Web appelle la méthode de signature de l'applet et signe la chaîne émettrice via le certificat du jeton. Notez que toutes ces étapes s'exécutent dans la boîte de dialogue sans aucune demande d'envoi au serveur, de sorte que le JMeter ne peut pas détecter ce qui se passe avant que le texte signé n'envoie une requête au serveur pour enregistrer dans DB.Comment puis-je appeler une méthode d'applet Web via JMeter

(String signé est différent à chaque fois et il est basé sur l'ID différent qui existait sur le champ du formulaire web)

Le problème est de savoir comment puis-je appeler la méthode de signe de l'applet avec JMeter parce que la signature La chaîne est basée sur l'ID, elle serait différente dans le test de charge. Le JMeter ne doit donc pas envoyer une chaîne statique signée dans chaque chargement et doit signer la chaîne différente pour chaque thread.

J'ai essayé de copier le fichier jar de l'applet dans le dossier lib de JMeter et d'appeler la méthode Sign via BSF Sampler mais j'ai obtenu l'exception PKCS # 11 dans la ligne doPrivilaged dans le code de l'applet.

Y a-t-il de l'aide?

Répondre

0

J'ai trouvé la solution,

Parce que PKCS # 11 est dans le paquet sun.security.pkcs11.SunPKCS11 nous devrions utiliser JDK1.7.

Le problème était que JMeter n'était pas configuré pour utiliser le JDK7. Donc, j'edited fichier JMeter.bat et changer

set JM_LAUNCH=java.exe 

avec

set JM_LAUNCH="C:\Java\jdk1.7.0_03\bin\java.exe" 

Hurraaaay. Le problème a été résolu :)

+1

Bon à savoir, vous avez résolu votre problème. La seule chose que je recommanderais de changer est d'utiliser JSR223 Sampler (et groovy language) au lieu de BSF et tout ce que vous utilisez maintenant afin d'obtenir de meilleures performances. Voir [Beanshell vs JSR223 vs Java JMeter Scripting: Les performances que vous attendiez!] (Https://blazemeter.com/blog/beanshell-vs-jsr223-vs-java-jmeter-scripting-its-performance) article pour plus de détails –

+0

@DmitriT oh, c'est la deuxième fois que vous mentionnez ceci. Merci. J'ai mis en lecture sur l'échantillonneur JSR223 dans mon plan. Je crois que vous êtes un expert dans ce domaine et que vous savez que c'est une chose importante à apprendre et à utiliser. Merci encore pour votre aide – BzH