首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

curl:(35)通道: SNI或证书检查失败: SEC_E_WRONG_PRINCIPAL (0x80090322) -目标主体名称不正确

curl是一个开源的命令行工具,用于发送HTTP、HTTPS、FTP等请求,并获取服务器的响应。它支持多种协议和各种功能,是开发人员和系统管理员常用的工具之一。

在这个问题中,错误信息"(35)通道: SNI或证书检查失败: SEC_E_WRONG_PRINCIPAL (0x80090322) -目标主体名称不正确"表示curl在建立HTTPS连接时遇到了问题。具体来说,这个错误可能是由于以下原因之一引起的:

  1. SNI(Server Name Indication)检查失败:SNI是TLS/SSL协议的扩展,用于在建立连接时告知服务器要访问的域名。如果服务器要求提供SNI信息,但curl未正确提供或提供的SNI与服务器期望的不匹配,就会导致此错误。
  2. 证书检查失败:HTTPS连接需要使用服务器提供的证书进行加密和身份验证。如果服务器的证书无效、过期、不受信任或与域名不匹配,curl会拒绝建立连接并报告此错误。
  3. 目标主体名称不正确:这个错误可能是由于服务器返回的证书中的主体名称与实际访问的域名不匹配引起的。主体名称是证书中的一个字段,用于指示证书所属的实体(通常是域名)。如果主体名称与实际访问的域名不匹配,curl会认为证书无效并报告此错误。

为了解决这个问题,可以尝试以下方法:

  1. 检查域名和SNI:确保curl的请求中提供了正确的SNI信息,与服务器期望的域名匹配。可以使用-H "Host: example.com"参数来指定请求的域名。
  2. 检查证书有效性:使用-k参数(或--insecure)可以忽略证书验证,但这会降低连接的安全性。如果需要进行证书验证,请确保服务器的证书是有效的、未过期的,并由受信任的证书颁发机构签发。
  3. 检查主体名称:如果服务器返回的证书中的主体名称与实际访问的域名不匹配,可以尝试使用-H "Host: example.com"参数来指定请求的域名,或者使用--resolve参数来手动解析域名并指定IP地址。

需要注意的是,以上方法仅供参考,具体解决方法可能因实际情况而异。如果问题仍然存在,建议查阅curl的官方文档或寻求相关技术支持。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云主页:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 物联网平台(IoT Explorer):https://cloud.tencent.com/product/explorer
  • 移动开发平台(MPS):https://cloud.tencent.com/product/mps
  • 区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 元宇宙服务(Tencent Real-Time Rendering):https://cloud.tencent.com/product/trr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Envoy架构概览(7):断路,全局限速和TLS

客户端证书:除了服务器证书验证之外,上游/客户端连接还可以提供客户端证书证书验证和固定:证书验证选项包括基本链验证,主题名称验证和哈希固定。 ALPN:TLS监听器支持ALPN。...HTTP连接管理器使用这个信息(除了协议推断)来确定客户端是否正在讲HTTP / 1.1HTTP / 2。 SNISNI当前支持客户端连接。 听众的支持可能会在未来添加。...启用证书验证 除非验证上下文指定了一个多个受信任的授权证书,否则上游和下游连接的证书验证都不会启用。...cURL在标准的Debian安装上执行。...认证过滤器 Envoy提供了一个网络过滤器,通过从REST V**服务获取的主体执行TLS客户端身份验证。 此过滤器将提供的客户端证书哈希与主体列表进行匹配,以确定是否允许连接。

1.6K60

【服务网格架构】Envoy架构概览(7):断路,全局限速和TLS

客户端证书:除了服务器证书验证之外,上游/客户端连接还可以提供客户端证书证书验证和固定:证书验证选项包括基本链验证,主题名称验证和哈希固定。 ALPN:TLS监听器支持ALPN。...HTTP连接管理器使用这个信息(除了协议推断)来确定客户端是否正在讲HTTP / 1.1HTTP / 2。 SNISNI当前支持客户端连接。听众的支持可能会在未来添加。...启用证书验证 除非验证上下文指定了一个多个受信任的授权证书,否则上游和下游连接的证书验证都不会启用。...cURL在标准的Debian安装上执行。...认证过滤器 Envoy提供了一个网络过滤器,通过从REST VPN服务获取的主体执行TLS客户端身份验证。此过滤器将提供的客户端证书哈希与主体列表进行匹配,以确定是否允许连接。

