You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在服务器QSslSocket上设置客户端CA列表?

服务器端,可以通过 QSslSocket::setCaCertificates 方法设置客户端 CA 证书列表。示例如下:

// 读取客户端 CA 证书
QList<QSslCertificate> caCerts;
QStringList certFiles = { "/path/to/cert1.pem", "/path/to/cert2.pem" };
for (const QString& certFile : certFiles) {
    QFile file(certFile);
    if (file.open(QIODevice::ReadOnly)) {
        QSslCertificate cert(&file, QSsl::Pem);
        if (!cert.isNull()) {
            caCerts.append(cert);
        }
        file.close();
    }
}

// 设置客户端 CA 证书列表
QSslSocket* socket = new QSslSocket(this);
socket->addCaCertificates(caCerts);

注意,在客户端进行 SSL 验证时,需要将客户端的证书链与服务器端的 CA 证书列表进行比对。例如,可以通过以下方法:

void MyClient::sslErrors(const QList<QSslError>& errors)
{
  foreach (const QSslError &error, errors) {
    if (error.error() == QSslError::SelfSignedCertificate ||
      error.error() == QSslError::UnableToGetLocalIssuerCertificate ||
      error.error() == QSslError::UnableToVerifyFirstCertificate) {
      // 根据需要在客户端端处理证书错误
      m_socket->ignoreSslErrors();
      return;
    }
    foreach (const QSslCertificate &cert, error.certificateChain()) {
      if (m_serverCaCerts.contains(cert)) {
        qDebug() << "Certificate verified:" << cert.subjectInfo(QSslCertificate::CommonName);
        return;
      }
    }
  }
  // 不信任的证书
  m_socket->ignoreSslErrors();
}
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

学习 SSL/TLS ,这一篇就够了

如果某个网站受 SSL 证书保护,其相应的 URL 中会显示 HTTPS(超文本传输安全协议)。单击浏览器地址栏的小绿锁,即可查看证书中的详细信息。那么一本证书是如何诞生的?HTTPS 背后的 SSL/TLS 是如何在工作过程中发挥功... Certificate Authority / Certification Authority | 证书颁发机构 || SSL | Secure Sockets Layer | 安全套接字层协议 || TLS | Transport L...

从《孤注一掷》出发,聊聊 SSL 证书的重要性

以及作为网络通信安全基石的 SSL 证书的重要性。## HTTP 协议HTTP(Hyper Text Transfer Protocol)协议是超文本传输协议。它是从 WEB 服务器传输超文本标记语言(HTML)到本地浏览器的传送协议。HTTP 基于 TCP/IP ... 目的是让用户端程序解析“错误”的数据,并以弹出新窗口的形式在使用者界面展示宣传性广告或直接显示某网站的内容。下图是一种典型的 HTTP 劫持的流程。当客户端给服务端发送 HTTP 请求,图中发送请求为“梁安娜的...

「跨越障碍,迈向新的征程」盘点一下2022年度我们开发团队对于云原生的技术体系的变革|社区征文

大家就会很容易知道具体我们做了哪些调整和升级以及采坑。**### Q1季度——【Kubernetes的版本升级】#### 版本升级大纲总体的版本级别的改造大纲如下图所示。![](https://p3-juejin.byteimg.com/tos-cn-i-... 传递给发送请求的 API 客户端。警告可以与允许或拒绝的响应一起返回。 - **「Exec探测超时处理(v1.20版本开始)」** 针对于嗅探机制的超时处理机制 - **「添加了对 Pod 层面启动探针和活跃性探针的控制(v1.20版本...

如何在火山引擎云上部署 Stable Diffusion

演示如何在火山引擎云上部署用户自己的 Stable Diffusion 服务。**Stable Diffusion 环境依赖**如果想把 Stable Diffusion 部署在云端,用户一般需要用到以下产品及服务:* 容器服务 VKE(Kubernetes v1.24)* 镜像仓库 CR* 弹性容器 VCI* 对象存储 TOS* GPU 服务器 ecs.gni2.3xlarge NVIDIA A10* 应用负载均衡 ALB* API 网关 APIG* GPU 共享技术 mGPU* Stable Diffusion:huggingface.co/CompVis/stable-diffu...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

