有没有办法配置 openssl,以便在运行未指定 -CAfile 选项的 s_client 命令时使用一些默认 CA 文件(例如 /etc/ssl/certs/ca-certificates.crt)?
答案1
配置文件不是答案。它使用带方括号的行(如[default_CA]
和)组织成部分[req_exts]
。有一些部分是所有openssl
子命令都会读取的(对于引擎和 addOID),但除此之外,只有适用于特定子命令的部分以及有时适用于该子命令的模式的部分才会使用,并且没有这样的部分适用于s_client
。
该库提供了一个SSL_CTX_default_verify_paths
供应用程序调用的例程(我相信很多/大多数其他应用程序都这样做),并且那里使用的位置确实依赖于系统(或包装器)编辑:或者也可以通过环境变量设置。但 s_client.c 只调用这个例程如果你做指定至少一个有效的 -CA{file,path} 参数,否则不指定,这似乎毫无帮助。2010 年有一张关于此问题的票据,但未显示任何操作。