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

使用自定义CA证书进行证书交换时,iOS 12应用REST调用失败

在iOS 12中,当应用程序尝试使用自定义CA证书进行证书交换时,可能会导致REST调用失败。这是由于iOS 12引入了更严格的证书验证机制,以提高应用程序的安全性。

自定义CA证书是一种由自己或组织创建的证书,用于验证服务器的身份和建立安全连接。在证书交换过程中,应用程序会验证服务器的证书是否由受信任的证书颁发机构(CA)签发。然而,在iOS 12中,如果自定义CA证书不符合苹果的安全标准,iOS将拒绝与服务器建立连接,导致REST调用失败。

为了解决这个问题,可以采取以下步骤:

  1. 检查自定义CA证书的有效性:确保自定义CA证书是由受信任的CA签发的,并且证书链完整。可以使用证书管理工具(如Keychain Access)来验证证书的有效性。
  2. 更新自定义CA证书:如果自定义CA证书不符合iOS 12的安全标准,可以尝试更新证书以满足要求。可以联系证书颁发机构获取更新的证书。
  3. 使用受信任的CA证书:如果自定义CA证书无法满足iOS 12的要求,可以考虑使用受信任的CA证书。受信任的CA证书是由苹果预先信任的证书颁发机构签发的,可以确保与服务器的安全连接。
  4. 考虑使用其他安全机制:除了自定义CA证书,还可以考虑使用其他安全机制,如TLS Pinning(固定证书公钥)或使用苹果提供的安全框架(如Secure Transport)来确保与服务器的安全通信。

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

  • SSL证书:腾讯云提供的SSL证书服务,可以帮助您获取受信任的CA签发的证书,确保与服务器的安全连接。详情请参考:https://cloud.tencent.com/product/ssl-certificate

请注意,以上答案仅供参考,具体解决方法可能因实际情况而异。建议在实施任何更改之前,仔细评估和测试解决方案,以确保安全性和稳定性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS 中 HTTPS 证书验证浅析

一是握手过程:用于客户端和服务器验证双方身份,协商后续数据传输使用到的密钥等。二是数据传输过程:身份验证通过并协商好密钥后,通信双方使用协商好的密钥加密数据并进行通信。...在握手过程协商密钥使用的是非对称密钥交换算法, 密钥交换算法本身非常复杂,密钥交换过程涉及到随机数生成,模指数运算,空白补齐,加密,签名等操作。...其中明文信息包括证书颁发机构、证书有效期、域名、申请者相关信息及申请者公钥等,签名信息是使用CA私钥进行加密的明文信息。...建立URL并向服务器发送https请求获取资源,服务器会使用HTTP状态码401进行响应(即访问拒绝)。...NSURLCredentialPersistenceForSession :要求 URL 载入系统 “在应用终止,丢弃相应的 credential ”。

4K90

iOS 中 HTTPS 证书验证浅析

一是握手过程:用于客户端和服务器验证双方身份,协商后续数据传输使用到的密钥等。二是数据传输过程:身份验证通过并协商好密钥后,通信双方使用协商好的密钥加密数据并进行通信。...在握手过程协商密钥使用的是非对称密钥交换算法, 密钥交换算法本身非常复杂,密钥交换过程涉及到随机数生成,模指数运算,空白补齐,加密,签名等操作。...其中明文信息包括证书颁发机构、证书有效期、域名、申请者相关信息及申请者公钥等,签名信息是使用CA私钥进行加密的明文信息。...当证书申请者获取到证书后,可以通过安装的CA证书中的公钥对签名信息进行解密并与明文信息进行对比来验证签名的完整性。...建立URL并向服务器发送https请求获取资源,服务器会使用HTTP状态码401进行响应(即访问拒绝)。

2.1K30

【答疑解惑】为什么你的 Charles 会抓包失败

