Server 对于使用受信任CA的服务器验证,是否将用于签署服务器证书的CA公钥提供回服务器?
我正在开发一个示例TLS客户机/服务器程序来执行证书验证 对于自签名证书验证,我遵循以下步骤 @服务器端:Server 对于使用受信任CA的服务器验证,是否将用于签署服务器证书的CA公钥提供回服务器?,server,openssl,self-signed,ca,Server,Openssl,Self Signed,Ca,我正在开发一个示例TLS客户机/服务器程序来执行证书验证 对于自签名证书验证,我遵循以下步骤 @服务器端: 已生成服务器密钥文件serverkey.key 从密钥文件生成CSR证书servercert.CSR 数字签名(使用openssl x509实用程序)servercert.csr,使用 生成了rootCA.key和rootCA.cert。服务器证书文件servercert.cert 是生成的 使用加载证书文件(servercert.cert)和密钥文件(serverkey.key) SSL
SSL\u-CTX\u-use\u-certificate\u-file
和SSL\u-CTX\u-use\u-PrivateKey
openssl APISSL\u CTX\u load\u verify\u位置
apiSSL\u get\u verify\u result
()api验证了该服务器的证书
发送证书消息SSL\u CTX\u load\u verify\u locations
api将其加载到客户端的受信任列表中
我的目的是保持代码不变,无论是自签名证书还是有效的CA提供的证书。生成(任何)x509证书时,会发生以下情况:
SSL\u CTX\u load\u verify\u locations
函数(以及一些其他类似函数-请参阅OpenSSL文档)指定此“存储”
总结如下:
在您的情况下,SSL\u CTX\u load\u verify\u locations
所指的位置应包含您的CA的证书-所有证书-整个证书链,直至自签名根证书。您可以从CA(在您的案例中是GoDaddy)获得链中的所有证书
我希望这有帮助。
如果我能进一步澄清,请询问