如何在服务器QSslSocket上设置客户端CA列表? -优选内容

客户端使用 SSL 加密连接 Redis
缓存数据库 Redis 版提供了 SSL(Secure Sockets Layer)加密服务,您可以提前开启 SSL 加密功能,在连接数据库时,通过设置 SSL 加密提高数据链路的安全性。本文介绍多语言客户端通过 SSL 加密连接来访问 Redis 数据库... 准备工作 说明 为 Redis 设置 SSL 加密 为目标 Redis 实例开启 SSL 加密功能,并下载 SSL CA 证书。具体操作步骤,请参见设置 SSL 加密。 为 Redis 设置白名单 将安装了客户端的本地服务器或 ECS 实例的 IP 地址加...
客户端使用 SSL 加密连接 MongoDB
文档数据库 MongoDB 版提供了 SSL(Secure Sockets Layer)加密服务,您可以提前开启 SSL 加密功能,在连接数据库时,通过设置 SSL 加密提高数据链路的安全性。本文介绍多语言客户端通过 SSL 加密连接来访问 MongoDB 数据库的具体方法。 前提条件MongoDB 实例已开启 SSL 加密功能,详情请参见设置 SSL 加密。 已将安装了客户端的本地服务器或 ECS 实例的 IP 地址加入到 MongoDB 实例的白名单中。详细操作步骤,请参见设置白名单。 注意事...
设置 SSL 加密
为提高数据链路的安全性,文档数据库 MongoDB 版提供了 SSL(Secure Sockets Layer)加密服务。您可以开通 SSL 加密并将 SSL CA 证书安装到应用服务中。本文介绍如何通过控制台设置 SSL 加密相关功能。 背景信息SSL 加... 在顶部菜单栏的左上角,选择实例所属的项目和地域。 根据实例类型,在左侧导航栏中选择副本集实例列表或分片集实例列表。 在目标实例类型列表页,单击目标实例名称。 在实例详情页,单击数据安全页签。 在数据安全页签...
设置 SSL 加密
为提高链路的安全性,Redis 提供了 SSL(Secure Sockets Layer)加密服务。本文介绍如何在 Redis 控制台上设置 SSL 加密。 背景信息SSL 加密功能在传输层对网络连接进行加密,在提升通信数据安全性的同时,保证数据的完整性。 注意事项由于开通 SSL 加密会增加 Redis 服务的网络响应时间,建议仅在有加密需求时才开通SSL加密(例如通过公网连接 Redis 实例时)。 开启 SSL 加密后,若需要使用 Redis-cli 客户端连接实例,那么:Redis-cli 6 ...

如何在服务器QSslSocket上设置客户端CA列表? -相关内容

新功能发布记录

可用于监控 Server 节点执行 Lua 脚本时的内存使用量。 说明 若您看不到该指标,请先将实例的小版本升级至最新版本。更多详情,请参见升级小版本。 2024-02-27 全部 监控指标说明 支持更多参数 新增 proxy-slow... 读请求会发往距离请求客户端最近可用区的节点,来降低业务访问 Redis 服务的时延。 2023-12-25 全部 设置就近访问 支持更多实例规格 不启用分片集群 Redis 实例新增支持 24 GiB 规格。 2023-12-25 全部 实例规格 20...

从《孤注一掷》出发,聊聊 SSL 证书的重要性

以及作为网络通信安全基石的 SSL 证书的重要性。## HTTP 协议HTTP(Hyper Text Transfer Protocol)协议是超文本传输协议。它是从 WEB 服务器传输超文本标记语言(HTML)到本地浏览器的传送协议。HTTP 基于 TCP/IP ... 目的是让用户端程序解析“错误”的数据,并以弹出新窗口的形式在使用者界面展示宣传性广告或直接显示某网站的内容。下图是一种典型的 HTTP 劫持的流程。当客户端给服务端发送 HTTP 请求,图中发送请求为“梁安娜的...

添加转发规则

