因此,我已经知道如何使用SSL_CTX_load_verify_locations()指定受信任证书的位置。现在,文档说明如下:
SSL_CTX_load_verify_locations()指定用于验证目的的CA证书所在的ctx位置。通过CAfile和CApath提供的证书是可信的。
还说:
当查找CA证书时,OpenSSL库将首先搜索CAfile中的证书,然后搜索CApath中的证书。
这很好。但是没有提到驻留在OPENSSLDIR中的可信系统证书。
SSL_CTX_set_default_verify_paths()覆盖SSL_CTX_load_verify_locations()吗?或者它们是并行工作的,即信任的系统证书和由CAfile和CApath指定的证书?SSL_CTX_get_cert_store()手动将证书添加到证书存储区,即根本不调用SSL_CTX_load_verify_locations(),那么在这种情况下会发生什么?只检查商店证书吗?在这种情况下,要禁用/启用受信任的系统证书检查吗?发布于 2015-11-04 16:48:32
好吧..。所以我试了一下,找出了我需要知道的。
设置:
万无一失测试:
openssl verify of SS_C和SS_S失败,除非我指定CAfileopenssl verify of TR_C和TR_S成功
结果如预期客户机/服务器基本测试:
SSL_CTX_set_default_verify_paths:SS失败- TR成功SSL_CTX_load_verify_locations调用CAfile: SS成功-- TR失败
结果如预期现在,让我们来谈谈更有趣的事情。
对SSL_CTX_set_default_verify_paths 和 SSL_CTX_load_verify_locations**:**的调用
在这种情况下,对SSL_CTX_load_verify_locations的调用总是以SS作为CAfile。
使用X509_STORE 而不是 SSL_CTX_load_verify_locations**:**的
在本例中,我创建了SS的字节数组,获取上下文的证书存储,并将SS添加到其中。
SSL_CTX_set_default_verify_paths + get上下文的存储并将SS添加到其中: SS成功-- TR成功
很好..。它确实起作用https://stackoverflow.com/questions/33421002
复制相似问题