60510
  • 如何隐蔽你的C2

    curl https://192.168.106.5:50050 -v -k 修改服务端证书CobaltStrike.store 服务器端使用的证书CobaltStrike.store,为了掩盖默认...google.com -dname "CN=(名字与姓氏), OU=(组织单位名称), O=(组织名称), L=(城市区域名称), ST=(州省份名称), C=(单位的两字母国家代码)" -alias...), O=(组织名称), L=(城市区域名称), ST=(州省份名称), C=(单位的两字母国家代码)" keytool -importkeystore -srckeystore cobaltstrike.store...在HTTP(S)请求中,目标域名通常显示在三个关键位置:DNS查询,TLS(SNI)拓展及HTTP主机头中。...比如TLS握手可以携带一个叫做加密服务器名称指示(SNI)的扩展, 这个扩展帮助客户端告诉服务器其想要访问的网站的域名。包括x国在内的审查者利用这一扩展来检查并阻止用户访问特定的网站。

    1.8K51

    网络安全的第一道防线:深入探索sslscan在SSLTLS证书安全检测中的原理与实践

    使用此参数,会将证书的详细信息在最后一部分展示:sslscan --show-certificate 篇幅过长,只截取部分:4.指定SNI(--sni-name)SNI(Server Name...,Web服务器可以检查SNI主机名,选择适当的证书,继续完成握手。...示例:sslscan --sni-name= 不指定SNI的情况下,目标是IP则为IP,目标是域名则为域名。...5.不检查证书有效性(--no-check-certificate)此参数和curl的-k参数,wget的--no-check-certificate参数作用类似,不检测证书有效性。...但也有所区别,区别在于sslscan加上此类参数,只是不输出『输出结构』中的第八部分证书信息,curl和wget命令的相关参数如果不加,如果证书无效,则直接报错无法往下进行,TLS握手都无法完成。

    6.8K109100

    实战记录—PHP使用curl出错时输出错误信息

    此版cURL 不支持这一协议。 2 初始化代码失败 初始化失败。 3 URL格式不正确 URL 格式错误。语法不正确。 4 请求协议错误 5 无法解析代理 无法解析代理。无法解析给定代理主机。...找不到所请求的URL 返回另一个HTTP 400或以上错误。 此返回代码只出现在使用了-f/--fail 选项以后。 23 数据写入失败 写入错误。cURL 无法向本地文件系统类似目的写入数据。...35 SSL/TLS握手失败 SSL 连接错误。SSL 握手失败。 36 下载无法恢复 FTP 续传损坏。不能继续早些时候被中止的下载。 37 文件权限错误 文件无法读取。无法打开文件。权限问题?...51 远程服务器的SSL证书 peer 的SSL 证书SSH 的MD5指纹没有确定。 52 服务器无返回内容 服务器无任何应答,该情况在此处被认为是一个错误。...81 服务未准备 82 无法载入CRL文件 无法加载CRL 文件,丢失格式不正确(在7.19.0版中增加) 。 83 发行人检查失败 签发检查失败(在7.19.0版中增加) 。 就这点事,告辞

    6K50

    Kong网关:入门、实战与进阶-重读

    snis和hosts属性,但通常不推荐这样做 SNI的重要性 SNI在TLS握手期间指示要连接的服务器,支持多个SSL证书安全托管在同一IP地址上 使用SNI时,每个HTTPS网站可以拥有独立的TLS证书...如果在snis属性中指定多个SNI,仅需匹配其中任何一个即可,名称之间匹配满足“”关系。 SNI指示在TLS握手期间要连接的服务器,并且在建立TLS连接后无法修改。...注意 SNI(server Name Indication,服务器名称指示)指示在握手期间浏览器正在联系的主机名,允许服务器为多个网站安全地托管多个SSL证书。多个网站存在于同一IP地址上。...使用SNI时,服务器的主机名包含在TLS握手中,这使得HTTPS网站具有唯一的TLS证书(即使网站共享IP地址)。...验证结果逻辑 身份验证结果取“与”关系 身份验证结果取“”关系 “与”关系时,最后一个插件的凭据信息接入上游;“”关系时,第一个成功的最后一个匿名消费者的信息接入 认证失败行为 返回40XX错误

    5K10

    Kong网关upstream健康检查机制

    Kong支持两种模式的健康检查,可以单独使用结合使用: 主动检查(active checks):定期请求target的特定的HTTPHTTPS的endpoint,根据其响应确定目标的健康状况; 被动检查...如果“TCP失败”、“HTTP失败“超时”计数器中的任意一个达到配置的阈值,target将被标记为不健康状态。 如果“成功”计数器达到配置的阈值,则target将被标记为正常。...被动健康检查不会对目标产生额外的流量,主动进行健康检查会产生额外流量。...如果使用HTTPS健康检查,还可以指定以下字段: healthchecks.active.https_verify_certificate – 使用HTTPS执行健康检查时是否检查远程主机的SSL证书的有效性...healthchecks.active.https_sni – 使用HTTPS执行健康检查时的SNI(服务器名称标识)主机名。 当target使用IP时,只有配置SNI才可以正常验证目标主机的证书

    3K30

    curl命令

    gssapi service sockd将使用sockd/proxy name--socks5 proxy name--socks5 gssapi service sockd/real name将在代理名称主体名称不匹配的情况下使用...退出代码 1: 不支持的协议,curl的这个版本不支持这个协议。 2: 初始化失败。 3: URL格式不正确,语法不正确。...35: SSL连接错误,SSL握手失败。 36: FTP错误下载恢复,无法继续先前中止的下载。 37: FILE无法读取文件,无法打开文件,可能是权限问题。...55: 发送网络数据失败。 56: 接收网络数据失败。 58: 本地证书有问题。 59: 无法使用指定的SSL密码。 60: 对等证书不能用已知的CA证书进行身份验证。 61: 无法识别的传输编码。...82: 无法加载CRL文件,缺少格式错误,在7.19.0中添加。 83: 发卡机构检查失败,在7.19.0中添加。 84: FTP PRET命令失败。 85: RTSP:CSeq编号不匹配。

    9.1K40

    听GPT 讲Istio源代码--pilot(3)

    permissionRequestedServerName函数返回一个基于请求的服务器名称的权限,用于检查请求是否允许访问特定的服务器。...以下是对每个结构体和函数的详细介绍: 结构体: Source:定义了信任证书源的类型和名称。 TrustAnchorConfig:定义了信任锚点配置的结构,包括证书的签发者和有效期等信息。...SNI:服务器名称指示(Server Name Indication),用于匹配请求的SNI。 ApplicationProtocolInput:应用层协议输入,用于匹配请求的应用层协议。...重试是一种网络容错机制,用于当请求失败时进行重复尝试,以提高系统的可靠性和稳定性。在Istio中,通过配置路由规则的重试功能,可以定义当请求失败时进行重试的条件、策略、优先级等。...它包含了一些属性,如监听器名称目标过滤链匹配、统计前缀等。 StatPrefix是在统计信息中使用的前缀。Name是监听器的名称。ToFilterChainMatch是目标过滤链的匹配条件。

    17740

    ​调试必备!详解 HTTP 客户端调用 K8S API,建议收藏!

    使用 CLI(如 curl GUI(如 postman )HTTP 客户端调用 Kubernetes API 有很多原因。...由于 curl 无法信任它,因此请求失败。 默认情况下,curl 信任底层操作系统所信任的同一组 CA。...但是,任何提供由集群的证书颁发机构签名的有效证书的用户,都被视为已通过身份验证。Kubernetes 从证书subject中的通用名称字段中获取用户名(例如,CN = minikube-user)。...cluster1/client.crt", "client-key": "/home/vagrant/.minikube/profiles/cluster1/client.key" } } 让我们快速检查证书内容以确保它是由同一个...但也有一个缺点:我找不到任何PATCHWATCH支持,因此curl访问为您提供了更多功能。

    10.2K31

    Windows事件ID大全

    23 数据错误(循环冗余检查)。 24 程序发出命令,但命令长度不正确。 25 驱动器找不到磁盘上特定区域磁道。 26 无法访问指定的磁盘软盘。 27 驱动器找不到请求的扇区。...114 目标内部文件标识符不正确。 117 应用程序发出的 IOCTL 调用不正确。 118 验证写入的切换参数值不正确。 119 系统不支持请求的命令。 120 这个系统不支持该功能。...149 企图将驱动器合并替代为驱动器上目录是上一个替代的目标的驱动器。 150 系统跟踪信息未在 CONFIG.SYS 文件中指定,不允许跟踪。...186 传递的标志不正确。 187 找不到指定的系统信号灯名称。 196 操作系统无法运行此应用程序。 197 操作系统当前的配置不能运行此应用程序。 199 操作系统无法运行此应用程序。...4961 ----- IPsec丢弃了重放检查失败的入站数据包 4962 ----- IPsec丢弃了重放检查失败的入站数据包 4963 ----- IPsec

    18K62

    TLS协议分析 (五) handshake协议 证书与密钥交换

    如果服务器有多个证书,就必须从中选择一个,一般根据服务器的外网ip地址,SNI中指定的hostname,服务器配置来做选择。如果服务器只有一个证书,那么要确保这一个证书符合这些条件。...不幸的是,有些不正确的老的代码使用了协商得到的版本号,导致检查client_version字段的时候,和正确的实现无法互通。 客户端实现必须在PreMasterSecret中发送正确的版本号。...如果版本号是 TLS 1.0 或者更早,服务器必须检查版本号,但是可以通过配置项关闭检查。 要注意的是,如果版本号检查失败了,PreMasterSecret 应该像下面描述的那样填充成随机数。...处理 RSA 加密的 premaster 消息失败, 2.或者版本号检查失败 时产生alert消息。当遇到这两种情况时,服务器必须用随机生成的 premaster 值继续握手。...服务器可以把造成失败的真实原因log下来,用于调查问题,但是必须小心确保不能把这种信息泄漏给攻击者(比如通过时间侧通道,log文件,或者其它通道等泄漏)。

    1.5K20

    ipa如何安装到iphone

    苹果协议更新的常见的3个网址,每个网址都需要进去检查一遍,检查完了点击右上角的切换账号按钮,再进去检查一遍,检查完了点击右上角的切换账号按钮,再进去检查一遍,检查完了点击右上角的切换账号按钮,再进去检查一遍...如果apple检测到ipa有问题,是不会出现在app管理后台中的,就会出现大家经常遇到的在apple app管理中心找不到版本不是等待上传状态这是因为bundle id不正确导致的。...2试试,通道2不支持中文目录和中文,特殊字符等文件名称。...遇到此错误第一个请确保工具是最新的,不是最新的不确定是不是最新的就重新下载工具后再试试。...编译app失败提示错误这是因为软件发布的时候使用的证书不是发布证书,在工具里面制作一个证书选择ios distribution 类型或者apple distribution 类型。

    49610

    Istio的流量管理(实操二)(istio 系列四)

    可以使用cert-manager生成这些证书。 指定路径类型 默认情况下,Istio会将路径视为完全匹配,如果路径使用/**结尾,则该路径为前缀匹配。不支持其他正则匹配。...--resolve标记可以在使用curl访问TLS的网关IP时,在SNI中支持httpbin.example.com。--cacert选择支持使用生成的证书校验服务。...: (35) NSS: client certificate not found (nickname not specified) 生成client的证书和私钥。...校验log中显示了网关agent从ingress网关接收到了SDS请求,资源的名称为 httpbin-credential,且ingress网关获取到了密钥/证书对。...如果使用了mutual TLS,日志应该显示将密钥/证书发送到ingress网关,网关agent接收到了带 httpbin-credential-cacert 资源名称的SDS请求,并回去到了根证书

    1.4K10

    appuploader 上架详解大全(上)

    苹果协议更新的常见的3个网址,每个网址都需要进去检查一遍,检查完了点击右上角的切换账号按钮,再进去检查一遍,检查完了点击右上角的切换账号按钮,再进去检查一遍,检查完了点击右上角的切换账号按钮,再进去检查一遍...2试试,通道2不支持中文目录和中文,特殊字符等文件名称。...遇到此错误第一个请确保工具是最新的,不是最新的不确定是不是最新的就重新下载工具后再试试。...新建ios描述文件 然后点击新建,然后输入描述文件名称,描述文件名称字符和数字,自己好辨识就可以。...证书类型不正确下面这个是因为证书和描述文件不正确,发布需要选择app store 类型的描述文件和distribution类型的发布证书

    1.3K20

    《简化iOS APP上架流程,App Uploader助你搞定!》

    如果apple检测到ipa有问题,是不会出现在app管理后台中的,就会出现大家经常遇到的在apple app管理中心找不到版本不是等待上传状态这是因为bundle id不正确导致的。...2试试,通道2不支持中文目录和中文,特殊字符等文件名称。...遇到此错误第一个请确保工具是最新的,不是最新的不确定是不是最新的就重新下载工具后再试试。...编译app失败提示错误这是因为软件发布的时候使用的证书不是发布证书,在工具里面制作一个证书选择ios distribution 类型或者apple distribution 类型。...当然类似的还有提示没有推送权限,那就开启推送权限后重新编译app 安装提示验证失败这是因为ipa不是使用开发证书编译,或者开发证书描述文件里面没有加入当前设备的udid。

    35430
    领券