tencent cloud

文档反馈

双向认证

最后更新时间:2024-12-05 11:12:05

    功能简介

    HTTPS 双向认证,又称为双向 TLS 认证或客户端认证,是一种安全通信协议,其中服务器和客户端都需要验证对方的身份。在标准 HTTPS 中,主要是服务器向客户端证明自己的身份(通过服务器证书),从而建立起一个安全的、加密的通信通道。双向认证在此基础上更进一步,要求客户端也提供证书,由服务端验证客户端的身份。这种方式常用于需要高度安全的系统,以确保通信双方都是可信任的。

    准备工作

    一本服务端证书,分别是 server.pem、server.key;
    一本客户端证书,分别是 client.pem、client.key;
    根证书:CA.pem,该证书需要将完整的证书链提前上传至至 腾讯云 SSL 控制台,该证书需要包含完整的证书链,格式要求可参考:CA 证书格式和证书链规范
    说明:
    如果您当前还没有购买服务端证书和客户端证书,在测试环境下,您也可以参考使用 OpenSSL 生成自签名证书来生成自签名证书。

    使用限制

    当前每个域名仅支持配置 1 本客户端 CA 证书,支持 RSA、ECC 或者 SM2 国密算法证书。
    如果服务端配置的是国密算法证书,客户端 CA 证书也必须为国密算法证书。

    操作步骤

    例如:需要针对 www.example.com 域名配置双向认证, 客户端 CA 证书已上传至腾讯云 SSL 控制台内。
    1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,单击站点列表,在站点列表内单击需配置的站点
    2. 在站点详情页面,单击域名服务 > 域名管理。
    3. 在域名管理页面,选择待配置证书的域名,在 HTTPS 列内单击编辑,弹出 HTTPS 证书配置,在双向认证配置中,打开边缘双向认证开关并选择已有的客户端 CA 证书进行配置。
    
    4. 单击确定,即可下发配置,部署完成后即可生效。配置完成后,客户端需要携带由该客户端 CA 证书签发的客户端证书进行访问,否则无法完成 HTTPS 握手。您也可以通过参照以下 curl 命令,携带客户端证书信息来验证是否握手成功。
    curl https://www.example.com --cert client.crt --key client.key -v -k
    其中,--cert 为客户端公钥证书在本地的路径,--key 为客户端私钥证书在本地的路径。

    热点问题

    测试时报错,返回:Empty reply from server?

    这种情况下,最常见的可能性是由于当前配置的客户端 CA 证书的证书链不完整,您需要将完整的证书链内容拼接到一起,上传到腾讯云 SSL 控制台内,拼接内容的顺序需要严格按照 CA 证书格式和证书链规范 的顺序进行拼接。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持