openssl3.2 – linux脚本(.sh)调用openssl命令行参数的简单确认方法
概述
在琢磨官方工程中的/test/certs中的2个脚本(setup.sh, mkcert.sh)
这2个脚本有不到500个openssl命令行调用, 应该是openssl内部测试证书操作的脚本.
确定这2个脚本是好东西(将证书操作一网打尽, 弄清了这2个脚本, 就没有不会的证书操作了).
但是脚本调用, 到了调用openssl时, 参数拼接很烦人, 我只想看具体到了openssl的可执行文件, 到底给了啥命令行参数.
有一些参数是用管道给的, 用stdin给的一个buffer代表一个参数文件, 这很烦啊.
官方给用户的正式例子, 都是用 in 参数, 然后给一个文件名. 这样多清爽.
.sh又不熟, 想将.sh改成可以传文件名给openssl的例子, 可能要花多一些时间.
一直在琢磨是否有更好的方法能确定最终的openssl命令行参数, 突然想到, 为啥不直接将openssl实现给改了, 在程序入口, 写几句日志, 将命令行参数记录下来, 这不一了百了啊. 研究啥.sh怎么写啊.
只要确定给了啥命令行参数, 那就好办了.
我已经编译好了在windows下可用的VS2019的openssl.exe的工程, 那就在自己工程中, 舒舒服服的调试好了(openssl3.2 – 自己构建openssl.exe的VS工程(在编译完的源码版本上), openssl3.2 – 在VS2019下源码调试openssl.exe).
笔记
修改openssl实现的前置条件
已经在debian12.4下, 配置, 编译, 测试, 安装都通过了.
且配置了debian12.4, 让本地普通目录中运行openssl命令行已经好使(openssl3.2 – 编译).
修改debian12.4下编译好的openssl实现, 将入口参数记录下来
参照我重建的win版openssl.exe工程, 可知 main()函数在openssl.c
去debian12.4下原版源码目录中确定是./apps/openssl.c
修改如下, 只在程序入口处, 加了一段日志文件的操作, 将openssl可执行文件的命令行参数附加到日志文件.