有谁知道是否可以从他们的网站下载最新的 OpenSSL 共享库?
我只能找到来源,所以也许他们不提供它。我知道我可以从源代码自己构建它,但我需要找到一个(可靠的)位置,我可以将人们指向,以便他们自己下载。
我需要 Linux、Solaris 和 Windows。
我有.key保存私钥数据的.crt文件,该文件将是带有公钥的证书,据我所知,这就是公钥加密,对吗?
不完全是。为了实现我的目标,我还必须生成 cakey.pem 和 cacert.pem,我不知道它们是做什么用的。
我有使用 Postfix MTA 设置 TLS 的示例。
我愿意:
openssl genrsa 1024 > smtpd.key
openssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt
Run Code Online (Sandbox Code Playgroud)
这两个 - smtpd.key 和 smtpd.crt - 是密钥(私钥)和证书(包含公钥)。
是什么
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
Run Code Online (Sandbox Code Playgroud)
cakey.pem 和 cacert.pem 文件是什么?
encryption ssl openssl ssl-certificate public-key-encryption
我现在正在使用这个密码套件:
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384: ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHER-RSA- AES128-SHA:AES256-SHA:AES128-SHA:DES-CBC3-SHA
我在 Synology NAS 上使用 OpenSSL 1.0.1m 和 Apache 2.2。我的问题是,没有使用 ECDHE-ECDSA 密码。(在 ssllabs 上测试:https ://www.ssllabs.com/ssltest/analyze.html ? d = sufix.cz & s = 185.47.222.240 )
为什么会发生这种情况?是因为语法错误还是版本太旧?
我尝试了以下命令openssl s_client -connect google.com:443,并能够通过 SSL 与 google.com 连接。
但是当我尝试使用一些资源时,GET /?q=cats HTTP/1.1 <enter> Host google.com <enter><enter>我收到以下消息:
HTTP/1.1 400 Bad Request
Date: Wed, 19 Aug 2015 21:12:02 GMT
Server: Apache
Content-Length: 307
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
Request header field is missing ':' separator.<br />
<pre>
Host google.com</pre>
</p>
</body></html>
closed
Run Code Online (Sandbox Code Playgroud)
如果我没有指定任何 HTTP …
我使用 Wireshark 捕获发送到 google.com 和我的个人网站的数据包,...
google.com 在服务器问候后立即发送证书。然而,我自己的网络服务器似乎并没有这样做。尽管如此,谷歌浏览器还是承认网站证书。
我的问题有两个方面。
我正在尝试为 Java servlet 框架安装 SSL 证书。我有 3 个文件:私钥 (PEM)、证书文件 (PEM) 和 CA 包 (PEM)。当我运行时:
openssl pkcs12 -export -in server.crt -inkey server.key -certfile server.crt -out server.p12 -CAfile server.ca-bundle -chain
Run Code Online (Sandbox Code Playgroud)
...为了获取p12可用于创建 Java 密钥库的文件,它失败并显示以下错误:
Error unable to get issuer certificate getting chain.
Run Code Online (Sandbox Code Playgroud)
在其他地方,我已经使用相同的密钥、证书和 CA 包文件成功设置了 2 个 apache 服务器,并且没有问题。为什么我会收到此错误?
以下命令适用于stdin使用以下命令进行编码echo:
echo "abc" | openssl enc -base64
Run Code Online (Sandbox Code Playgroud)
此命令也适用于替换stdinusing中的字符cat:
cat | sed 's/a/b/g'
Run Code Online (Sandbox Code Playgroud)
但是,以下应stdin使用编码的命令cat不能满足我的需求,因为它不会在我每次按回车键时显示编码值。
cat | openssl enc -base64
Run Code Online (Sandbox Code Playgroud)
如何stdin使用 进行即时编码cat?
有人可以解释一下为什么当我使用 openssl cli 检查 www.google.ca 证书时,结果与我在浏览器中看到的不同:
$回声| openssl s_client -connect www.google.ca:443 |& openssl x509 -fingerprint -sha256 -noout SHA256 指纹=51:45:70:26:0D:90:83:07:99:BC:59:05:A9: 87:0F:00:25:07:11:2F:49:BD:61:1A:88:E1:F7:7D:3D:1A:53:16
在我的浏览器中,证书是:
E0 0B 85 15 B2 53 84 09 C3 EE 2E CD 75 29 94 89 5D 0A 8F 75 0F 0F 94 0C D7 35 95 6A 50 AF 4D 5B
我的支票正在与 www.facebook.com 合作。
$回声| openssl s_client -connect www.facebook.com:443 |& openssl x509 -fingerprint -sha256 -noout SHA256 指纹=A6:26:B1:54:CC:65:63:41:81:25:0B:81:0B: 1B:D4:C8:9E:C2:77:CE:A0:8D:78:5E:EB:E7:E7:68:BD:A7:BB:00
我可以在 Chrome 中看到这个 SHA-256 指纹:
A6 26 B1 54 CC …
有问题,顺便说一下,我的Linux机器检查证书链,我无法调试它
目前受到影响的两台主机,我已经测试了该问题
根据 SSLLabs 的说法,两者都有相同的问题(服务器的证书链不完整,等级上限为“B”)
我已验证 DigiCert GlobalRoot CA 已正确安装在我的/etc/ssl/certs(均使用dpkg-reconfigure ca-certificates和手动配置update-ca-certificates --fresh)中。我还验证了本地串行/指纹与远程匹配
但是,我无法从apt/连接到这些主机git,在这两种情况下都遇到相同的症状(证书验证失败:证书不受信任。证书颁发者未知。无法握手:证书验证出错。)。APT 显然不会下载 repo 文件,git 将无法下载存储库。
我试图进入根目录,使用openssl s_client -connect并且在这两种情况下 OpenSSL 都报告了问题 21(验证返回码:21(无法验证第一个证书)),下面列出了完整的命令运行
我也试图获得缺少的中间体,但这并不能解决问题。
是我这边的问题(我怀疑是)还是这两个服务器都配置错误,而我只是在我的发行版(Debian Buster/Bullseye)中达到了安全预防措施?
openssl ×9
ssl ×3
c ×1
certificate ×1
command-line ×1
debian ×1
encryption ×1
http ×1
java ×1
linux ×1
tls ×1