【发布时间】:2017-01-04 06:54:12
【问题描述】:
我正在开发一个示例 TLS 客户端/服务器程序来执行证书验证。
对于自签名证书验证,这些是我遵循的步骤。
@服务器端:
- 生成了服务器密钥文件 serverkey.key
- 从密钥文件生成了 CSR 证书 servercert.csr。
- 使用 openssl x509 实用程序对 servercert.csr 进行数字签名(使用 生成 rootCA.key 和 rootCA.cert。服务器证书文件 servercert.cert 已生成。
- 使用加载证书文件(servercert.cert)和密钥文件(serverkey.key)
SSL_CTX_use_certificate_file和SSL_CTX_use_PrivateKeyopenssl api。
@客户端:
- 已加载服务器 ca 文件 --> rootCA.cert(手动复制到
客户端)使用
SSL_CTX_load_verify_locationsapi。 - 使用
SSL_get_verify_result() api 验证了服务器的证书 发送证书消息。
我的问题是,如果我使用受信任的 CA(如 godaddy)签署服务器 CSR 证书,CA 是否会提供其公钥文件(类似于 rootCA.cert)以及用于签约?
通过它我可以使用SSL_CTX_load_verify_locations api 将其加载到客户端的受信任列表中。
我的目的是保持代码不变,无论是自签名证书还是有效的 CA 提供的证书。
【问题讨论】:
标签: server openssl self-signed ca