如何在 openssl cmp 中启用跟踪(openssl 版本 3 及以上)?

问题描述 投票:0回答:2

我想在 openssl CMP CLI 中启用跟踪级别日志记录,以便打印 HTTP 请求/响应标头详细信息。

我尝试了以下方法,但没有成功。

  1. 使用enabe-trace选项构建openssl。有一个配置文件,用于创建 make 文件并最终使用 make install 来安装 openssl。尝试在运行配置文件时提供启用跟踪选项。

./config 启用跟踪

  1. 当(1)不起作用时,我尝试从配置文件中删除跟踪禁用选项。 openssl 包中的配置文件中有一个 our%disabled 部分,其中包含默认禁用的实用程序。这也没有成功。

除了上述 2 之外,还在 CLI 中传递了详细级别 8(即跟踪)来打印跟踪级别日志,但最终又退回到详细级别 7 的调试。

编辑:如何从 CLI 检查跟踪是否已启用?

openssl trace pki
2个回答
1
投票

从您的问题中不清楚您是否正在使用 OpenSSL CMP 命令行应用程序,或者您是否正在编写自己的使用 OpenSSL CMP API 的应用程序。

无论哪种方式,您都需要在编译时启用“跟踪”,就像在 (1) 中所做的那样作为先决条件。然而,这本身还不够。

如果使用命令行应用程序,则应使用

-verbosity
选项设置所需的详细级别。请参阅此处的手册页:

https://www.openssl.org/docs/man3.0/man1/openssl-cmp.html

如果您正在编写自己的应用程序,那么您需要使用跟踪 API 来设置跟踪日志记录。查看本页描述的功能进行设置:

https://www.openssl.org/docs/man3.0/man3/OSSL_trace_set_channel.html


0
投票

OpenSSL 跟踪工具使用起来相当尴尬,并且迄今为止其在 CLI 级别的使用记录很少。昨天,我自己很难重新发现如何在运行时使用它(与其他一些 OpenSSL 应用程序一起使用)。

这就是为什么我确保对于 CMP 功能本身,有一个不同的跟踪选项,该选项有充分的记录,并且可以轻松使用而无需重新构建:上面已经提到的

-verbosity <level>
选项。

为了在 CLI 级别跟踪 HTTP 传输(对于 CMP 或任何其他 OpenSSL 应用程序),您需要使用

enable-trace
选项自行配置和构建 OpenSSL 适当设置
OPENSSL_TRACE
环境变量,例如像这样的例子:

OPENSSL_TRACE=HTTP apps/openssl cmp 

请注意,我确实为 CMP 记录了这一点 - 请参阅

man openssl-cmp

If OpenSSL was built with trace support enabled
and the environment variable OPENSSL_TRACE includes HTTP, 
the request and response headers of HTTP transfers are printed.
© www.soinside.com 2019 - 2024. All rights reserved.