Tag: Ssl证书

在iOS模拟器中安装证书

在旧版本的Xcode中,只需简单地将SSL证书拖放到模拟器中并按照提示进行操作,直到安装完成,即可完成SSL证书的安装。 除了将SSL证书拖放到模拟器之外,您还需要执行另一步。 常规->关于->证书信任设置->为特定证书“启用对根证书的完全信任”

什么是SSL固定? (介绍)

在讨论SSL固定之前,我们需要讨论安全的Web连接。 当诸如移动应用程序或Web浏览器之类的客户端应用程序开始与服务器进行安全会话时,客户端和服务器必须达成三点共识。 1.如何交换钥匙 2.如何加密数据 3.如何将邮件标记为真实 服务器可以决定使用RSA交换密钥AES 256来加密数据,并使用SHA-1签名消息。 如果客户端可以支持这些消息,则客户端向服务器请求证书链。 一旦客户端验证了证书链,便从证书中提取公钥。 这就是SSL固定起作用的地方。 开发人员可以将公钥编译为应用程序代码。 这实际上将密钥固定到了应用程序中。 当客户端从服务器接收到公共密钥时,它将把该密钥与应用程序中的固定密钥进行比较。 密钥应该匹配。 如果密钥不匹配,则客户端终止会话。 现在有三种类型的SSL固定。 1.公钥固定(如上所述) 2.证书固定 3. SPKI固定 这涉及固定整个证书,而不是仅固定公用密钥。 证书过期时,我们必须先使用新证书更新客户端应用程序,然后再更新服务器上的证书。 因此,公钥固定是首选的固定方法。 由于证书已正确更新,因此公钥不会更改,我们也不必更新我们的应用程序。 主题公共密钥信息(SPKI)是最新的固定类型。 使用此方法,将公钥和其他元数据的哈希固定到应用程序。 不使用SSL固定的应用程序容易受到中间人攻击。 这是攻击者秘密中继并可能更改消息的时候。 SSL固定允许开发人员在其应用程序中添加额外的安全层。 而且很容易通过诸如iOS的AFNetworking和Android的OkHttp之类的库来实现。

iOS上的证书固定技术

嗨伙计! 今天,我们将讨论安全性。 为了完全理解此处介绍的这些概念,我需要提供一些有关SSL / TLS如何工作的背景知识以及其他内容。 当然,这不是一个深入的探讨,它只是在开始主要主题之前的简单说明,如果您已经知道,没关系,只需退出本部分并转到下一部分。 在最后,我们将看到一个如何在iOS项目上进行证书固定的实际示例,让我们开始吧! 它是什么? SSL / TLS确保通过HTTPS(即,基于SSL / TLS的HTTP)对客户端-服务器通信进行透明加密。 加密基于公共密钥基础结构(简称PKI)。 这是透明的,因为应用程序层对此加密过程一无所知,网络基础结构会处理一切,因为程序员我们只是编写应用程序请求,因此将带有纯文本的标头和正文放在请购单中,而网络基础结构则可以完成所有工作我们。 握手 在发送任何应用程序数据之前,服务器和客户端就如何加密/解密数据进行协商,此过程称为握手,在下图中,您可以看到有关此过程的简化视图: 握手后 此时,如果有人尝试检查在数据传输中客户端和服务器之间交换的消息,那么任何内容都不会被人类读取,所有流量在传输过程中都会被加密,即,仅从客户端和服务器的角度来解密。 证书验证过程 在握手过程中,服务器将提供数字证书,并且客户端需要基于预定义的信任证书颁发机构列表(也称为受信任的根CA存储)信任证书颁发者。 在安全连接上,如果所提供的证书是由未知的颁发者颁发的,则通常浏览器会显示警告⚠️,供用户决定是否必须继续进行连接。 默认情况下,在连接中断的情况下,应用程序上的此行为是不同的。 您有可能在设备上将自签名证书设置为受信任,在这种情况下,客户端将在后续连接中信任此证书。 中间人袭击 如果您的连接不是通过连接到原始服务器,而是通过另一台伪装成原始服务器的服务器,将会发生什么情况? 从Imperva Incapsula网站上看到有关中间人攻击的简要描述。 中间人(MITM)攻击是一个通用术语,指的是犯罪者将自己置于用户与应用程序之间的对话中-进行窃听或假冒其中一方,使其看起来像是正常的信息交换进展中。 在这种情况下,攻击者可以看到所有流量,并且可以捕获所有信息。 它是什么? 通过以上介绍的背景,我们可以更好地了解什么是证书固定。 众所周知,在握手过程中,服务器将出示必须由客户端信任或不信任的证书。 证书固定技术在于将目标的服务器证书保存在应用程序捆绑包中,并且仅对此信任。 我们的例子 让我们看一个实际的源代码,为此,我创建了一个在Heroku和一个客户端iOS项目上发布的存根身份验证剩余服务。 在发布本文档时,生成的证书尚未过期并且服务已启动。 当然,随着时间的推移,我无法保证,但是如果您正确地理解了这一概念,则可以更改证书和主机名以成功获得自己的服务。 在我们的示例中,我们将使用post方法访问以下URL https://floating-stream-25740.herokuapp.com/authentication/login来提交如下所示的请求: POST /身份验证/登录HTTP / 1.1 主持人:floating-stream-25740.herokuapp.com 内容类型:application / x-www-form-urlencoded 缓存控制:无缓存 id = user&password = pass 通知的ID或密码无关紧要,它仅用于测试。 […]

Certifire:Apple推送通知证书生成的自动化解决方案

获得APN证书是在Apple App Store上发布应用程序的关键步骤,但是许多iOS开发人员为此付出了巨大的努力,因为它的流程过于繁琐且过于沉闷。 APN证书对从已发布的应用发送到拥有您的应用的iOS设备的推送通知进行身份验证。 而且,如果您是iOS开发人员,那么您很可能会熟悉用于应用程序发布的证书生成过程。 全世界的开发人员都在为生成SSL证书的管理任务而苦苦挣扎,而这种挣扎会导致许多麻烦,浪费资源和时间,这取决于开发人员的专业水平。 一些经验丰富的开发人员可以在一个多小时内完成该过程,而其他开发人员可能要花多达8个小时的时间,在过程中会损失大量资金。 幸运的是,已经为iOS开发人员找到了一种解决方案,现在他们可以告别在证书生成上花费的漫长的不眠之夜。 没错,随着macOS应用程序Certifire的推出,证书生成过程完全自动化。 这意味着您可以轻松快速地生成开发和发行证书。 该应用程序是软件公司和开发人员的绝对救星,其主要目标是帮助他们将宝贵的时间用于编程等更重要的任务。 除了作为证书生成的极具成本效益的解决方案之外,Certifire还允许其用户获得一个有组织的文件夹,并在一个安全的环境中管理其所有应用程序证书。 对于开发人员来说,该应用程序拥有的好处似乎无穷无尽,因此,您最好快点测试魔术! Certifire上每个证书的生成费用为每个申请19.99美元。 但是,一旦用户下载了该应用程序,他们将在其团队中获得$ 19.99的余额,从而使他们能够免费为自己的第一个应用程序生成发行和开发证书。 然后可以相应地向用户的团队ID收费,以为更多应用程序生成更多证书。 软件开发公司和iOS开发人员将不再浪费宝贵的资源和时间来手动管理此任务,因为Certifire会在一瞬间为他们完成此任务。 您可以访问http://www.certifire.io/查找有关Certifire应用程序及其功能的更多信息! Apple推送通知(APN)证书生成从未如此轻松!