Tag: SSL

Charles Proxy-主管代理工具

作为软件开发人员,对不同数据集的代码进行单元测试非常重要。 我需要在运行时更改模型对象或更新服务器。 如果我做错了事,这两种方法都可能造成麻烦。 一旦从设备传递了请求,我们通常就没有太多的控制权,而每次在代码中使用不同的值对其进行更改都不是一件容易的事。 Charles Proxy,为我节省了时间,并帮助您处理许多请求和响应 。 术语“互联网”的兄弟姐妹 深入了解Charles代理有助于修改充当互联网兄弟姐妹的术语。 以下是关于此的小注释。 该注释将帮助您解决互联网上最常见的问题:“互联网如何工作?” 。 连接到互联网的所有内容都将具有IP地址 。 IP地址不是人类可读的格式,因此引入了域名 。 在DNS服务器中找到与该域名对应的IP地址,该服务器分为(1)递归解析器,(2)根名称服务器,(3)TLD(顶级域名)名称服务器和(4)权威名称服务器。 记住顺序,因为这是完成搜索相应IP地址的方式 。 路由器中的NDL (网络转换设备)将专用IP地址转换为公用IP地址 。 互联网中的信息以数据包的形式传递。 当数据包向目的地移动时,成千上万的路由器充当中间设备,并将自己的IP地址添加到数据包中。 一旦到达服务器并向后导航,路由器便会将其IP地址从数据包中解包。 什么是代理? 代理人,代表他人的权力。 代理服务器或软件充当端点设备和Internet之间的中介。 请求和响应通过代理传递,因此我们可以查看或记录设备的流量。 代理服务器还有助于缓存数据,阻止恶意流量。 这是阻止我们进入YouTube和Facebook的罪魁祸首。 由于它能够缓存数据,因此可以避免再次访问服务器。 安装 您可以从以下链接下载LINUX , Mac OS和Windows的代理: 下载Charles * Charles Web调试代理的免费试用版 Charles Web调试代理–官方网站 www.charlesproxy.com 查尔斯 代理软件在我们的系统中通过简单的UI和命令行工具运行。 查尔斯代理包含两种视图结构和顺序。 结构有助于分隔不同的主机URL,顺序有助于我们根据时间,持续时间,大小等确定每个呼叫的顺序。 Charles代理的有用功能: 如果要观看Charles代理的每个功能如何工作,可以直接单击此链接。 了解Charles代理的功能有什么好处? 一旦您了解了Charles,使用诸如Fiddler之类的其他代理软件就不会很复杂。 它节省了我的时间并帮助提高了生产率,我希望它能为您做同样的事情。 观察HTTP流量 一旦您在同一网络中连接了Charles代理和设备并在设备中更改了代理地址,Charles将显示通过它的每个请求和响应。 […]

在iOS设备中安装SSL证书(.cer)

对于开发人员而言,在iOS设备中安装不同的证书是一个常见的工作流程步骤。 有很多方法可以做到,但是我认为这是最简单的一种方法。 高级步骤: 创建临时wifi网络 运行简单的Web服务器 浏览iDevice中的目录 安装证书 详细步骤: 1.建立一个特别的wifi网络 在我的mac机中创建临时网络并没有帮助我。 如果它不适合您,请继续创建热点,然后将iMac和iDevice连接到该wifi。 2.运行简单的Web服务器 在Mac中打开终端。 转到要安装证书的目录 运行以下命令。 python -m SimpleHTTPServer 在Mac中打开浏览器,然后尝试以下地址 http://本地主机:8000 / 理想情况下,您应该看到类似于以下屏幕的内容: 记下您Mac的IP地址。 3.浏览iDevice中的目录 在iDevice中打开safari,然后输入以下网址,然后点按go。 http:// xx:xx:xx:xx:8000 / 如果一切正常,您应该看到类似以下内容: 现在,选择要安装的证书,然后按照iOS抛出的提示进行操作。 请享用!

在iOS模拟器中安装证书

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

Aplicaciones seguras en iOS,第1部分:Certificados SSL

中止集体法令的必要性。 Sin decir nombres(布宜诺斯艾利斯,布加勒斯特州:Sc ********,Ba *****),西班牙国家邮政局,西班牙邮政局,巴西邮政局,Verificar不可抗力,结局,结语,简介。 在网络上浏览。 Llevarlo a unaaplicaciónmóviles una pesadilla para nuestros usuarios。 公众意见:Es en la plataformamóvildonde conmásfacilidad nos conectamos an WiFipúblicoy,por lo tanto,estamosmásexpuestos a servíctimasde unataque MITM。 El objetivo de esos控制着标识所识别的网络安全性和安全性。 禁止在任何情况下使用原产地标记的禁运令,例如,禁止不记名的中间人,不适当的人,限制使用权的人等。 Séque parece magia –无处分。 La llavepúblicade un certificado 无需提供SSL证书:无条件,不负责任的访客访问网络,以及无任何隐私权。 Cuando mandamos nuestros datos privados a un servidor(脸书),nuestro navegador se encarga […]

监控iOS HTTPS网络流量

