我正在使用openssl API来获取服务器的证书指纹信息,如下面的代码所示。
X509 *cert = SSL_get_peer_certificate(ssl);
if (!X509_digest(cert, fprint_type, fprint, &fprint_size))
for (j=0; j<fprint_size; ++j) BIO_printf(outbio, "%02x ", fprint[j]);
BIO_printf(outbio,"\n");
同时,我使用命令行获取指纹如下:
openssl s_client -connect <host>:<port> < /dev/null 2>/dev/null | openssl x509 -fingerprint -noout -in /dev/stdin
然后我发现了一个奇怪的行为,在某个网站上,API打印出与命令行相同的指纹,但在某些网站中,我发现了一些奇怪的东西。
我没有正确调用API有什么问题吗?请指教。谢谢。