我是 SSL 和 Boost-Beast 库以及 C++ 的新手,但这是另一回事。我有一个关于在 Beast 中使用 HTTPS (SSL) 的问题。我将使用该库连接到 REST 服务并将 JSON 发布到我不控制证书、API 等的服务器。
它有点工作。问题是我不清楚它是如何工作的。在 Beast 附带的示例中,它引用了一个文件example/common/root_certificates.hpp,其中包含两个 base64 格式或类似格式的证书。
当我尝试这个例子时,我让它可以使用 POST 一个 JSON 字符串到服务器,我们称之为“exampleserver.com”。连接到端口 80 和 443。即使我注释掉了它调用根证书函数的行,load_root_certificates(ctx);. 没有出现握手或其他任何错误。并且服务器响应正确。
那么,我的问题是:
1) Beast 库是从那里获得证书exampleserver.com还是我已经安装了它,这就是它起作用的原因?如果是这样,当它到期时会发生什么?我是否必须在使用我的应用程序的每个客户端上重新安装一个新的?我宁愿在我的代码中没有任何硬编码证书来检查它。证书说的DigiCert Global Root CA -> DigiCert SHA2 Secure Server CA是浏览器附带的标准证书?
2)它是否只是在端口 443 上使用了普通 HTTP(无 SSL)?不知道这是否可能......