我有 SSL 客户端和服务器,以及像这样的测试 PKI
root_ca -> server_singing_ca -> ssl server
|--> client_signing_ca -> ssl client
在服务器中,我将服务器证书和 server_signing_ca 证书放入同一个文件中,并使用加载文件
SSL_CTX_use_certificate_chain_file().
这样可行。在握手期间,不受信任的中间证书会自动发送给客户端。
我的问题是:我想尽量减少握手期间的数据交换。有没有办法让客户端事先保存 server_signing_ca 证书的副本,以便我可以从服务器端删除它?
而且我不想将 server_signing_ca 的证书添加到受信任的商店。
客户端加载 server_signing_ca 证书的 API 是什么?我调查了
SSL_CTX_add_extra_chain_cert().
但似乎是客户端加载client_signing_ca的证书以形成证书链。