我在 Ubuntu 10.04 上的 Apache/2.2.14 上运行(自签名)SSL 证书站点,但是各种浏览器在一半的连接尝试中都出现错误。刚刚从 Chrome 中看到这个暂时性错误:
"Error 126 (net::ERR_SSL_BAD_RECORD_MAC_ALERT): Unknown error."
Run Code Online (Sandbox Code Playgroud)
点击刷新,问题会消失一段时间。
wget也是:
$ wget --no-check-certificate https://dev.foo.com/deps/
--2010-09-08 19:30:26-- https://dev.foo.com/deps/
Resolving dev.foo.com... 184.72.53.220
Connecting to dev.foo.com|184.72.53.220|:443... connected.
OpenSSL: error:0407006A:rsa
routines:RSA_padding_check_PKCS1_type_1:block type is not 01
OpenSSL: error:04067072:rsa routines:RSA_EAY_PUBLIC_DECRYPT:padding check failed
OpenSSL: error:1408D07B:SSL routines:SSL3_GET_KEY_EXCHANGE:bad signature
Unable to establish SSL connection.
Run Code Online (Sandbox Code Playgroud)
立即再次运行它,它可以工作:
$ wget --no-check-certificate https://dev.foo.com/deps/
--2010-09-08 19:30:29-- https://dev.foo.com/deps/
Resolving dev.foo.com... 184.72.53.220
Connecting to dev.foo.com|184.72.53.220|:443... connected.
WARNING: cannot verify dev.foo.com's certificate, issued by
`/CN=dev.foo.com':
Self-signed certificate encountered.
HTTP request sent, …Run Code Online (Sandbox Code Playgroud) Verisign 拥有所有这些证书颁发公司:Verisign Thawte Geotrust 和 Rapidssl。
它们之间有什么区别,为什么价格差异这么大?
更新:这里只是我遇到的几个不同之处:
GeoTrust 没有被链接:没有正确验证整个链的设备可能会在这个链上有更好的运气。我已经看到 ActiveSync 使用非链接证书比使用链接证书更好。
RapidSSL 和 Geotrust 证书不是按服务器授权的,这意味着您可以为整个网络农场购买一个证书。
Verisign 证书附带免费的每日恶意软件扫描,如果在您的站点上发现任何此类软件,它会提醒您。
只有 Verisign 代码签名证书适用于 WinQual
感谢您阅读本文,我感谢任何和所有建议。
我在使用 Riseup.net 的 VPN 重新连接到我的 OpenVPN 客户端时遇到了一些严重的问题。
我花了几天的时间试图在我的 iOS 设备上设置它...但这是另一个问题。然而,我能够在我的 Mac OS X 上设置它,特别是在我的 Windows Vista 32 位 BootCamp VM 上,相对没有什么麻烦。
最初连接时,我只需要稍微修改推荐的配置文件(本文末尾包含配置文件): - 我必须将代码直接输入到我的配置文件中 - 并将“dev tap”更改为“dev tun”
所以我被连接了。(注意 - 我做了测试以确保 VPN 在我最初连接后确实可以正常工作,确实如此。还验证了 .pem 文件(在我的配置文件中作为编码插入)的真实性)。我让 VPN 运行。我的电脑睡着了。今天我去使用互联网,期望(可能是错误的 - 我现在不确定让它运行是否错误)仍然可以连接到 VPN。然而,我立即看到我不是。我去重新连接。并且(我)无法做到。
尝试连接(并出现连接失败对话框)后,我的日志显示一切正常(据我所知),直到我得到以下几行:
Mon Sep 23 21:07:49 2013 us=276809 Initialization Sequence Completed
Mon Sep 23 21:07:49 2013 us=276809 MANAGEMENT: >STATE:1379995669,CONNECTED,SUCCESS, OMITTED
Mon Sep 23 21:22:50 2013 us=390350 Authenticate/Decrypt packet error: packet HMAC authentication failed
Mon Sep 23 21:23:39 2013 …Run Code Online (Sandbox Code Playgroud) 我目前正在使用 Apache 运行 Debian Squeeze 服务器。我的 OpenSSL 版本是 0.9.8,我想升级到能够运行 TLS v 1.2 的版本。到目前为止,我的研究表明这是不可能的,但我觉得我错过了一些东西。是否有允许我这样做的升级路径,或者我是否需要使用较新版本的 Debian 重建我的服务器?
在我启用 TLS 的 OpenVPN 配置中,我想使用通过使用tls-auth. 好消息是,它按预期工作。但是,我对可选key-direction参数有疑问(作为tls-auth选项的第二个参数或作为key-direction选项)。
手册页中对配置参数的描述如下(版本 2.3.x,相关代码段):
--tls-auth file [direction]
Add an additional layer of HMAC authentication on top of the TLS control
channel to protect against DoS attacks.
In a nutshell, --tls-auth enables a kind of "HMAC firewall" on OpenVPN's
TCP/UDP port, where TLS control channel packets bearing an incorrect HMAC
signature can be dropped immediately without response.
file (required) is a key file which can be in one of …Run Code Online (Sandbox Code Playgroud) 我将需要使用 SSL SNI,但不幸的是,从最近的 Cloudflare 博客文章来看,只有 90% 的网络支持它。我如何(例如,使用 nginx)检测客户端是否支持 SNI 并提供/重定向到网站的 HTTP 版本?这可能吗?使用 SNI 我怎么能不丢失 10% 的流量?假设我无法在没有有效证书的情况下将 HTTPS 流量重定向到 HTTP,因此此请求是不可能的,是否正确?
谢谢你。
我的第一个想法是使用类似的东西,openssl s_client但这只支持 TCP 而不是 UDP,似乎需要一些特殊的魔法才能让 TLS over UDP 工作,我如何与之交互并获得证书链的转储?(我特别需要证书,而不是有关它们的信息)
我需要从多个客户端到 Internet 上的单个端口的加密 TCP 连接。这可以用 Squid 实现吗?
我们在公司中使用了可通过 LAN 和 VPN 访问的监控和客户端管理解决方案。现在应该可以从不使用公司 VPN 的外部笔记本访问它。通信必须加密 (TLS)。客户端身份验证必须使用客户端证书。通信由客户端发起并使用单个 TCP 端口。
NGINX Plus似乎提供此功能,但我们的管理员更喜欢 squid 或 apache。在鱿鱼维基上,我发现:功能:HTTPS(HTTP 安全或 HTTP over SSL/TLS),其中提到了 TCP 加密。但我也发现了这个警告:
需要注意的是,通过 CONNECT 传递的协议不限于 Squid 通常处理的协议。从字面上看,任何使用双向 TCP 连接的东西都可以通过 CONNECT 隧道传递。这就是为什么 Squid 默认 ACL 以 deny CONNECT !SSL_Ports 开头的原因,以及为什么您必须有一个很好的理由将任何类型的允许规则放在它们之上。
这个问题Encrypt client connection with squid forward proxy using SSL是类似的,但不处理反向代理/TLS 终止代理。
我只有有关该技术的基本知识,我们的管理员询问了我的一般可行性。
我正在使用java 1.6.我已将我的 tomcat 设置为ssl启用的服务器。我已经设置了一个支持 ssl 的客户端(java 代码)。当我从客户端到服务器进行通信时。在 tomcat 日志中的 java ssl dump 中,我总是看到TLSv1我的客户端和服务器都选择了 SSL 协议版本。有没有一种方法可以在SSLv3和TLSv1协议之间切换以实现安全连接?如何使用 进行客户端服务器通信SSLv3?
提前致谢!
我想弄清楚如何禁用 TLSv1 和 1.1 Nginx 并且只允许 1.2 上的连接。这是出于测试原因而不是在生产中使用,而且我一生都无法弄清楚为什么 Nginx 不会让我这样做。
Nginx SSL 配置:
ssl on;
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM256:DH+AESGCM256:ECDH+AES256:!aNULL:!MD5:!kEDH;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=262974383; includeSubdomains;";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,Nginx 仍在协商 1.0 和 1.1 连接。难道我做错了什么?我在 Ubuntu Server 14.04LTS 和 OpenSSL 1.0.1f 上使用 Nginx 1.7.10。