问题标签 [tls1.2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3060 浏览

android - Android <= 4.4.2 和 TLS 1.2

我为一家公司做了一个应用程序,它支持 API 级别 13+ (3.0+)。它通过 XML 从他们的 CMS 收集数据并将其显示在应用程序上。这是通过 HTTPS 完成的,在他们将服务器升级到 TLS 1.2 之前它运行良好。现在 API 级别 20 以下的 android 版本将不会获取 XML,因为SSLPeerUnverifiedException很多手机再也看不到这个应用程序了。

SSLPeerUnverified在启用 TLS 1.2的情况下有没有办法过去?

注意:目前的 SSL 证书如下:

迄今为止最有用的 SOF 文章: 在 Android 2.3.3 上实现 TLS 1.2

0 投票
1 回答
1133 浏览

java - 使用 Java Bouncy Castle 列出服务器支持的密码套件

是否可以从 Java Bouncy Castle 使用 SSL/TLS 连接到远程服务器,然后获取服务器支持的密码套件列表?我需要接收它的 HEX 值,如果可能的话,还需要接收它的“字符串常量”(可能只针对客户自己知道的那些)。

我需要使用任何协议(HTTPS、AMQPS、STOMPS……)连接到任何端口。

0 投票
1 回答
1151 浏览

ssl - iOS9 NSAppTransportSecurity 相对于 https 流量的实际含义是什么?

iOS9 为 info.plist 提供了新设置,称为 NSAppTransportSecurity。到目前为止,我一直无法找到允许我连接到我的 https Web 服务的配置。作为一种解决方法,我的 plist 中有以下行:

我试图了解 NSAppTransportSecurity 的实际含义或作用。我正在查看Apple 的这份技术说明,但不是很清楚:

所有使用 NSURLConnection、CFURL 或 NSURLSession API 的连接都使用 为 iOS 9.0 或更高版本以及 OS X 10.11 或更高版本构建的应用程序中的应用传输安全默认行为。不符合要求的连接将失败。

NSAppTransportSecurity 只是一种配置安全措施,它会阻止低于 1.2 的 TLS,还是它实际上对 Web 连接应用了某种特殊的传输安全性?

  • 选择退出使用 NSAllowsArbitraryLoads 是否会禁用所有形式的 https 通信?
  • 或者服务器是否仍然建立 https/ssl/tls 通信,除非没有苹果监督?
  • 此要求是否适用于在 iOS9 上运行或将 iOS9 作为最低部署目标的所有应用程序?
0 投票
2 回答
16051 浏览

ssl - 如何启用 tls 版本。1.2 在代理中

我有 haproxy 做 ssl 终止。我已禁用 sslv3。

ssl 测试人员说我只启用了 tls 1.0。如何在 haproxy 中启用 tls 1.2 版?

谢谢

0 投票
1 回答
5838 浏览

c# - 通过配置强制在 wcf 客户端 c# 中使用 tls 1.0

我们有一个 Web 应用程序,它有一个使用 WCF 实现的客户端。此客户端使用 SSL_LVL3 与外部服务进行握手。事实证明,该服务刚刚禁用了 SSL_LVL3,因此我们需要将其更改为 TLS 1.0。有一种方法可以在 C# 中强制 TLS 安全:

但它改变了应用程序使用的所有服务的安全性,并且并非所有服务都接受 TLS。

我们想要更改 web.config 以强制 WCF 服务使用 TLS。有没有办法做到这一点?

这是服务的绑定:

0 投票
0 回答
1277 浏览

ssl - ATS iOS 9:如何启用 MAMP 到 TLS 1.2

直到几天前,我还在开发我的 iOS 8 应用程序,但今天早上我的 XCode 更新到了版本 7,iOS 模拟器更新到了 iOS 9。所以,为了满足 iOS9 ATS 要求,我必须更新 MAMP 以便它支持 TLS 1.2 和其他要求。到目前为止我还没有发现任何对我有用的东西,所以我想问一下你是否可以解释一下我设置 MAMP 以支持 iOS9 ATS 和 TLS 1.2。我的应用尝试使用的 URL 如下所示:

如果我在浏览器中键入它们,它们会完美运行,但如果我运行我的应用程序,我会得到:

所以要么我在 MAMP 配置中犯了一个错误,我错过了一些东西,但我不知道是什么。这是我到目前为止所做的:

  • 创建运行 sha256 的自签名证书

    openssl req -x509 -nodes -sha256 -days 365 -newkey rsa:2048 -keyout server.key -out server.crt

并配置我的 httpd-ssl.conf 文件,在该文件中我尝试根据 ATS 的要求启用前向保密密码

在我的 httpd-ssl.conf 文件中,我有类似的内容:

我也以同样的方式进行了配置。因此,当我运行我的应用程序时,它会因上述错误而崩溃,错误代码 9824 根据我在此处阅读的内容,表示有关 TLS 协议握手的错误。所以我担心我的 MAMP 3.3 没有运行 TLS 1.2。

有人可以帮助我并告诉我我缺少什么吗?

感谢大家的关注

更新 我刚刚尝试过

现在 Apache 服务器将不再启动。日志上没有写任何东西。我需要在我的 MAC Yosemite 上更新 ssl 吗?如何?

无论如何,恢复

如果我输入https://localhost,这就是我从浏览器中得到的

在此处输入图像描述

所以 MAMP 仍然使用 TLS 1.0 ......有没有办法强制它?

0 投票
0 回答
3809 浏览

ssl - Swift/XCode 7:NSURLSession/NSURLConnection HTTP 加载失败(kCFStreamErrorDomainSSL,-9813)

我使用 openssl 和 sha 256 创建了一个自签名证书,如下所示:

我已经通过配置 httpd-ssl.conf 文件在我的 AMPPS 服务器中正确安装了它。如果我尝试在网络浏览器上执行:

我正确地看到该连接使用 TLS 1.2。当我在 iOS 9 模拟器下运行我的应用程序时,我猜会引发错误 (9813),因为我的证书是自签名的。有没有办法为我的测试目的启用它?我在这里读到我应该向 AppDelegate.swift 类添加一些函数,但它似乎不起作用。

这是我收到的完整错误消息:

更新:对于 Mac OS X Yosemite
1) 通过 brew 将 openssl 更新到版本 >= 1.0.2d
2) TLS 1.2仅适用于apache 2.4,实际上 MAMP 仍然适用于 apache 2.2。解决方案:下载并安装运行 apache 2.4.x 版本的 AMPPS 的最新版本
3)使用 sha256(根据 iOS 9 的要求)创建一个自签名证书

