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

自签名CA在iOS 13中不再受信任

自签名CA(自签名证书颁发机构)是指由组织或个人自行创建的证书颁发机构,用于签发数字证书。在iOS 13中,自签名CA不再受信任的意思是,iOS 13操作系统不再默认信任由自签名CA签发的数字证书。

自签名CA不再受信任的原因是,自签名CA的证书无法提供第三方的验证机构对证书的认证和信任,存在一定的安全风险。为了提高安全性,iOS 13限制了信任的证书颁发机构,只信任经过苹果认可的知名第三方CA机构颁发的证书。

由于自签名CA不再受信任,开发者在iOS 13中应当避免使用自签名CA签发的数字证书,而是使用经过苹果认可的第三方CA机构颁发的证书,以确保与iOS设备之间的通信安全。

若确实需要使用自签名证书,可以通过在iOS设备上手动安装自签名CA的根证书来信任该自签名CA。具体步骤如下:

  1. 在iOS设备上,打开自签名CA的根证书文件(通常为.cer.pem格式),通过AirDrop、电子邮件等方式将证书文件发送到iOS设备。
  2. 在iOS设备上,打开接收到的证书文件,系统会提示安装该证书。按照提示操作,完成证书安装。
  3. 在“设置”-“通用”-“关于本机”-“证书信任设置”中,找到已安装的证书,并启用信任该证书。

值得注意的是,手动信任自签名CA的根证书只是在特定的iOS设备上信任该证书,对其他iOS设备无效。因此,对于大规模应用的场景,建议使用经过苹果认可的第三方CA机构颁发的数字证书,以确保通信的安全性。

