Am 04.12.19 um 11:33 schrieb [email protected]:
> As you correctly mentioned, "it's working perfect on bash".
>
> Groovy knows nothing about the pipe symbol so you need to execute bash -c
> command <https://www.gnu.org/software/bash/manual/bash.html> and pass your
> whole command as the parameter, something like:
>
>
>> "/bin/bash -c \"echo -en \\\"https://my-url.com:8888\\\" | openssl smime
>> -sing -signer cert.crt -inkey cert.key -outform der -binary -md sha384
>> -out blah.p7\"".execute().text
Alternatively you could use groovy's magic to write the url to the stdin
of the openssl process by using something like
p = "openssl smime ...".execute()
p.withWriter { writer -> writer.println("https://...") }
p.text
I find it more readable. It is probably faster, too, as it doesn't need
to instantiate a shell.
On a side node, groovy's Process instances can be used together with a
pipe symbol inside groovy like the following
p = "date".execute() | "tr a-z A-Z".execute()
p.text
> Groovy neither knows your *$path* environment variable, if the environment
> variable exists and is available to JVM you can read its value using
> System.getEnv()
> <https://docs.oracle.com/javase/tutorial/essential/environment/env.html>
> function
>
> It might be easier to go for OS Process Sampler
> <https://jmeter.apache.org/usermanual/component_reference.html#OS_Process_Sampler>
>
> , check out How to Run External Commands and Programs Locally and Remotely
> from JMeter
> <https://www.blazemeter.com/blog/how-run-external-commands-and-programs-locally-and-remotely-jmeter/>
>
> article for details.
>
> And from the performance perspective instead of calling external
> applications you should rather consider creating the CSR request using i..e
> BouncyCastle API <https://www.bouncycastle.org/>
+1
Felix
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]