我有一个奇怪的问题。将我的 LAMP 开发机器 (Debian) 更新为 PHP 7。之后我无法再通过 Curl 连接到特定的 TLS 加密 API。
有问题的 SSL 证书由 thawte 签名。
curl https://example.com
Run Code Online (Sandbox Code Playgroud)
给我
curl: (60) SSL certificate problem: unable to get local issuer certificate
Run Code Online (Sandbox Code Playgroud)
然而
curl https://thawte.com
Run Code Online (Sandbox Code Playgroud)
当然,这也是 Thawte 作品的签名。
我可以在其他机器上通过 HTTPS 访问 API 站点,例如我的桌面通过 curl 和浏览器。所以证书绝对有效。SSL 实验室评级为 A。
从我的开发机器到其他 SSL 加密站点的任何其他 Curl 请求都有效。我的根证书是最新的。为了验证,我跑了update-ca-certificates。我什至将http://curl.haxx.se/ca/cacert.pem下载到 /etc/ssl/certs 并运行c_rehash.
还是一样的错误。
有什么方法可以调试验证过程并查看哪个本地颁发者证书 curl(或 openssl)正在寻找但未找到,即文件名?
更新
curl -vs https://example.com
Run Code Online (Sandbox Code Playgroud)
告诉我(IP+域名匿名)
* Hostname was NOT found in DNS cache
* Trying 192.0.2.1...
* …Run Code Online (Sandbox Code Playgroud) 我目前有一个 SSH 密钥,我已经使用了一段时间,我想开始使用带有新密钥环的 GnuPG。但是,鉴于我已经使用我的密钥多年,我仍然希望在 GPG 中使用该密钥作为主/主键。我已经尝试通过这些说明导入密钥。
但是,我最终得到了被认为是“子密钥”的东西。此外,如果我尝试在不创建标准 GPG 密钥的情况下导入它,GPG 甚至看不到这个子密钥。(我假设子密钥需要先由主密钥签名。)
如何使用此密钥作为 secring.gpg 中的主密钥?
Heartbleed OpenSSL 漏洞 ( http://heartbleed.com/ ) 影响 OpenSSL 1.0.1 到 1.0.1f(含)
我使用 Amazon Elastic Load Balancer 终止我的 SSL 连接。ELB 易受攻击吗?
我有一个生成self-signed证书的 bash 脚本并且运行良好:
#! /bin/bash
# Generate self signed root CA cert
openssl req -nodes -x509 -days 358000 -newkey rsa:2048 -keyout ca.key -out ca.crt -subj "/C=IR/ST=TEH/L=Torento/O=CTO/OU=root/CN=es.example.com/emailAddress=info@example.com"
# Generate server cert to be signed
openssl req -nodes -newkey rsa:2048 -days 358000 -keyout server.key -out server.csr -subj "/C=IR/ST=TEH/L=Torento/O=CTO/OU=server/CN=es.example.com/emailAddress=info@example.com"
# Sign the server cert
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
# Create server PEM file
cat server.key server.crt > server.pem
# Generate client cert to …Run Code Online (Sandbox Code Playgroud) 我已经在 Windows 上安装了 OpenSSH。
我可以从这台 Windows 机器上使用 Putty 通过 ssh 成功连接到我的远程服务器。
但是当打开 PowerShell 并尝试时
ssh my_user@1.2.3.4
Run Code Online (Sandbox Code Playgroud)
我有错误:
debug3: send packet: type 5
Corrupted MAC on input.
ssh_dispatch_run_fatal: Connection to 1.2.3.4 port 22: message authentication code incorrect
Run Code Online (Sandbox Code Playgroud)
在安全日志中查看我的远程服务器时,我有:
Dec 7 03:20:22 allo-01 sshd[10102]: Connection from 4.3.2.1 port 49869 on 1.2.3.4 port 22
Dec 7 03:20:23 allo-01 sshd[10102]: Connection reset by 4.3.2.1 port 49869 [preauth]
Run Code Online (Sandbox Code Playgroud)
你知道怎么回事吗?为什么我在 windows 上来自 openssl 的 ssh 命令的行为与 PuTTY 不同?
我必须为通配符 SSL 证书创建一个 CSR。SSL 提供商的一些常见问题解答说我应该在要安装证书的机器上生成 CSR 文件?我的理解是,只要稍后将文件移动到正确的位置,在哪里生成 CSR 或密钥文件就无关紧要。
所以我的问题是:用于 SSL 认证的 CSR 和密钥文件在何处生成是否重要?
我正在尝试使用客户端证书进行 curl 请求,如下所示:
curl -E my.pem https://some.site
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
curl: (35) error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca
Run Code Online (Sandbox Code Playgroud)
SSL 证书在大多数台式计算机上受信任,但仅在某些 Android 设备上受信任。但是,即使在证书不受信任的 Android 设备上,也会安装根证书。
我一定尝试了百种方法来解决这个问题,但我认为这与AddTrust 外部 CA 根有关(可能与缺少的SHA-256指纹有关?)。
编辑 1
我相信我已经在我的证书链中包含了新的中间证书,但是 SSL 实验室仍然报告它不存在(即使在单击“清除缓存”按钮之后)。
编辑 2
明确说明我所做的:
我已登录 WHM 并单击“在域上安装 SSL 证书”选项。
我输入了域名“www.angusaustralia.com.au”。
我输入了 IP 地址“27.124.127.2”。
我已经输入了发给我的证书。
-----开始认证----- MIIFnDCCBISgAwIBAgIRAP/vaD7B7JaVJvqC2H7jiDcwDQYJKoZIhvcNAQELBQAw gZMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMTkwNwYD VQQDEzBVU0VSVHJ1c3QgUlNBIERvbWFpbiBWYWxpZGF0aW9uIFNlY3VyZSBTZXJ2 ZXIgQ0EwHhcNMTYwNjI3MDAwMDAwWhcNMTcwNjI3MjM1OTU5WjCBhzEhMB8GA1UE CxMYRG9tYWluIENvbnRyb2wgVmFsaWRhdGVkMScwJQYDVQQLEx5Ib3N0ZWQgYnkg Q3JhenkgRG9tYWlucyBGWi1MTEMxFTATBgNVBAsTDEVzc2VudGlhbFNTTDEiMCAG A1UEAxMZd3d3LmFuZ3VzYXVzdHJhbGlhLmNvbS5hdTCCASIwDQYJKoZIhvcNAQEB BQADggEPADCCAQoCggEBALbDVHckJORMdY0/ygZqo0jjI02E883VpyL0RCeq7wuI wkCWys3L1v6ZjW45wBEbsYGwpZMV3/IdXYTc5cO5ke4bYnXP4y5NbteVvNOQi1sX FMf8DlpJ+K0ZRcWQVIpsSIRRslXUPw4PWu27Q6Sgp1JuVa2YhXu7hSshIrIhkslT Bx/IL67ZZfwo3wpMoig271yGHT4y1KAz9BfLTqVftL8n7uCKYFj3vo5E44czqSRl wYdQgSOLUc1G7jt33fCV8t+hXbKR0WdutTwdBQfftp2ZCSYwKCgCl3yDSLnqbbI+ 8GdFuLM4c1ZZwbFfJiKSZ5qDBg0IeODgIRdxSDmirDECAweEAAaOCAfMwggHvMB8G A1UdIwQYMBAAFKbB5+H09kdj1y99jZD4uiNPYKyeMB0GA1UdDgQWBBRbjv4H+sED CnGTcCoBdTIGeUPOOjAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNV HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwTAYDVR0gBEUwQzA3BgwrBgEEAbIx AQIBAwQwJzAlBggrBgEFBQcCARYZaHR0cHM6Ly9jcHMudXNlcnRydXN0LmNvbTAI BgZngQwBAgEwWAYDVR0fBFEwTzBNoEugSYZHaHR0cDovL2NybC51c2VydHJ1c3Qu Y29tL1VTRVJUcnVzdFJTQURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5j cmwwgYoGCCsGAQUFBwEBBH4wfDBTBggrBgEFBQcwAoZhaHR0cDovL2NydC51c2Vy dHJ1c3QuY29tL1VTRVJUcnVzdFJTQURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2 ZXJDQS5jcnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20w OwYDVR0RBDQwMoIZd3d3LmFuZ3VzYXVzdHJhbGlhLmNvbS5hdYIVYW5ndXNhdXN0 cmFsaWEuY29tLmF1MA0GCSqGSIb3DQEBCwUAA4IBAQCfA2SHg1DtKmHvipfT3REv yowcSTu7/PbKsOAnxdFlnfziKImPJcAwR7PWQoAFAG3pqfk0lGpxkeXN4UhXRs6m MlKKy1xY5H8B4hytCAQDzfZGx0lL4ajeLDsZ439YsHR33abhkf6IieHG412x6PkO csr8NFqevOnxAXkjV4yvfQIPk8sGkzT4rdIlMAS7ZW39wKGe31rYrHFXo1EJqswE mFjMfYtteExXW1e5RqNyecYZ/A8mkJduqiMNvpEzAtDVzKh49bxB4gI97UsIfA9G 4k2KzJarfl+gUFucAIPWEwO2ljXMgOmHCtuTycUmir2KDg5OIDzv7M5snwMVNQs7 -----结束证书-----
我已经输入了私钥(下面未列出)。
我已经输入了以下证书钥匙串(以下有多种组合,但我相信这个“更长”的钥匙串应该可以工作,根据 …
当我运行“openssl”时,出现如下错误:
openssl:加载共享库时出错:libcrypto.so.1.1:无法打开共享对象文件:没有这样的文件或目录”
这是在我尝试根据本文更新 OpenSSL 之后发生的
有没有什么办法解决这一问题?
操作系统:CentOS 6.8 网络服务器:nginx/1.10.2
更新#1:
[root@host ~]# yum info openssl
Installed Packages
Name : openssl
Arch : x86_64
Version : 1.0.1e
Release : 48.el6_8.3
Size : 4.0 M
Repo : installed
From repo : system-updates
Summary : A general purpose cryptography library with TLS implementation
URL : ***
License : OpenSSL
Description : The OpenSSL toolkit provides support for secure communications
: between machines. OpenSSL includes a certificate management tool and
: shared …Run Code Online (Sandbox Code Playgroud) 我想为我的域设置企业证书颁发机构。所以我可以为各种目的颁发证书。我想遵循将离线 CA 作为根的最佳实践,并将我的企业 CA 设置为从属。但是,为这项任务授权 Windows 的完整副本似乎很愚蠢。
我希望能够做的是在 USB 闪存盘上安装一些实时发行版,然后安装 openssl,并在闪存驱动器上设置我的 CA。当我准备好构建根密钥/证书时,我将断开计算机与网络的连接,然后再不在网络连接的计算机上使用该 USB 磁盘。
我是否能够为 Windows 企业 CA 正确签署和创建从属 CA 证书,这将是可用的。我需要与 OpenSSL 一起使用哪些选项来构建 CA 并正确签署从属 CA 证书。
我试图在网上搜索,这是我在这个主题上唯一能找到的东西。但它早于 2008 年,我不完全确定这个人是否成功。
openssl ×10
ssl ×3
curl ×2
windows ×2
amazon-elb ×1
csr ×1
gpg ×1
heartbleed ×1
mod-ssl ×1
powershell ×1
private-key ×1
rsa ×1
ssh ×1
ssh-keys ×1
tls ×1