Articles of openssl

请问Ubunut 14.04 LTS在1.0.1的EOL后将OpenSSL更新到1.0.2

根据OpenSSL,版本1.0.1已达到EOL: https : //www.openssl.org/policies/releasestrat.html 意思是: 对版本1.0.1的支持将在2016年12月31日停止。 在此date之后,不会再发布1.0.1版本。 安全修补程序将只适用于1.0.1,直到那时。 不幸的是Ubunut 14.04 LTS还没有升级到1.0.2: https ://launchpad.net/ubuntu/trusty/+source/openssl 这是如何在未来的劫掠? 我需要一个1.0.2的function,并希望Canonnical由于EOL升级到这个版本。 你会推荐什么? 等待正式升级或从源代码编译到不同的目录?

在RHEL 7上设置tomcat 8.5

我正在尝试在RedHat Enterprise 7.2上安装Tomcat 8.5。 我遇到了编译Tomcat Native 1.2的问题。 RedHat 7发布OpenSSL 1.01和Tomcat Native 1.2需要OpenSSL 1.0.2,所以我不得不编译OpenSSL 1.0.2。 所以当我运行以下命令: "./configure –with-ssl=/usr/local/ssl –with-apr=/usr/bin/apr-1-config –with-java-home=/usr/java/default" ,当我尝试运行”make“时出现以下错误: make[1]: Entering directory `/usr/local/tomcat/apache-tomcat-8.5.9/bin/tomcat-native-1.2.10-src/native' /bin/sh /usr/lib64/apr-1/build/libtool –silent –mode=link gcc -pthread -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong –param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -DHAVE_CONFIG_H -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -DHAVE_OPENSSL -DHAVE_POLLSET_WAKEUP -I/usr/local/tomcat/apache-tomcat-8.5.9/bin/tomcat-native-1.2.10-src/native/include -I/usr/java/default/include -I/usr/java/default/include/linux -I/usr/local/ssl/include -I/usr/include/apr-1 -version-info […]

SNI如何与谷歌应用程序引擎工作?

我发现谷歌应用程序引擎支持单个谷歌应用程序引擎应用程序的多个自定义域 可能可以使用多租户域/名称空间来完成。 我想用这些多个自定义域的SSL。 我发现它可能由SNI。 现在我的问题是: – SNI如何与谷歌应用程序引擎? – 我需要为每个域名购买单独的SSL证书,并将其上传到谷歌应用引擎,谷歌将这种机制称为SNI? 在这种情况下,每个域名的CSR生成过程如何? – 或SNI的东西,谷歌内部pipe理,以便我可以简单地添加我的域名,并从谷歌控制台应用SNI这些域名,它只是工作。 但我没有看到在SNI的谷歌控制台的任何部分。 不pipe是谷歌收取SNI还是收费。 有人可以简单地解释一下在谷歌应用程序引擎中的SNIconfiguration过程吗?

在Postfix中启用RC4-SHA以实现旧的Exchange兼容性

我使用Postfix 2.11.3-1和OpenSSL 1.0.2k-1运行Debian Jessie邮件服务器。 最近Debian政策的变化已经使几个不安全的密码失效了。 不幸的是,我们收到邮件的一些邮件服务器仍旧在旧版本的Exchange上运行(我认为Windows Server 2003上的Exchange 2007),现在由于TLS握手失败而无法连接。 以下是发送服务器支持的非常有限的密码: tls1: RC4-SHA tls1: RC4-MD5 tls1: DES-CBC3-SHA 我无法控制其configuration。 根据http://www.postfix.org/TLS_README.html#server_cipher ,“… Windows 2003 Microsoft Exchange服务器的DES-CBC3-SHA的实现存在缺陷,OpenSSL认为它比RC4-SHA更强大。套件select可能会与Windows 2003 Microsoft Exchange客户端产生互操作性问题。“ 这里是我们Postfixconfiguration的相关行,由postconf | grep smtpd_tls postconf | grep smtpd_tls : smtpd_tls_CAfile = smtpd_tls_CApath = smtpd_tls_always_issue_session_ids = yes smtpd_tls_ask_ccert = no smtpd_tls_auth_only = yes smtpd_tls_ccert_verifydepth = 9 smtpd_tls_cert_file = /path/to/cert smtpd_tls_ciphers […]

用OpenSSL编译PHP 5.3.29失败

我们需要在我们的Ubuntu 16.04服务器上安装一个PHP5.3,用于我们将要replace的传统第三方应用程序,但是我们仍然需要一段时间。 因此,我使用FPM编译了PHP5.3.29,以使其与我们的Nginx堆栈一起工作。 但是,我正在努力编译OpenSSL到PHP。 所以这就是我迄今所做的: 使用OpenSSL的系统安装(v 1.0.1j) 尝试使用–with-openssl编译PHP失败,运行make时出现以下错误: /usr/bin/ld: ext/openssl/openssl.o: undefined reference to symbol 'SSL_get_verify_result@@OPENSSL_1.0.0' //lib/x86_64-linux-gnu/libssl.so.1.0.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status Makefile:267: recipe for target 'sapi/fpm/php-fpm' failed 所以我search了networking,find了这个错误的修复方法,但是却找不到我能find的那个方法。 然而,我遇到的一篇文章提到,通过使用较旧版本的OpenSSL,问题可以被绕开。 这就是我所尝试的。 使用自编旧版本的OpenSSL(v 0.9.8w) 我使用flag –prefix=/opt/openssl编译了OpenSSL,以确保它不会影响OpenSSL的系统安装。 之后,我尝试使用–with-openssl=/opt/openssl再次编译PHP,并顺利进行。 然而,在使用需要PHP 5.3的应用程序运行一些testing之后,当使用带https https URL的cURL请求时,我迅速开始看到正在为我的请求提供服务的FPM-Child。 所以我debugging了这个有故障的孩子,并且能够把原因追溯到OpenSSL。 好 – 现在该怎么办? 编译没有OpenSSL的PHP 所以我决定完全省略OpenSSL扩展,实际上在编译时都是成功的(这里没有什么惊喜),并且使用我刚刚编译的PHP安装,通过curl请求https […]

让OpenSSL ca.config文件与PHP一起工作?

我做了一堆search,但我找不到答案。 我在这里发布这个,因为它看起来更像是一个OpenSSL问题,而不是一个PHP,虽然我可以使用这个CAconfiguration从命令行创build证书,所以有一些PHP不喜欢它。 当在PHP中调用openssl_pkey_new()时,出现错误: Error loading request_extensions_section section v3_req of /path/to/ca.config 。 我通过configuration数组传递ca.config文件的path到openssl_pkey_new() ,PHP正在打开文件。 ca.config文件如下所示: [ ca ] default_ca = MyClientCA [ crl_ext ] issuerAltName=issuer:copy authorityKeyIdentifier=keyid:always [ MyClientCA ] dir = /site/path/ssl/ca new_certs_dir = $dir unique_subject = no certificate = $dir/MyClientCA.public database = $dir/certindex private_key = $dir/MyClientCA.key serial = $dir/MyClientCA.srl default_days = 3650 default_md = sha1 […]

两个版本的openssl?

我编译了一个新的Apache安装。 我把它编译成新的openssl。 我在de error.log中得到以下警告。 [Tue Feb 14 23:42:36.039364 2017] [ssl:warn] [pid 23881:tid 140513492883200] AH01882:Init:这个版本的mod_ssl是针对一个更新的库编译的(OpenSSL 1.0.2k 2017年1月26日, OpenSSL 1.0.2g 2016年3月1日) – 可能导致未定义或错误的行为 我的openssl存放在/ usr / bin / openssl中$ openssl version OpenSSL 1.0.2k 2017年1月26日 那么从哪里得到它的OpenSSL 1.0.2g的Apache? 我如何指定它需要编译的OpenSSL 1.0.2k的Apache? 感谢您的支持。

Wireshark不解密TLS数据包

我无法理解为什么解密在这里不起作用。 考虑这个pcap文件中的场景 – https://drive.google.com/open?id=0Bz5corUPBatBWWpXTFYwWjdfS0k 我有这样的networking设置 Internet Server (104.31.17.3)<———> (eth1) Gateway (192.168.151.19) (eth0) <———-> Client (192.168.151.15) 对于这个捕获的上下文,我使用filtertcp和!ssh,并且只对从帧#22到帧#98的帧感兴趣 解释这些框架之间发生的事情 – 帧22-30是TLS握手。 第31帧是GET请求。 这由防火墙规则放弃。 对于相同的GET请求,帧32-35是一些重传(见包的长度等) 第38-86帧是客户端计算机(进行GET请求的客户端计算机)和网关计算机进行交互。 (rsync + ssh通信 – 请参阅帧中的端口号22)第61帧只是GET请求的另一个重新传输。 为客户端的GET请求重新发送帧87。 帧86和87之间的时间差是0.9秒(在此期间更新了一些防火墙规则)。 第88帧是服务器响应并包含TLS应用程序数据的时间。 Wireshark无法解密我感兴趣的帧88。 解剖器代码被修改时,debugging文件不容易阅读。 (在其他用途​​所需的循环中使用ssl_debug_printf语句)。 请使用以下命令来读取debugging文件。 “-C参数打印grepstring后面的下一行# cat debug.txt | grep -C 10 "frame #88" 我不明白为什么Wireshark无法解密TLS应用程序数据包。 数据包属于同一个TCPstream,TCP端口号和SSL对话。 SSL状态与初始GET请求(由于防火墙规则而丢弃的请求 – 第31帧)相同。

OpenSSL – 从2个根CA创build跨中级证书

晚上好, 我有两台服务器运行在不同的数据中心,都使用OpenVPN连接。 两台服务器都有自己的ca-server,它可以使用中间证书签署新的证书,这些证书当前由一个单独的根证书签名(每个服务器都有自己的根证书,这些证书是离线安全存储的)。 如果一个CA变得不可用(被破坏,服务器脱机等),我想要确保CA1的证书在最初由CA2创build时被接受。 (所以经典的证书交叉签名)。 我可以为中间证书生成一个密钥并由两个CA签名,但我不明白如何将两个证书放在一起,所以如果只有CA2是可信的,CA1签名的证书仍然有效。 我的问题: – 如何写出一个交叉签名的中级证书。 – 这是怎么用X509? 我已经读过,交叉签名不包含在X509中。 整个过程如何工作? 如何链接客户端证书和中间证书? (例如NGINX)。 谢谢您的回答 :), Genpc

CentOS 6.8 OpenSSL v1.0.1 – 支持NodeJS握手

我已经在我的CentOS 6.8表单二进制包中安装了nodejs(最新的v.7.xx)。 我正尝试连接到使用相当旧的TSLv1encryption协议的站点。 在与该域的握手(我使用https模块)NodeJS失败,并出现以下错误消息: Error: write EPROTO 140078368692000:error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error:../deps/openssl/openssl/ssl/s23_clnt.c:769: at exports._errnoException (util.js:1033:11) at WriteWrap.afterWrite [as oncomplete] (net.js:816:14) 而当我添加secureProtocol选项(将其设置为TLSv1_method)时,我得到: write EPROTO 140528424298272:error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error:../deps/openssl/openssl/ssl/s3_pkt.c:1493:SSL alert number 80 140528424298272:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl handshake failure:../deps/openssl/openssl/ssl/s3_pkt.c:659: OpenSSL版本(就像二进制包一样)在我的机器上目前有版本: OpenSSL 1.0.1e-fips 11 Feb 2013 据我所知,NodeJS使用它自己的二进制包,所以升级不会帮助(如果可能,我想避免这种情况)。 我已经检查了OpenSSL的更新日志,似乎没有任何问题影响到OpenSSL的特定版本(我是握手问题)。