1.电脑端 HTTP 代理配置 无论你使用的是 window 还是 mac,Charles 作为一款在电脑上安装的 APP,代理本机请求,网络数据都是在本地转发的,所以相对来说电脑端的配置是最简单的。...2.iOS 安装证书 iOS 安装证书相对来说复杂一些。...从上图可以看出,Android 系统把证书信任分为两大块: 系统 CA 证书:基本拥有所有权限 用户 CA 证书:用户自行安装,权限很低 我们自己安装的 Charles 证书都属于用户 CA 证书。...在这种情况下,利用 Charles 抓包,Charles 的公钥证书和客户端的公钥证书不一样,伪造的请求就会被驳回,我们就抓包失败了。那么这种情况怎么解决?...“⚠️ 注:.p12 是一种文件格式,同时包含证书和密钥 ?

2.5K20

-APP-上架流程

选择第二项:Ios provisioning Portal,进入,所有证书相关的都在这里进行。...现在发布证书已经安装了,我们选择这个证书,右击,选择,导出"xxxxxxx",如下图 给你要导出的证书起个名字,选择一个存的位置,注意,保存成P12的信息交换文件 输入密码,如果mac系统有密码,后面还会要求你输入系统密码...现在你就有了发布程序需要的p12文件。 需要上传的distribution.p12就是你导出的发布证书; certificate password就是导出证书填写的密码。...二、Appcan.cn在线ipa包编译 根据流程一制作的证书及p12文件,开发者就能够对应于进行混编,从而生成出可上传Appstore的ipa包,其流程如下: AppCan在线的打包方式(非IDE打包方式...你就可以通过IOS设备在Appstore中找到你的应用了 转载: Iosapp上架流程|ios|mac|ipa_网易订阅 iOS一个公司能上架多少个APP|ios|安卓|应用程序|操作系统|mac_网易订阅

23410

EMQX 多版本发布、新增自定义函数功能

EMQX 允许配置 CA 的请求端点并定时刷新获取 CRL,而客户端无需维护 CRL,在连接握手通过 EMQX 即可完成证书有效性验证。...,由客户端对证书有效性进行验证。...此外,上月发起的 v5.0 中 REST API 体验改善计划也正在进行。EMQX 5.0.11版本中已经包含了一些不错的改进,包括 /gateways API 的重新设计。...EMQX Cloud 全新推出了自定义函数功能,借助云平台的函数计算能力,用户可定义编写脚本,并在数据集成功能中调用该函数。...图片目前自定义函数支持部署在阿里云平台上的专业版用户,每个开通服务的部署都可以获得每个月 50000 次的免费调用次数,现在开通服务即可以立刻使用。有关自定义函数功能详情请关注后续推送。

1.4K60

从场景学习常用算法

返回用户注册成功 用户登陆 提交用户名密码到服务器 将用户密码进行摘要算法加密 使用加密后的密码+用户查询用户信息 查询失败返回登陆失败 查询成功后进行身份token生成 用户ID+过期时间+随机数+...数字签名组合生成CA为服务器签发的证书 派发CA证书CA证书包含了CA的公钥,用于客户端进行解密CA证书 客户端请求服务端数据 服务端返回请求数据、服务器证书CA机构的证书 客户端验证: 客户端从CA...机构证书中取出CA公钥 使用服务器证书的服务器信息+服务器公钥信息+摘要算法=>摘要A 使用CA公钥解密服务器证书中的CA数字签名后生成摘要B 验证摘要A与摘要B一致性,如果一致服务器可信 验证服务器发送数据...那么问题来了,假如我们将提供了能力,授权第三方应用进行功能扩展开发数字证书是否适用于第三方应用授权场景呢?...1 授权码(authorization-code) 安全性高,适用于开放平台统一授权第三方应用场景、或者A站点要使用B站点用户等数据,B站点需要为A站点授权: image.png 工作流程说明:

2.2K253

深入理解HTTPS及在iOS系统中适配HTTPS类型网络请求(上)

那么这个.p12文件到底是个什么东西呢,它和证书之间又有什么关系呢,其实.p12文件一个复合文件,其中包装了私钥与证书信息,使用OpenSSL工具可以将其中的信息进行提取,搭建一个HTTPS的服务器需要两个文件...使用如下命令将.p12文件中的证书分解出来: openssl pkcs12 -in huishao.p12 -nokeys -out cert.pem -nodes 之间也会要求输入导出.p12文件所设置的密码...通过前面的分析我们了解,CA机构签发的证书是被默认信任的,这就是说,如果你的公司比较有钱,愿意花钱从CA机构申请一个付费的证书,那么很幸运,你的iOS工程是不需要做任何修改的,这些CA机构签发的证书是默认受信任的...NSExceptionAllowsInsecureHTTPLoads:布尔值,设置是否允许此域名使用自签名的证书进行请求,默认为NO,如果设置为YES,则在提交需要说明原因。...六、iOS使用自签名的证书进行HTTPS请求校验     通过Info.plist文件我们是可以绕过安全传输协议的,但是不幸的是,从文档上看,无论开发者通过哪种方式来绕过安全传输协议,Apple都要求开发者在提审提供合适的理由

1.7K60

-APP-上架流程

选择第二项:Ios provisioning Portal,进入,所有证书相关的都在这里进行。...现在发布证书已经安装了,我们选择这个证书,右击,选择,导出"xxxxxxx",如下图 给你要导出的证书起个名字,选择一个存的位置,注意,保存成P12的信息交换文件 输入密码,如果mac系统有密码,...现在你就有了发布程序需要的p12文件。 需要上传的distribution.p12就是你导出的发布证书; certificate password就是导出证书填写的密码。...二、Appcan.cn在线ipa包编译根据流程一制作的证书及p12文件,开发者就能够对应于进行混编,从而生成出可上传Appstore的ipa包,其流程如下: AppCan在线的打包方式(非IDE打包方式...),用户生成应用时需要选择生成ios平台,勾选后弹出下图窗口, 需要填写上传Apple开发者在Apple获得的发布应用相关资质信息(详情请参考),并却确认提交。

33120

小程序开发为什么要https和SSL证书呢?在哪里可以申请办理?

SSL是指安全套接层协议(以及传输层协议TLS),位于TCP/IP协议与各种应用层协议之间,为数据   通讯提供安全支持,是目前使用广泛的安全协议。...HTTPS使用安全套接字层(SSL)进行信息交换,简单来说HTTPS是HTTP的安全版,是使用TLS/SSL加密的HTTP协议   什么是SSL数字证书(SSL证书)?   ...用户向CA提出申请后,CA负责审核用户信息,然后对关键信息利用私钥进行”签名”,并公开对应的公钥。客户端可以利用公钥验证签名。   ...CSR:   CSR(Certificate Signing Request)即证书请求文件,也就是证书申请者在申请数字证书由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件,证书申请者只要把...谷歌从 2017 年1月1日起,Chrome 浏览器将会对未进行HTTPS加密的网站标记为「不安全」网站;   同时苹果App Store的所有iOS应用将强制采用ATS标准,也就是强制使用 HTTPS

1.4K10

iOS使用自签名证书实现HTTPS请求

概述 在16年的WWDC中,Apple已表示将从2017年1月1日起,所有新提交的App必须强制性应用HTTPS协议来进行网络请求。...HTTPS的网络访问是禁止的并且不能再通过简单粗暴的向Info.plist中添加NSAllowsArbitraryLoads设置绕过ATS(App Transport Security)的限制(否则须在应用审核进行说明并很可能会被拒...创建自定义证书 我们在使用自签名证书来实现HTTPS请求,因为不像机构颁发的证书一样其签名根证书在系统中已经内置了,所以我们需要在App中内置自己服务器的签名根证书来验证数字证书。...这里有个地方要注意:苹果的ATS要求服务端必须支持TLS 1.2或以上版本;必须使用支持前向保密的密码;证书必须使用SHA-256或者更好的签名hash算法来签名,如果证书无效,则会导致连接失败。...123456 将上面加粗的ca.p12改成你导出的.p12文件的名称,123456改为你创建证书的密码。

1.7K100

CA数字认证系统为何要用NTP时钟服务器?

笔者以前就曾出现过因为应用服务器时间还在23点55分,而数据库服务器已跨过24点,导致正在进行的整个批处理日切或数据归档等重要处理失败或根本无法进行的情况,其实应用和数据库服务器时间也只是相差了几分钟而已...CA认证系统采用B/S架构,使用方便灵活,能够与支持与第三方CA认证系统对接。系统设置管理CA、多级CA,可分布式部署,能够满足不同应用场景的证书管理需求。...详细描述  1、CA认证系统拓扑图 (图一) CA认证系统应用拓扑图 2、主要功能 功能类功能点功能描述系统初始化根CA初始化使用密码设备生成CA根密钥,生成自签名的根证书。...移动应用支持提供满足Ios或Android操作系统的接口支持,移动应用可以实现Pkcs#10证书申请、证书保存、证书解析、签名/验证、P7数字信封等安全应用。...证书服务策略遵循国家安全标准提供证书管理的基线安全策略。身份鉴别策略提供身份命名、身份验证、证书验证、密钥更新、恢复的相关策略。自定义证书策略根据应用需求自定义证书管理、身份鉴别等证书策略。

3.5K50

HTTPS的原理

使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版,是使用 TLS/SSL 加密的 HTTP 协议。...,采用 CA 的私钥对信息摘要进行加密,密文即签名; d.客户端 C 向服务器 S 发出请求,S 返回证书文件; e.客户端 C 读取证书中的相关的明文信息,采用相同的散列函数计算得到信息摘要,然后,...证书使用者不合法,CA 需要废弃该证书;或者私钥丢失,使用者申请让证书无效。主要存在两类机制:CRL 与 OCSP。...2.密钥使用 Key 经过12轮迭代计算会获取到12个 hash 值,分组成为6个元素,列表如下: (a) mac key、encryption key 和 IV 是一组加密元素,分别被客户端和服务器使用...; (f) Mac key 用于数据的完整性校验; 4.4 数据加密通信过程 (a) 对应用层数据进行分片成合适的 block; (b) 为分片数据编号,防止重放攻击; (c) 使用协商的压缩算法压缩数据

86810

Elasticsearch 8.X 集群 SSL 证书到期了,怎么更换?

1、SSL 证书过期问题 如上两个问题是近期社群讨论比较多的问题,涉及8.X、7.X等版本。 在 Elasticsearch 集群中,使用SSL证书对数据传输进行加密是一种常见的安全措施。...这包括REST API调用、Kibana与Elasticsearch的连接等。 has_private_key设置为:true有效期2年,设置为:false,有效期三年。...)通信,这是集群内部节点之间进行数据同步和交换的加密通道。...——管理员需要定期检查证书的有效期,并在证书接近到期进行更新,以避免服务中断。 5、SSL证书更新前置主要知识点 建议参照各自集群对应版本的官方文档,以获取最准确和可靠的信息。...第一类;使用原始证书颁发机构 (CA)更新证书。 第二类:使用自己生成新颁发机构 (CA)更新证书

55210

iOS使用自签名证书实现HTTPS请求

概述 在16年的WWDC中,Apple已表示将从2017年1月1日起,所有新提交的App必须强制性应用HTTPS协议来进行网络请求。...HTTPS的网络访问是禁止的并且不能再通过简单粗暴的向Info.plist中添加NSAllowsArbitraryLoads设置绕过ATS(App Transport Security)的限制(否则须在应用审核进行说明并很可能会被拒...创建自定义证书 我们在使用自签名证书来实现HTTPS请求,因为不像机构颁发的证书一样其签名根证书在系统中已经内置了,所以我们需要在App中内置自己服务器的签名根证书来验证数字证书。...这里有个地方要注意:苹果的ATS要求服务端必须支持TLS 1.2或以上版本;必须使用支持前向保密的密码;证书必须使用SHA-256或者更好的签名hash算法来签名,如果证书无效,则会导致连接失败。...123456 将上面加粗的ca.p12改成你导出的.p12文件的名称,123456改为你创建证书的密码。

4.2K90

Cloudera数据加密

02 — 保护静态数据 保护静止数据通常意味着对存储在磁盘上的数据进行加密,并允许授权用户和进程(仅授权用户和进程)在手头的应用程序或任务需要解密数据。...此过程还使用安全的HadoopRPC(请参阅远程过程调用进行密钥交换。但是,HttpFS REST接口不提供客户端与HDFS之间的安全通信,仅提供使用SPNEGO进行的安全身份验证。...对于安全运输,解决方案很简单;这些接口使用HTTPS。 TLS / SSL证书概述 可以使用三种不同的方式对证书进行签名: 类型 使用说明 公共CA签名的证书 推荐。...使用由受信任的公共CA签名的证书可以简化部署,因为默认的Java客户端已经信任大多数公共CA。...使用内部CA可以降低成本(尽管集群配置可能需要为内部CA签名的证书建立信任链,具体取决于您的IT基础结构)。 自签名证书 不建议用于生产部署。

2.4K10

iOS开发各种证书详解

Xcode如何配置才能使用iOS真机进行开发调试? 多台机器如何共享开发者账号或证书? 遇到证书配置问题怎么办? Xcode 7免证书调试真机调试 本文将围绕相关概念做个系统的梳理串烧。...为了防止GFW进行中间人攻击(MitM),例如篡改github证书,导致无法访问github网站等问题,可选择不信任CNNIC: 在[钥匙串-系统]中双击CNNIC ROOT,在【信任】|【使用证书...如果你用了一个不在这个列表中的证书进行签名,无论这个证书是否有效,这个应用都将CodeSign Fail。...顾名思义,应用扩展允许开发者扩展应用自定义功能和内容,能够让用户在使用其他应用程序时使用该项功能,从而实现各个应用程序间的功能和资源共享。...Xcode使用指定证书配套的私钥进行签名需要授权,选择【始终允许】后,以后使用该私钥进行签名便不会再弹出授权确认窗口。 ​

1.9K10

ios开发证书详解

Xcode如何配置才能使用iOS真机进行开发调试? 多台机器如何共享开发者账号或证书? 遇到证书配置问题怎么办?...为了防止GFW进行中间人攻击(MitM),例如篡改github证书,导致无法访问github网站等问题,可选择不信任CNNIC: 在[钥匙串-系统]中双击CNNIC ROOT,在【信任】|【使用证书...如果你用了一个不在这个列表中的证书进行签名,无论这个证书是否有效,这个应用都将CodeSign Fail。...顾名思义,应用扩展允许开发者扩展应用自定义功能和内容,能够让用户在使用其他应用程序时使用该项功能,从而实现各个应用程序间的功能和资源共享。...Xcode使用指定证书配套的私钥进行签名需要授权,选择【始终允许】后,以后使用该私钥进行签名便不会再弹出授权确认窗口。 ​

1.9K30

什么是SSL证书使用ssl证书优势?

HTTPS使用安全套接字层(SSL)进行信息交换,简单来说HTTPS是HTTP的安全版,是使用TLS/SSL加密的HTTP协议。...SSL是指安全套接层协议(以及传输层协议TLS),位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持,是目前使用最广泛的安全协议。...用户向CA提出申请后,CA负责审核用户信息,然后对关键信息利用私钥进行”签名”,并公开对应的公钥。客户端可以利用公钥验证签名。...CSR: CSR(Certificate Signing Request)即证书请求文件,也就是证书申请者在申请数字证书由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件,证书申请者只要把CSR...谷歌从 2017 年1月1日起,Chrome 浏览器将会对未进行HTTPS加密的网站标记为「不安全」网站; 同时苹果App Store的所有iOS应用将强制采用ATS标准,也就是强制使用 HTTPS;

1K20

HTTPS 原理浅析及其在 Android 中的使用

HTTPS采用对称加密和非对称加密两者并用的混合加密机制,在交换密钥环节使用非对称加密方式,之后的建立通信交换报文阶段则使用对称加密方式。...主要分为四个步骤: (1) 交换各自支持的功能,对需要的连接参数达成一致; (2) 验证出示的证书,或使用其他方式进行身份验证; (3) 对将用于保护会话的共享主密钥达成一致; (4) 验证握手消息是否被第三方团体修改...消息内容将加密,以便双方可以安全地交换验证整个握手完整性所需的数据。客户端和服务器在条件成熟都会发送这个消息。...出现此类错误通常可能由以下的三种原因导致: (1) 颁发服务器证书CA未知; (2) 服务器证书不是由CA签署的,而是自签署(比较常见); (3) 服务器配置缺少中间 CA; 当服务器的CA不被系统信任...(自定义信任的证书集合,并使用客户端证书) makeContextToTrustAll (信任所有的CA证书,不安全,仅供测试阶段使用) (2) 单向验证并自定义信任的证书集合   在App中,把服务端证书放到资源文件下

3.7K40
领券