并将 server.key 和 server.crt 保存到 /Applications/AMPPS/apache/conf
4) 确保 ssl 模块加载到 AMPPS 的 httpd.conf 文件中
5) 编辑文件 /Applications/AMPPS/apache/conf/extra/httpd -ssl.conf 添加:

里面

6) 每次使用 NSURLSession 时,iOS 9 模拟器都会惹恼你,并引发错误 9813 说证书无效(因为是自签名的)。因此,在您将要使用 NSURLSession 的每个类中,例如,执行以下操作:

其中函数 URLSession 是一个委托,它将防止应用程序由于自签名证书而崩溃,并且无论如何它都会接受。

最后将此添加到您的 info.plist 中:

0 投票
0 回答
5014 浏览

ios - XCode 7/iOS 9:如何为 NSURLSession 启用自签名证书

为了测试我的应用程序,我设置了一个带有 TLS 1.2 和自签名证书的服务器 Apache 2.4.12。问题是,当我运行我的应用程序并尝试与本地服务器通信时,出现此错误:

这是因为自签名证书不可靠。我在 stackoverflow 的某个地方读到,在我使用 NSURLSession() 的类中,我必须添加以下委托:

然后执行:

但这似乎无论如何都行不通。所以我想知道是否有一种方法可以强制接受自分配证书,而无需将该 xml 代码添加到 info.plist 以禁用任何形式的安全通信。这是我服务器中的 httpd-ssl.conf:

有什么办法可以使这项工作?只是为了向我的老师展示我正在根据 iOS 9 ATS 构建我的应用程序。谢谢大家。

解决方案

将此添加到文件 info.plist 中,这将强制 ATS 接受自签名证书:

然而,正如这里解释的那样,这还不够。在您将使用 NSURLSession 的每个类中,您必须声明以下委托:

}

然后执行以下操作:

这对我有用。请记住,您必须使用 Apache 2.4.x,因为它是唯一支持 TLS 1.2 的版本。希望这会有所帮助。

0 投票
1 回答
1003 浏览

cordova - phonegap 应用程序抛出与 ios 9 TLS 1.2 强制相关的错误

是否有 phonegap 选项允许您的应用程序中的所有不受信任的 ssl 连接。Apple 在 ios 9 中引入了新的强制措施,它只支持服务器支持 TLS 1.2 的 ssl 连接。一些论坛帖子建议编辑 info.plist 以添加 phonegap 可能不支持的选项。phonegap 应用程序加载不支持 TLS 1.2 的 url 的可能解决方案是什么?这是本机应用程序kCFStreamErrorDomainSSL, -9802 在 iOS 9 中通过 HTTPS 通过 IP 地址连接到服务器时的建议解决方案之一

0 投票
1 回答
828 浏览

email - 使用 Postfix 为邮件服务器设置 TLS 加密

我正在尝试为我的 postfix 邮件服务器设置出站 TLS 加密。我创建了一个 CSR,它具有以下属性:

我将此 CSR 发送到证书颁发机构 (GoDaddy),返回的证书具有以下属性:

对于我的后缀 main.cf 文件:

但是,当我发送邮件并查看收到邮件的来源时,标头看起来没有任何 TLS 加密:

是否有任何我缺少的 cert/config 设置可以使此功能正常工作?