Hi, 

i need to do some wired stuff where i have to call linux commands from jmeter - 
to be clear its openssl i need to run.Bevore the openssl command is executed i 
have to "echo" something to my system console and want that this is piped to 
openssl.So the command i want to execute is this (and it's working perfect on 
bash)
echo -en "https://my-url.com:8888"; | openssl smime -sing -signer cert.crt 
-inkey cert.key -outform der -binary -md sha384 -out blah.p7

I have a HTTP Sampler and there is a JSR223 PreProcessor as a child with this 
tiny code://First i get the URL from my Sampler
import org.apache.jmeter.protocol.http.sampler.HTTPSampler;String path = 
sampler.getURL();
This works and will print out the URL from the Sampler.Then i do this:
log.info("echo -en $path | openssl smime -sing -signer cert.crt -inkey cert.key 
-outform der -binary -md sha384 -out blah.p7".execute().text)
In my Jmeter console i do see the "log.info" output which looks perfect. BUT it 
seems that nothing happen. I do not see the -out blah.p7 fileCould it be that 
jmeter cant handle the pipe-symbol?

If i do some changes to my command and do not echo my command but paste the url 
as -in directly to my openssl command then its working.Thus i can do 
this:log.info("openssl smime -in https//my-url.com:8888 -sing -signer cert.crt 
-inkey cert.key -outform der -binary -md sha384 -out blah.p7".execute().text)

But as im using different urls i cant make it static - i need to determine the 
url from sampler and paste it to my openssl command.
For sure i will find a way which will work - but maybe someone have an idea 
about the "pipe-symbol" - or what i'm doing wrong?
Br

Reply via email to