OpenSSL X509证书获得弦乐人类可读

Openssl X509 cert get string human readable

本文关键字:人类 X509 证书 OpenSSL      更新时间:2023-10-16

我有一个客户端/服务器体系结构,我在其中使用openssl库实现加密通信(TLSV1.2)。由于我使用"自签名"证书,以验证服务器的标识在TLS的握手阶段。

在客户端,我可以用:

检索后者
X509 *cert = SSL_get_peer_certificate(ssl);

现在,我将提取此对象中包含的公共密钥的人类可读字符串

我知道我可以这样打印:

EVP_PKEY *pkey = X509_get_pubkey(cert);
PEM_write_PUBKEY(stdout, pkey);

,但我需要将其保留为字符串(而不是将其发送到Stdout)。我该怎么做?

使用bio_new()创建一个由内部内存缓冲区支持的新BIO(最初为空)。

然后使用PEM_write_bio_PUBKEY()将公共密钥写入BIO,此时使用BIO的手册页中记录的功能来检索公共密钥。

有关创建BIO,写入并从中读取的简单示例,请参见引用的文档。用PEM_write_bio_PUBKEY()替换样品写操作就足够了。