为了探索Apple的“查找我的朋友” API,我被引导监视来自我的iPhone 6s的网络请求,并实际上找到一些相当有趣的响应。 对于本指南,我已使用Mac OSX和iPhone 6s的Charles应用程序,尽管本指南和Charles应用程序可以应用于任何其他OS和硬件。 使用说明 步骤1:下载 在https://www.charlesproxy.com/cn/download/上下载副本并安装在您的计算机上。 请注意,此应用程序的价格为50美元(包括4个许可),但可以免费试用30天。 首次运行时,您将开始看到SSL请求以其加密形式发送,我们将需要对自己执行SSL“中间人攻击”以查看未加密的数据 步骤2:在Mac上安装根证书颁发机构(CA) 去: 帮助> SSL代理>保存Charles Root证书 双击安装证书,这将打开“钥匙串访问”,然后搜索“ Charles Proxy CA”,右键单击证书>“获取信息”,打开“信任”菜单,然后从下拉列表中选择“使用此证书时”为“永远信任”。 返回到Charles App并转到菜单 代理> SSL代理设置… 将主机“ *”和端口“ *”添加到“位置”列表。 确保重新启动浏览器 ,使其现在使用新的根证书。 这将允许您监视Charles在计算机上的SSL请求! 步骤3:设定手机 您将需要通过电子邮件将上面保存的证书发送到iOS设备上的有效电子邮件帐户, 并使用Apple Mail App(不幸的是,未安装Safari中建议的http://chls.pro/ssl不会安装证书)。 单击电子邮件中的附加证书,然后将显示以下视图,安装配置文件: 接下来,找出您计算机的IP(将在网络设置中),并确保您的iOS和台式机计算机设备都连接到同一网络,然后导航到 设置应用> Wi-Fi> WifiName设置> HTTP代理>手动 然后输入服务器:10.xxx(在上面找到计算机的本地地址)和端口:8888 然后回到Charles App并在弹出窗口中单击“允许”以寻求许可 现在,您应该看到来自设备的请求!

什么是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之类的库来实现。

陷入困境为Bluemix推送创build.p12推送证书文件

参考这篇文章: 发送推送后设备未注册 ,我有同样的问题 – 我的iPhone设备发送推送通知后,未注册。 我尝试了这个post的build议,我用我的证书做了这个: -ios_development.cer – Development profile downloaded from Apple -Certificates.p12 – APNS .p12 exported from the keychain -openssl x509 -in ios_development.cer -inform DER -out apns.pem -outform PEM -openssl pkcs12 -nocerts -in Certificates.p12 -out Certificates.pem -openssl pkcs12 -export -inkey Certificates.pem -in apns.pem -out bluemixPush_dev.p12 我得到这个错误: unable to load private key 97354:error:06065064:digital envelope […]

Xamarin iOS客户端证书authentication

我设法成功地使用.Net HttpWebRequest类的客户端证书,但我现在正在尝试更新ModernHttpClient以支持客户端证书,因此它使用更高效的iOS库来处理请求。 我修改了DidReceiveChallenge中的DidReceiveChallenge函数来检查ClientCertificate的挑战,并试图通过https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/URLLoadingSystem/Articles/AuthenticationChallenges.html上的信息将其转换为Xamarin iOS。 代码编译正确,并逐步通过它导致没有错误打印出来,但最终我仍然得到一个System.Net.WebException与消息“服务器”xxx.example.com“需要客户端证书”抛出。 我的代码在下面… public override void DidReceiveChallenge(NSUrlSession session, NSUrlSessionTask task, NSUrlAuthenticationChallenge challenge, Action<NSUrlSessionAuthChallengeDisposition, NSUrlCredential> completionHandler) { …snip… if (challenge.ProtectionSpace.AuthenticationMethod == NSUrlProtectionSpace.AuthenticationMethodClientCertificate) { Console.WriteLine("Client Cert!"); var password = "xxxxx"; var options = NSDictionary.FromObjectAndKey(NSObject.FromObject(password), SecImportExport.Passphrase); var path = Path.Combine(NSBundle.MainBundle.BundlePath, "Content", "client.p12"); var certData = File.ReadAllBytes(path); NSDictionary[] importResult; X509Certificate cert = new X509Certificate(certData, password); SecStatusCode […]

Google Analytics(iOS SDK)没有SSL

我正在使用iOS的最新Google Analytics(分析)SDK,并且在与GA的服务器进行通信时遇到了问题。 出于不同的原因,我需要在iOS 2000中configuration我的iOS设备(ios7.1)。遗憾的是,当GA的SDK尝试发送跟踪的事件时,GA的服务器拒绝SSL问题GA证书每3个月更新一次…) 有没有办法强制GA的SDK使用HTTP或伪造发送date? 谢谢大家。

从iOS应用程序到服务器的SSL通信

一般来说,我对SSL和安全连接还是比较陌生的。 iOS应用程序需要通过安全通信渠道与服务器通话的主要步骤是什么? 我知道SSL证书可能是必要的。 我打算从可信authentication机构购买一台。 不过,我不知道如果应用程序和服务器都需要证书,或者它只是服务器。 另外我不确定如何处理SSL错误。 也许有一个库可以帮助像ASIHTTPRequest或类似的。