本文介绍了如何通过控制台配置转发规则。转发规则指定如何将来自客户端的请求转发到后端服务器。 前提条件后端服务器类型为边缘实例时,负载均衡实例所属的节点下须存在边缘实例。如需创建边缘实例,请参考创建边缘实... 设置转发规则的名称。同一火山引擎账号下的转发规则的名称必须唯一。 域名 选择一个已添加的域名。如无可用域名,您可以单击添加域名来添加一个域名。添加域名的具体操作,请参见添加域名。 SSL解析方式(该参数仅...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

新功能发布记录

会默认创建一个最新备份并在已删除实例备份列表中保留一段时间。当因误操作、账号欠费、或实例到期等导致实例删除时,您可以通过备份恢复已删除实例。 2024-04-25 全部 恢复已删除实例 支持备份恢复相关 API 接口 ... 方便白名单中的客户端对实例进行访问。 2023-12-28 全部 创建实例 支持多可用区同城容灾解决方案 在新建 MongoDB 实例或恢复到新 MongoDB 实例时,新增支持设置多可用区部署方式。相比单可用区部署方式,多可用区部...

错误码

不是好友 BIM_SERVER_DUPLICATE_APPLY(57,"duplicate apply") 重复发起好友申请 BIM_SERVER_NOT_APPLYING(58,"not applying") 不是申请中,无法修改好友状态 BIM_SERVER_UPDATE_FREQUENT(59,"update frequent") 更... 客户端阻塞错误 TTNET_ERR_NETWORK_CHANGED(-21, "net work changed") 网络变化错误 TTNET_ERR_BLOCKED_BY_ADMINISTRATOR(-22, "blocked by administrator") 管理员阻塞错误 TTNET_ERR_SOCKET_IS_CONNECTED(-23, ...

合并客户端证书

对于iOS客户端和Android客户端来说使用比较麻烦,您可先在本地把SSL客户端证书4个文件合并成一个文件,即合并证书到配置文件中。 操作步骤下载SSL客户端证书“certs_vsc-2feuoxsyxxxxxybovbq.zip”到本地,具体操作请... ca.crt 删除或改为:ca ca.crtcert client.crt 删除或改为:cert client.crtkey client.key 删除或改为:key client.key 把ca.crt改为ca.txt,然后在config.txt文件最后添加ca.txt文件的内容。 ca.txt 文件内容 把v...

初始化客户端(Node.js SDK)

初始化客户端时,需要带上 AccessKey ID、AccessKey Secret 和 Region 等信息。在初始化时,您可以设置建立连接超时时间、超时重试次数和最大空闲连接数量等可选参数。 前提条件安装 SDK 获取 AKSK 信息 配置长期访... questTimeout:HTTP 请求超时时间,单位毫秒,默认值为 120000,即 120 秒。 connectionTimeout:建立 HTTP 连接的超时时间,单位毫秒,默认值为 10000,即 10 秒。以下代码展示如何在初始化 TosClient 时配置超时时间。 j...

错误码

鉴权失败 BIM_SERVER_NOT_FRIEND 56 不是好友 BIM_SERVER_DUPLICATE_APPLY 57 重复发起好友申请 BIM_SERVER_NOT_APPLYING 58 不是申请中,无法修改好友状态 BIM_SERVER_UPDATE_FREQUENT 59 更新有并发问题 BIM_SERV... 客户端阻塞错误 TTNET_ERR_NETWORK_CHANGED -21 网络变化错误 TTNET_ERR_BLOCKED_BY_ADMINISTRATOR -22 管理员阻塞错误 TTNET_ERR_SOCKET_IS_CONNECTED -23 长连接已经连接 TTNET_ERR_BLOCKED_ENROLLMENT_CHECK_PE...

「跨越障碍,迈向新的征程」盘点一下2022年度我们开发团队对于云原生的技术体系的变革|社区征文

大家就会很容易知道具体我们做了哪些调整和升级以及采坑。**### Q1季度——【Kubernetes的版本升级】#### 版本升级大纲总体的版本级别的改造大纲如下图所示。![](https://p3-juejin.byteimg.com/tos-cn-i-... 传递给发送请求的 API 客户端。警告可以与允许或拒绝的响应一起返回。 - **「Exec探测超时处理(v1.20版本开始)」** 针对于嗅探机制的超时处理机制 - **「添加了对 Pod 层面启动探针和活跃性探针的控制(v1.20版本...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询