关于数字证书和证书颁发机构的更多信息,可以参考腾讯云SSL证书服务(https://cloud.tencent.com/document/product/400/35244)和腾讯云SSL证书服务相关产品(https://cloud.tencent.com/product/ssl)。

注意:以上答案仅供参考,具体情况还需要结合实际业务和技术需求进行评估和决策。

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

相关·内容

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

,只要根证书是信任的,其下所有的子证书都是信任的,如下图: ?    ...除了CA机构可以签发证书外,个人其实也是可以创建证书的,当然个人创建的证书也是不被信任的,我们姑且把这类证书叫做签名证书,如果用签名证书搭建了HTTPS的服务,则客户端需要安装对应的证书信任,才可以进行此服务的访问...根据前面所述,搭建HTTPS服务需要有证书凭证,两种证书我们可以选择,一种是CA机构签发的证书,还有一种是我们自己制作的签名证书,Mac电脑上打开钥匙串访问应用,打开其中的证书助理,如下图所示: ?...通过前面的分析我们了解,CA机构签发的证书是被默认信任的,这就是说,如果你的公司比较有钱,愿意花钱从CA机构申请一个付费的证书,那么很幸运,你的iOS工程是不需要做任何修改的,这些CA机构签发的证书是默认信任的...因此,iOS中适配签名证书的HTTPS请求实际上就是将这个签名的证书安装进客户端的信任列表。

1.8K60

使用签名证书内部分发 iOS7 应用

使用签名证书内部分发 iOS7 应用 iOS 升级到 7.1 之后, 原来通过网页分发应用的方法出现错误, 提示 “无法安装应用, 服务器证书无效”, 原来 iOS 要求必需将 plist 文件放到...不过如果是通过内网分发 iOS 应用的话, 修改起来还是挺麻烦的, 最好还是使用签名的证书实现 https 链接, 这样对内网分发应用方式的修改最小。...CA 根证书是签名的, 需要手工 iOS 设备以及分发服务器上安装。...服务器上安装 CA 证书 服务器上双击证书文件, 选择 “安装证书” 按钮, “存储位置” 设置为 “本地计算机” , 然后选择将证书存储为 “信任的根证书办法机构” , 确定即可。...现在在 iOS 设备上通过 https 访问原来的分发应用的网页, 就应该可以下载了。 参考资料: iOS上使用签名的SSL证书 IIS8中使用OpenSSL来创建CA并且签发SSL证书

1K10
  • openssl为IP签发证书(支持多IP内外网)

    OpenSSL签发配置有多域名或ip地址的证书 2. 如何创建一个签名的SSL证书(X509) 3. 如何创建签名证书?...背景 开启https必须要有ssl证书,而安全的证书来源于信任CA机构签发,通常需要付费,并且他们只能为域名和外网IP签发证书。 证书有两个基本目的:分发公有密钥和验证服务器的身份。...只有当证书是由信任的第三方所签署的情形下,服务器的身份才能得到恰当验证,因为任何攻击者都可以创建签名证书并发起中间人攻击。 但签名证书可应用于以下背景: 企业内部网。...当你只是开发或测试应用程序时,花费额外的金钱去购买信任的证书是完全没有必要的。 访问量很小的个人站点。...因为操作系统上会默认存有信任机构CA的证书。—— 电脑的“运行”工具弹窗->输入"certmgr.msc" 而我们签发的证书不在这个信任列表中,需要手动导入到这个“白名单”中。

    6K30

    CVE-2020-0601:微软核心加密库漏洞学习心得

    当一个信任CA证书签名的文件,系统就可以放心的使用该文件;当一个服务器传递给客户端的证书是客户端信任CA证书所签发的,那么客户端就信任服务器并和该服务器建立连接。...0x02 漏洞概述 CVE2020-0601漏洞影响的系统,验证证书签名时,证书信用列表中查找信任CA证书时出现乌龙。...比如,win10中证书MicrosoftECCProductRootCertificateAuthority.pem是信任的证书列表中。...0x04 环境搭建 Windows 10 0x05 漏洞复现 第一类应用应该就是文件签名这一部分,平时工作中使用的较少,前面基础部分已经介绍,所以这里就不再过多描述细节。...5、 利用生成的私钥文件生成一个签名CA证书,然后签发一个下级服务证书。 ? 下级证书的私钥可以随意。 ?

    1.1K10

    商业证书颁发机构与签名SSL证书之间的比较

    证书 本文中,我们将专门引用SSL服务器证书。每当请求新的SSL连接时,Web服务器都会显示服务器证书。它们包含颁发证书的主机的名称,并由证书颁发机构(CA签名以建立信任。...流程:手动证书创建,无续订机制 费用:免费 验证: DV和OV 信任:默认为无。必须手动将每个证书标记为信任,因为不涉及通用CA....由于签名证书未由任何信任CA签名,因此您需要手动将证书标记为信任,该过程每个浏览器和操作系统中都是不同的。此后,证书将像一般的CA签名证书一样运行。...您的用户需要在其任何证书信任之前手动安装并信任您的私有CA. 流程:手动证书创建和续订,以及CA本身的手动设置 费用:免费 验证: DV和OV 信任:默认为无。...与签名证书(每个证书必须手动标记为信任证书)不同,您只需安装一次私有CA。然后,从该CA颁发的所有证书都将继承该信任。 一个缺点是运行CA会产生一些开销,需要知道如何以安全的方式进行设置和维护。

    3.7K60

    什么是X.509证书?X.509证书工作原理及应用?

    l X.509证书是否由权威信的证书颁发机构 (CA) 如Sectigo签名,或是签名证书。...当证书由信任CA签名时,证书用户可以确信证书所有者或域名已经过验证,而签名证书的可信度较低,因为域名所有者无需经过任何验证即可获取证书。 二、可扩展性 X.509证书的另一个好处是可扩展性。...CA存储证书的根目录中,其他中间证书经过验证后存储信任链中。当Web浏览器客户端读取证书时,它必须遵循验证的分层路径,包括经验证的中间证书,这些中间证书将链回存储客户端信任链中的根证书。...证书信任链.png 五、证书吊销列表 (CRL) X.509标准还定义了证书吊销列表(CRL)的使用,该列表标识了预定到期日期之前已被CA吊销的所有数字证书,出现在CRL中的证书将不再信任。...部署X.509证书的关键是找到一个信任的证书颁发机构(CA)或代理商,让它们来颁发证书,并提高与私钥相关的公钥。

    4.7K40

    什么是 HTTPS 的证书信任链?自己给自己发行不行?

    信任就是指用自己的私钥做了签名) 这个 CA颁发的根证书是内置系统里的,信任的,所以也就也就信任了他信任的中间证书,从而信任了中间证书信任的 baidu.com 的证书,这是一条信任链。...那倒不用,我们可以自己创建一个 CA 根证书,然后用它给自己颁发证书,这叫签名证书: 签名证书 当测试的时候,可以用 openssl 这个库自己创建一个 CA 根证书。...这是因为签发他的根证书没有导入钥匙串,我们导入一下: 导入 ca-cert.pem,就可以钥匙串中找到 guangguangguang.com 的根证书,已经标记了是签名证书: 再访问网站,就会看到二级的结构了...: 但是还没有被信任,我们信任一下签名的根证书: 再去网站看一下,就可以看到证书信任了,因为颁发他的根证书信任了: 不过网站依然会标记为不安全,这是 chrome 的策略,不支持签名证书...现在的方案是系统内置了一些 CA 的根证书,然后这些 CA 证书颁发了一些网站的证书,如果访问网站拿到的证书是这些 CA 机构颁发的,那就是信任的。

    1.3K20

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

    深入理解HTTPS及iOS系统中适配HTTPS类型网络请求(下) 一、引言      上一篇博客详细讨论了HTTPS协议的原理,搭建HTTPS测试环境以及证书的相关基础。...用户签名的HTTPS请求 - (instancetype)initWithTrust:(SecTrustRef)trust NS_AVAILABLE(10_6, 3_0); //同上 + (NSURLCredential...NSURLCredentialPersistenceSynchronizable NS_ENUM_AVAILABLE(10_8, 6_0) //永久有效 并且被所有APPID设备共享 }; 三、使用AFNetworking进行签名证书...HTTPS请求的认证     使用AFNetworking也可以很方便的进行签名证书的认证,还以上一节博客搭建的HTTPS环境为例,示例代码如下: -(void)afHttps{ NSURLRequest...*/ NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"cert" ofType:@"der"];//签名证书

    73310

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

    证书一般分为两种: 一种是向权威认证机构购买的证书,服务端使用该种证书时,因为苹果系统内置了其信任签名根证书,所以客户端不需额外的配置。...而证书机构使用自己的私钥对其指纹算法加密,可以用内置操作系统里的机构签名根证书来解密,以此保证证书的安全。如x509、RSA。 另一种是自己制作的证书,即签名证书。...创建自定义证书 我们使用签名证书来实现HTTPS请求时,因为不像机构颁发的证书一样其签名根证书系统中已经内置了,所以我们需要在App中内置自己服务器的签名根证书来验证数字证书。...证书(Certification Authority,支持SSL证书以及签名CA),请替换掉你的证书名称 */ NSString *cerPath...= [[NSBundle mainBundle] pathForResource:@"ca" ofType:@"cer"];//签名证书 NSData* caCert = [NSData

    4.3K90

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

    证书一般分为两种: 一种是向权威认证机构购买的证书,服务端使用该种证书时,因为苹果系统内置了其信任签名根证书,所以客户端不需额外的配置。...而证书机构使用自己的私钥对其指纹算法加密,可以用内置操作系统里的机构签名根证书来解密,以此保证证书的安全。如x509、RSA。 另一种是自己制作的证书,即签名证书。...创建自定义证书 我们使用签名证书来实现HTTPS请求时,因为不像机构颁发的证书一样其签名根证书系统中已经内置了,所以我们需要在App中内置自己服务器的签名根证书来验证数字证书。...证书(Certification Authority,支持SSL证书以及签名CA),请替换掉你的证书名称 */ NSString *cerPath...= [[NSBundle mainBundle] pathForResource:@"ca" ofType:@"cer"];//签名证书 NSData* caCert = [NSData

    1.9K100

    【Java】已解决:java.security.cert.CertificateException

    使用签名证书进行SSL通信,而签名证书未被正确配置。 验证证书链时,发现其中一个或多个证书无效。...签名证书:使用签名证书,但该证书未被添加到客户端的信任库中。...四、正确代码示例 为解决CertificateException,可以使用以下几种方法: 将自签名证书导入客户端信任库:如果使用签名证书,可以将其导入到Java的信任库(cacerts)中,使其被信任...这仅适用于开发和测试环境,在生产环境中应始终使用信任的证书和CA。 五、注意事项 处理证书相关的操作时,注意以下几点: 尽量避免禁用证书验证:在生产环境中,禁用证书验证是非常危险的做法。...应确保所有证书由信任CA签署,并正确配置信任库。 定期更新证书和信任库:证书和信任库应定期更新,以确保证书的有效性和安全性。

    21810

    iOS 中 HTTPS 证书验证浅析

    如下图所示: 针对非签名证书验证实现 接收到服务器返回的状态码为401的响应后,对于NSURLSession而言,需要代理对象实现URLSession:task:didReceiveChallenge...如果服务器证书是这个锚点证书对应CA或者子CA颁发的,或服务器证书本身就是这个锚点证书,则证书信任通过。...对于签名证书,这样Trust Object中的服务器证书是不可信任CA颁发的,直接使用SecTrustEvaluate验证是不会成功的。...,为了方便测试,客户端可以通过该方法信任所有签名证书。...假如是自建证书的,则不使用第二步系统默认的验证方式,因为自建证书的根CA的数字签名未在操作系统的信任列表中。 转载 原文地址

    2.3K30

    Localhost如何使用HTTPS?

    但并非任何证书都会被浏览器接受:证书需要由您的浏览器信任的实体签名,这些实体称之为可信证书颁发机构 (CA) 。 您需要创建一个证书,并使用您的设备和浏览器本地信任CA对其进行签名。...在看到证书已由 mkcert 生成的证书颁发机构签名后,浏览器会检查它是否已注册为信任的证书颁发机构。 mkcert 已被列为信任的颁发机构,所以浏览器会信任该证书并创建 HTTPS 连接。...终端运行以下命令: mkcert -install 这会生成本地证书颁发机构 (CA)。mkcert 生成的本地 CA 仅在您的设备上本地信。...签名证书的行为方式与信任证书的行为方式不同。 它不一定比使用 mkcert 这样的本地 CA 更方便或更快捷。 如果您没有浏览器上下文中使用此技术,则可能需要禁用服务器的证书验证。...为什么浏览器不信任签名证书? 如果您使用 HTTPS 浏览器中打开本地运行的网站,浏览器将检查本地开发服务器的证书。当它看到证书由您签名时,它会检查您是否已注册为信任的证书颁发机构。

    11.5K93

    利用 mkcert 快速生成签证书

    然而,本地开发环境中配置 HTTPS 可能会比较麻烦。幸运的是,mkcert 是一个简单易用的工具,可以帮助我们快速生成签名证书。...本文将介绍如何使用 mkcert 生成签名证书,并在内网环境或者本地开发环境中使用它们。 什么是 mkcert? mkcert 是一个简单的工具,可以快速生成信任签名证书。...它会自动创建一个本地 CA(证书颁发机构),并将其安装到系统信任的证书列表中。这样生成的证书本地环境中可以被浏览器信任,避免了常见的安全警告。...将 rootCA.pem 复制到 PC 上,并将其后缀改为 .crt,然后点击安装,选择安装到信任的根证书目录下。 再次访问则显示安全了。...参考 mkcert 使用指南:如何快速创建签名 SSL 证书 mkcert生成签名证书 【密码学】使用mkcert安装CA签名ssl证书,配置nginx的https 证书笔记 mkcert的安装和使用

    8210

    何时以及如何在你的本地开发环境中使用 HTTPS

    但是浏览器不会仅仅认为任何证书有效:你的证书需要由浏览器信任的实体(称为信任的证书颁发机构(CA))签名。 而你需要做的就是创建一份证书,并使用你的设备和浏览器本地信任CA 对其进行签名。...运作方式如下: 如果你使用 HTTPS 浏览器中打开本地运行站点,你的浏览器将检查本地开发服务器的证书; 当看到证书已经由 mkcert 生成的证书颁发机构签名时,浏览器检查它是否注册为信任的证书颁发机构...你的 mkcert 生成的本地 CA 在你的设备上仅本地信任。 为你的站点生成一个由 mkcert 签名的证书。... Chrome 中,你可以使用这个标志 #allow-insecure-localhost,自动绕过这个警告; 如果你不安全的网络中工作,这是不安全的; 签名证书的行为方式与信任证书不完全相同;...当使用签名证书时,会显示警告浏览器 为什么浏览器不相信签名证书 如果你浏览器中使用 HTTPS 打开本地运行站点,你的浏览器将检查本地开发服务器的证书。

    2.6K30

    Strongwan 建立证书体系,CA根证书、服务端与各个客户端证书

    > ca.cert.pem CA主机上完成: 生成CA的SM2私钥 (ca.key.pem) 使用该私钥创建签名CA证书 (ca.cert.pem) CA证书有效期为10年 (3650天) 生成后...根 CA 证书的作用 证书验证链: TLS/SSL连接建立过程中,服务器会向客户端提供其证书。客户端需要验证这个证书的有效性。验证过程包括检查证书是否由信任CA签发。...因此,客户端需要有CA的证书来进行这个验证。 信任锚: CA证书作为信任锚(Trust Anchor),是整个证书信任链的起点。没有CA证书,客户端就无法验证服务器证书的真实性。...签名CA: 在这个场景中,我们使用的是签名CA证书,而不是商业CA的证书。商业CA的根证书通常预装在操作系统或浏览器中,但签名CA证书需要手动分发和安装。...对于客户端:CA证书需要安装在客户端的信任存储中。这样客户端才能信任由这个CA签发的服务器证书。

    10610

    Golang(十)TLS 相关知识(一)基本概念原理

    certificate) 之后的发送中加密者将数字证书附在数字签名后 接收者收到后用 CA 的公钥解密获得,加密者的身份和公钥 攻击者不能通过 CA 的验证,无法生成可信任的证书,解密者接受后判断数字证书包含的身份信息不是加密者...,因此会拒绝 当然,如果选择信任了错误的 CA,也会被攻击,通常浏览器中会内置靠谱 CA 的身份证(公钥) 1.4 信任链、根身份证和签名 CA 也分为不同级别,需要逐级验证 比如 CA1 不被大家信任...,于是可以将身份信息和公钥发送给信任CA2,获得自己的数字证书 CA1 在给其他人签署数字证书时,会在后面附上自己的数字证书 这样接受者首先利用 CA2 的公钥验证 CA1,获得 CA1 的公钥后再验证发送者...这样逐级签署数字证书,形成了一条信任链 最终的根节点就是签名证书,如 CA2 可以用自己的私钥把自己的公钥和域名加密,生成证书 1.5 应用场景:https 协议 首先,浏览器向服务器发送加密请求...客户端会根据这张列表,查看解开数字证书的公钥是否列表之内 如果数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用,浏览器会发出警告 如果这张数字证书不是由信任的机构颁发的

    53720

    【ES三周年】Elasticsearch安全配置详解

    浏览器或客户端会在与服务器建立连接时检查其证书是否被信任CA机构签发。...CA是用来签发服务器证书的可信任实体,用于验证证书持有者身份并对证书进行数字签名,以确保证书传输过程中的完整性和真实性。 ca.key是CA的私钥,用于对服务器证书进行数字签名。...通常应该仅由CA拥有人访问,因为它可以用于签发任何证书,并将其认为是信任的证书。因此,如果私钥被泄露或丢失,就会使得签发的所有证书都不能被信任。...服务器上安装签名CA证书 将自签名CA证书安装到服务器上,通常是将证书文件放置特定目录下,并将证书信息写入到相应的配置文件中。...需要注意的是,签名CA证书安全性方面可能不如购买的第三方CA证书可靠,因为签名CA证书并没有经过第三方机构的验证和认证。

    5.2K32

    Azure App Service 上的根证书

    原文:Amol Mehrotra 翻译:Edi Wang 导语 App Service 有一个信任的根证书列表,您不能在 App Service 的多租户版本中修改这些证书,但您可以应用服务环境 (...ASE) 的信任根存储中加载自己的 CA 证书,这是一个单一 App Service 的租户环境。...(免费、基本、标准和高级应用服务计划都是多租户,而独立计划是单租户) 当 Azure 应用服务上托管的应用尝试通过 SSL 连接到远程终端时,远程终端服务上的证书必须由信任的根 CA 颁发,这一点很重要...如果远程服务上的证书是签名证书或私有 CA 证书,则托管您的应用程序的实例将不信任它,并且 SSL 握手将失败并显示以下错误: "Could not establish trust relationship...如果无法更改远程服务终结点证书或需要使用私有 CA 证书,请将您的应用托管应用服务环境 (ASE) 上并在信任的根存储中加载您自己的 CA 证书 使用 Kudu 获取信任的根证书列表 如何获取

    59410

    iOS 中 HTTPS 证书验证浅析

    签名证书验证实现 接收到服务器返回的状态码为401的响应后,对于NSURLSession而言,需要代理对象实现URLSession:task:didReceiveChallenge:completionHandler...对于非签名的证书,即使服务器返回的证书是信任CA颁发的,而为了确定返回的证书正是客户端需要的证书,这需要本地导入证书,并将证书设置成需要参与验证的锚点证书,再调用SecTrustEvaluate通过本地导入的证书来验证服务器证书是否是可信的...签名证书验证实现 对于签名证书,这样Trust Object中的服务器证书是不可信任CA颁发的,直接使用SecTrustEvaluate验证是不会成功的。...上述代码一般用于当服务器使用签名证书时,为了方便测试,客户端可以通过该方法信任所有签名证书。...假如是自建证书的,则不使用第二步系统默认的验证方式,因为自建证书的根CA的数字签名未在操作系统的信任列表中。

    4.1K90
    领券