I am trying to write a python script that executes the following terminal command:
echo -n | openssl s_client -connect {host}:{port} | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > {host}_{port}.cert
If I try to break up the command into arguments to pass to the subprocess.run it does not work (something is run but it does not store the certificate as I would like it to.
Using the below sytax correctly executes the command, however I fear it is not best practice and wanted to understand the correct way for how this should be done:
store_certificate_command = f"echo -n | openssl s_client -connect {host}:{port} | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > {host}_{port}.cert" subprocess.run(store_certificate_command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
https://stackoverflow.com/questions/66978310/correct-way-in-python-to-use-subprocess-run-when-pipe-is-in-the-command April 07, 2021 at 09:07AM
没有评论:
发表评论