Articles of openssl

Debian Wheezy中的OpenSSL问题

我不知道到底发生了什么,但我注意到,如果不添加额外的开关,curl就无法获得安全的页面。 ~# curl -v https://api.dreamhost.com * About to connect() to api.dreamhost.com port 443 (#0) * Trying 75.119.208.14… * connected * Connected to api.dreamhost.com (75.119.208.14) port 443 (#0) * successfully set certificate verify locations: * CAfile: none CApath: /etc/ssl/certs * SSLv3, TLS handshake, Client hello (1): (hangs for a minute) * Unknown SSL protocol error in […]

Dovecot错误:启用了ssl,但未设置ssl_cert

我一直试图让Postfix和Dovecot成立好几天,我想我已经解决了所有的问题,除了刚刚出现的问题之外。 当我尝试重新启动Dovecot时,出现以下错误消息: doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: ssl enabled, but ssl_cert not set [….] Restarting IMAP/POP3 mail server: dovecotdoveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: ssl enabled, but ssl_cert not set 当我检查dovecot.conf时,没有什么关于ssl的,所以我认为错误是引用了10-ssl.conf的设置。 我注意到这些设置被注释掉了: # ssl = no # ssl_cert = </etc/ssl/dovecot.pem # ssl_key = </etc/ssl/private/dovecot.pem 我知道这些在之前没有注释过,但是如果我现在取消注释,我会在启动时发现10-ssl.conf中出现意外值ssl的错误。 从Dovecot wiki这个值必须设置,即使它被其他地方的特定协议覆盖。 如果我把ssl值注释掉了,我会得到关于ssl被启用但是没有设置的第一个错误信息。 早些时候,我使用OpenSSL创build了一个自签名证书,并没有收到任何有关未configurationssl的错误消息。 事实上,我能够login到另一台客户端机器的popup窗口,并给出了关于证书不受信任的通常警告。 但我注意到,证书引用了一个不正确的主机名,这是我重build我的VPS之前造成的,并愚蠢地安装并configuration了不正确的主机名的Dovecot。 那么我清除所有文件,并重新安装。 […]

openssl – 什么是公钥默认的MD

在openssl.cnf中default_md (使用公共密钥默认MD)设置为默认值 。 如何在不生成证书的情况下找出默认值? 有没有一个文件,我可以检查它在哪里列出了默认?

加载CRLnumber时出现OpenSSL错误

我无法生成CRL。 我可能在configuration文件中丢失了一些东西。 我得到的错误是“加载crl编号时出现openssl错误”。 Crlconfiguration部分: [ CA_default ] # Directory and file locations. dir = box/ca certs = $dir/certs crl_dir = $dir/crl new_certs_dir = $dir/newcerts database = $dir/index.txt serial = $dir/serial RANDFILE = $dir/private/.rand # For certificate revocation lists. crlnumber = $dir/crlnumber crl = $dir/crl/RcCA.crl crl_extensions = crl_ext default_crl_days = 30 我使用的命令: openssl ca -config full-path-to-openssl.cnf […]

带有openssl命令行的Gmail POP3:挂起时挂起

我想用openssl s_client来访问Gmail POP3S服务器。 我正在做以下事情: $ openssl s_client -connect pop.gmail.com:995 +OK Gpop ready for requests from <removed: ip> d11pf35377217wam.36 USER <removed: [email protected]> +OK send PASS PASS <removed: password> +OK Welcome. LIST +OK 1 messages (2197 bytes) 1 2197 . STAT +OK 1 2197 RETR 1 RENEGOTIATING 问题是我永远不能执行RETR命令。 它总是挂起而“RENEGOTIATING”。 我错过了什么?

从X.509证书中提取原始ASN.1部分

我想从X.509证书中提取原始的hexASN.1数据。 我知道,我可以通过使用DER格式和hexdump来做到这一点。 我对“主题”,“发行者”和他们的原始hexASN1数据等特定部分感兴趣。

Nginx和来自分层OpenSSLauthentication机构的客户端证书

我试图设置根证书颁发机构,下级证书颁发机构,并生成由本CA任何签名的Debian Squeeze上的nginx 0.7.67所接受的客户端证书。 我的问题是根CA签名的客户端证书工作正常,而从属CA在“400错误请求,SSL证书错误”中签署了一个结果。 第1步:nginx虚拟主机configuration: server { server_name test.local; access_log /var/log/nginx/test.access.log; listen 443 default ssl; keepalive_timeout 70; ssl_protocols SSLv3 TLSv1; ssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; ssl_client_certificate /etc/nginx/ssl/client.pem; ssl_verify_client on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; location / { proxy_pass http://testsite.local/; } } 步骤2:根和下级CA的PKI基础架构组织(基于本文): # mkdir ~/pki && cd ~/pki # mkdir rootCA subCA # cp -v […]

如何打击BEAST漏洞并为老客户维护PFS?

纠正我,如果我错了,但BEAST是因为CBC在TLSv1.0,对不对? 所以要消除BEAST的威胁,所有SSLv3或更低版本的CBC密码套件都必须禁用,对吧? 让我们跳到现实世界的例子。 查看我的testing域的Qualys SSLtesting 。 你会看到我已经禁用了SSLv3(当然还有更低的协议)。 为了维护一些不支持TLSv1.1的老客户端,同时保持这些客户端的完善前向保密,我必须使用SSLv3或TLSv1.0附带的一些CBC密码套件。 以下是我必须维护的一些客户样本(链接到Qualys SSL Client Info站点)。 Java 7 OpenSSL 0.9 (由于某些路由器) IE 8 / XP (IE 6 / XP支持被丢弃) Android 2.3 这是我的OpenSSL 1.0.1e密码套件configuration: ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:-DES:!RC4:!MD5:!PSK:!aECDH:EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA 有没有人看到解决scheme来修复BEAST并维护客户端/ PFS? 我只看到最大。 TLSv1.0和CBC仅在客户端的密码套件。 赶上迈克尔汉普顿:是的, RC4不是一个解决scheme 。 我忘了提到这一点。

如何修复MySQL的Logjam漏洞

由于我的Debian服务器上最新的openssl升级,我的mysql客户端无法连接,并提供以下消息 SSL connection error: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small 我猜这是为了防止Logjam攻击。 感谢https://weakdh.org/sysadmin.html我知道如何生成更强大的Diffie-Hellman参数。 但是,我没有find任何MySQLconfiguration选项来实际使用这些。 有人知道吗?

validation返回值是什么:在openssl输出中有1个意思

我不明白openssl输出。 运行openssl如下: #openssl s_client -connect google.com:443 -CAfile cacert.pem < /dev/null 最后一切都很好,最终实体的证书validationOK: Verify return code: 0 (ok) 但是validationreturn:1在下面的中间产品的输出开始时是return:1 ? 这是什么意思呢?这是什么意思? 深度= 3 C = US,O = Equifax,OU = Equifax安全authentication中心validation返回:1 深度= 2 C = US,O = GeoTrust Inc.,CN = GeoTrust Global CAvalidation返回:1 深度= 1 C =美国,O =谷歌公司,CN =谷歌互联网pipe理局G2validation返回:1 深度= 0 C =美国,ST =加州,L =山景,O =谷歌公司,CN = google.comvalidation返回:1 […]