我有特权每周处理约 5 个 SSL CSR,在将它们传递给我们的 CA 采取行动之前检查它们的有效性。我在 Ubuntu 机器上使用 OpenSSL 来检查它们是否有效,测试诸如正确的 OU 名称、合理的 CN、密钥大小 >=2048 位等,因为我们的请求有时不正确。
前几天我收到了来自 IIS7 机器的续订请求。我根本不知道如何使用 OpenSSL 来阅读它。它是有效的,因为我的 CA 已经接受了它......
'file(1)' 说它是一个“RFC1421 安全证书签名请求文本”,这就是我这里大约 50% 的 CSR 所说的(其余是“PEM 证书请求”)。
$ head iis7rcsr
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIQsQYJKoZIhvcNAQcCoIIQojCCEJ4CAQExCzAJBgUrDgMCGgUAMIIJegYJKoZI
hvcNAQcBoIIJawSCCWcwggljMIIIzAIBADCB2zELMAkGA1UEBhMCTloxDTALBgNV
BBEMBDkwNTQxDjAMBgNVBAgMBU90YWdvMRAwDgYDVQQHDAdEdW5lZGluMRwwGgYD
...
...
Run Code Online (Sandbox Code Playgroud)
openssl req, 读取 CSR (PKCS#10) 无法理解它......
$ openssl req -in iis7rcsr -text
unable to load X509 request
5156:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1316:
5156:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:380:Type=X509_REQ_INFO
5156:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:748:Field=req_info, Type=X509_REQ
5156:error:0906700D:PEM routines:PEM_ASN1_read_bio:ASN1 …Run Code Online (Sandbox Code Playgroud) 我管理一个虚拟办公室,我们的员工使用 SSH 密钥和密码进行身份验证。如果我们的一名员工忘记了他的密码,有没有办法使用他的公共 RSA ssh 密钥来加密临时密码,以便我可以通过电子邮件将其发送给他?
我已经看到与此相关的其他问题,但是“答案”通常建议不要使用公共/私有 SSH 密钥来执行一般加密/解密,并且实际上并没有说明这是否可行。我想知道是否确实可能,以及加密然后解密密码的步骤是什么。
从性能和安全的角度来看,openvpn 应该使用哪种密码?
根据http://openvpn.net/index.php/open-source/documentation/howto.html#security,默认为 Blowfish,建议/示例是使用 AES-256-CBC,因为它的密钥大小较大. 256 位 AES 是最佳实践吗?
我有一个 Postfix / Dovecot / Roundcube 设置,我个人使用,也提供给其他用户。我试图将整个设置转移到一个新的盒子,但有一些问题。
邮件接收工作正常(仅在内部测试,域尚未传输。)以及使用 TLS/SSL 的外部 IMAP 和 SMTP 工作正常(例如,Thunderbird)
问题出在我的圆形立方体设置上,它可以使用 IMAP 到 127.0.0.1,并且可以很好地显示用户的电子邮件,但无法发送电子邮件,只需声明: "SMTP Error (220): Authentication failed."
奇怪的是,使用我在当前服务器上使用的相同 Postfix/Dovecot 配置,Roundcube 无法再在我的新服务器上访问它。这是相关的圆形立方体配置:
$config['smtp_server'] = 'tls://localhost';
// Log SMTP conversation to <log_dir>/smtp or to syslog
$config['smtp_debug'] = true;
// SMTP port (default is 25; use 587 for STARTTLS or 465 for the
// deprecated SSL over SMTP (aka SMTPS))
$config['smtp_port'] = 587;
// SMTP username (if required) if you use %u as the username Roundcube
// …Run Code Online (Sandbox Code Playgroud) 我们的一个业务合作伙伴要求我们使用 TLS SHA256 证书连接到他们的 API。我不确定如何生成这些请求。我过去曾使用 openssl 创建这些请求,但它使用 SHA1 生成了 SSL 证书。我可以使用 openssl 来生成这个请求吗?如果不是,我如何生成他们要求的内容?
我不是这个领域的专家,所以我什至不知道我问的是否有意义。
我已经在我的 centos 6.6 机器上升级到 Apache 2.4.12 和 openssl 1.0.2a。
当我启动 apache 时,我看到返回了以下错误消息:
Invalid command 'SSLOpenSSLConfCmd', perhaps misspelled or defined by a module not included in the server configuration
Run Code Online (Sandbox Code Playgroud)
这是我的 apache 构建信息:
Server version: Apache/2.4.12 (Unix)
Server built: Jun 8 2015 22:04:38
Server's Module Magic Number: 20120211:41
Server loaded: APR 1.4.5, APR-UTIL 1.3.12
Compiled using: APR 1.4.5, APR-UTIL 1.3.12
Architecture: 64-bit
Server MPM: worker
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled …Run Code Online (Sandbox Code Playgroud) 在 openssl.cnf default_md(使用公钥默认 MD)设置为default。如何在不生成证书的情况下找出默认值?有没有我可以检查它列出默认值的文件?
我正在尝试将 Stunnel 设置为服务器作为 SSL 缓存。一切都很顺利,而且大多数情况下都按设计工作。
然后我在日志文件中遇到错误:
SSL_accept: 1408F10B: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
Run Code Online (Sandbox Code Playgroud)
由于某些奇怪的原因,并非所有客户端都会触发。使用链接从 CentOS 连接 - 出现错误(尝试了多台机器)。使用链接从 Ubuntu 连接 - 没有错误。
尝试使用 wget,使用 TLSv1 一切顺利,但使用 SSLv3 出现错误。同时,wget 报告:
OpenSSL: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Run Code Online (Sandbox Code Playgroud)
无法建立 SSL 连接。
这是我的配置:
pid = /etc/stunnel/stunnel.pid
debug = 3
output = /etc/stunnel/stunnel.log
socket=l:TCP_NODELAY=1
socket=r:TCP_NODELAY=1
verify=3
; fixing "fingerprint does not match" error
fips=no
[https]
accept=12.34.56.78:443
connect=127.0.0.1:80
TIMEOUTclose=0
xforwardedfor=yes
CAfile = /path/to/ssl/example.com.cabundle
cert=/path/to/ssl/example.com.crt
key=/path/to/ssl/example.com.key
Run Code Online (Sandbox Code Playgroud)
任何人都对这里发生的事情有任何见解?现在谷歌搜索了几个小时,无法弄清楚。
OpenSSL 版本:OpenSSL 0.9.8e-fips-rhel5 2008 年 …
我想在我为团队 Web 安全挑战设置的服务器上编译并安装 Heartbleed 易受攻击的 OpenSSL 版本(因为显而易见的原因,这些版本无法从 Ubuntu 的存储库安装)。
我使用提供的指令(运行./config、然后make和make install)从源 OpenSSL 1.0.1f 下载并编译,并尝试从我的 PC上运行来自 GitHub的公开可用的 Heartbleed POC ,但是脚本通知我没有收到心跳响应,并且服务器可能不易受到攻击。
运行openssl version产生以下输出:OpenSSL 1.0.1f 6 Jan 2014。我当然安装了 SSL 证书,并且 SSL 访问在服务器上工作。
安装 OpenSSL 以与 Apache 2.4.7 一起使用。
任何人都可以帮忙吗?
我需要使用 openssl 在 shell 脚本中执行一些 HTTP GET 请求。我现在用来执行此操作的行如下所示。这是解析以下格式的 XML 响应的内容。
<Result>success</Result>
<Result>failure</Result>
echo -e "GET /test HTTP/1.1\r\nHost:$(hostname)\r\n\r\n" | openssl 2>&1 s_client -quiet -connect server-url:443 | grep -o -P --color '(?<=Result\>).*(?=\</Result)'
Run Code Online (Sandbox Code Playgroud)
这有效并相应地返回字符串“成功”或“失败”。我面临的问题是该openssl命令在执行 GET 请求后不会终止,而是坐在那里等待更多输入。我相信这是由于隐式的-ign_eof,它阻止了由-quiet选项引起的自动终止。我已经尝试使用该-no_ign_eof选项,但这会导致openssl命令在 GET 请求收到响应之前终止,因此如果我使用它,我将无法获取响应的内容。
如何修改此命令,以便我可以通过 stdin 传递 GET 请求(因为我想将其放入循环中是必需的),但openssl在每次请求后都会终止该命令?
openssl ×10
ssl ×3
apache-2.4 ×1
bash ×1
certificate ×1
encryption ×1
heartbleed ×1
iis-7 ×1
logjam ×1
networking ×1
openvpn ×1
password ×1
php ×1
postfix ×1
public-key ×1
roundcube ×1
scripting ×1
smtp ×1
ssh ×1
stunnel ×1
tls ×1