标签: openssl

卷曲:无法获得本地颁发者证书。如何调试?

我有一个奇怪的问题。将我的 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)

ssl openssl ssl-certificate tls curl

21
推荐指数
1
解决办法
9万
查看次数

如何将 RSA SSH 密钥作为 _primary_ 私钥导入 GPG?

我目前有一个 SSH 密钥,我已经使用了一段时间,我想开始使用带有新密钥环的 GnuPG。但是,鉴于我已经使用我的密钥多年,我仍然希望在 GPG 中使用该密钥作为主/主键。我已经尝试通过这些说明导入密钥。

但是,我最终得到了被认为是“子密钥”的东西。此外,如果我尝试在不创建标准 GPG 密钥的情况下导入它,GPG 甚至看不到这个子密钥。(我假设子密钥需要先由主密钥签名。)

如何使用此密钥作为 secring.gpg 中的主密钥?

rsa gpg openssl private-key ssh-keys

19
推荐指数
2
解决办法
2万
查看次数

Heartbleed 是否会影响 AWS Elastic Load Balancer?

Heartbleed OpenSSL 漏洞 ( http://heartbleed.com/ ) 影响 OpenSSL 1.0.1 到 1.0.1f(含)

我使用 Amazon Elastic Load Balancer 终止我的 SSL 连接。ELB 易受攻击吗?

openssl amazon-web-services amazon-elb heartbleed

19
推荐指数
1
解决办法
3920
查看次数

为什么 openssl 忽略自签名证书的到期日期 -days?

我有一个生成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)

openssl self-signed-certificate

19
推荐指数
2
解决办法
5万
查看次数

Windows 上的 ssh - 输入时 MAC 损坏

我已经在 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 不同?

windows powershell ssh openssl

19
推荐指数
3
解决办法
3万
查看次数

用于 SSL 认证的 CSR 和密钥文件在何处生成是否重要?

我必须为通配符 SSL 证书创建一个 CSR。SSL 提供商的一些常见问题解答说我应该在要安装证书的机器上生成 CSR 文件?我的理解是,只要稍后将文件移动到正确的位置,在哪里生成 CSR 或密钥文件就无关紧要。

所以我的问题是:用于 SSL 认证的 CSR 和密钥文件在何处生成是否重要?

ssl openssl ssl-certificate csr

18
推荐指数
2
解决办法
8061
查看次数

“tlsv1 alert unknown ca”是什么意思?

我正在尝试使用客户端证书进行 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)
  • 这是什么意思?
  • 这个投诉是来自我连接的服务器还是我的 curl 客户端?
  • (我如何确定)在这种情况下 ca 是什么?
  • 我如何使它成为已知的ca?

ssl openssl ssl-certificate curl certificate-authority

18
推荐指数
1
解决办法
9万
查看次数

为什么我的 SSL 证书在 Android 上不受信任?

SSL 证书在大多数台式计算机上受信任,但仅在某些 Android 设备上受信任。但是,即使在证书不受信任的 Android 设备上,也会安装根证书。

我一定尝试了百种方法来解决这个问题,但我认为这与AddTrust 外部 CA 根有关(可能与缺少的SHA-256指纹有关?)。

  • 原因似乎不是不正确的证书颁发机构包。
  • 原因似乎与时间无关。
  • 我使用过的所有在线 SSL 检查工具(例如https://www.ssllabs.com)都说 SSL 证书安装正确。
  • 根证书位于我的 Android 设备和台式计算机上(请参阅两个屏幕截图中的 SHA1 指纹,它们是相同的)。

根证书安装在 Android 上。 根证书安装在我的桌面上。

编辑 1

我相信我已经在我的证书链中包含了新的中间证书,但是 SSL 实验室仍然报告它不存在(即使在单击“清除缓存”按钮之后)。

浏览器刷新包括新的 SSL 证书链。 SSLLabs 刷新没有看到新的 SSL 证书链。

编辑 2

明确说明我所做的:

  1. 我已登录 WHM 并单击“在域上安装 SSL 证书”选项。

  2. 我输入了域名“www.angusaustralia.com.au”。

  3. 我输入了 IP 地址“27.124.127.2”。

  4. 我已经输入了发给我的证书。

-----开始认证-----
MIIFnDCCBISgAwIBAgIRAP/vaD7B7JaVJvqC2H7jiDcwDQYJKoZIhvcNAQELBQAw
gZMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMTkwNwYD
VQQDEzBVU0VSVHJ1c3QgUlNBIERvbWFpbiBWYWxpZGF0aW9uIFNlY3VyZSBTZXJ2
ZXIgQ0EwHhcNMTYwNjI3MDAwMDAwWhcNMTcwNjI3MjM1OTU5WjCBhzEhMB8GA1UE
CxMYRG9tYWluIENvbnRyb2wgVmFsaWRhdGVkMScwJQYDVQQLEx5Ib3N0ZWQgYnkg
Q3JhenkgRG9tYWlucyBGWi1MTEMxFTATBgNVBAsTDEVzc2VudGlhbFNTTDEiMCAG
A1UEAxMZd3d3LmFuZ3VzYXVzdHJhbGlhLmNvbS5hdTCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBALbDVHckJORMdY0/ygZqo0jjI02E883VpyL0RCeq7wuI
wkCWys3L1v6ZjW45wBEbsYGwpZMV3/IdXYTc5cO5ke4bYnXP4y5NbteVvNOQi1sX
FMf8DlpJ+K0ZRcWQVIpsSIRRslXUPw4PWu27Q6Sgp1JuVa2YhXu7hSshIrIhkslT
Bx/IL67ZZfwo3wpMoig271yGHT4y1KAz9BfLTqVftL8n7uCKYFj3vo5E44czqSRl
wYdQgSOLUc1G7jt33fCV8t+hXbKR0WdutTwdBQfftp2ZCSYwKCgCl3yDSLnqbbI+
8GdFuLM4c1ZZwbFfJiKSZ5qDBg0IeODgIRdxSDmirDECAweEAAaOCAfMwggHvMB8G
A1UdIwQYMBAAFKbB5+H09kdj1y99jZD4uiNPYKyeMB0GA1UdDgQWBBRbjv4H+sED
CnGTcCoBdTIGeUPOOjAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BA​​IwADAdBgNV
HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwTAYDVR0gBEUwQzA3BgwrBgEEAbIx
AQIBAwQwJzAlBggrBgEFBQcCARYZaHR0cHM6Ly9jcHMudXNlcnRydXN0LmNvbTAI
BgZngQwBAgEwWAYDVR0fBFEwTzBNoEugSYZHaHR0cDovL2NybC51c2VydHJ1c3Qu
Y29tL1VTRVJUcnVzdFJTQURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5j
cmwwgYoGCCsGAQUFBwEBBH4wfDBTBggrBgEFBQcwAoZhaHR0cDovL2NydC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2
ZXJDQS5jcnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20w
OwYDVR0RBDQwMoIZd3d3LmFuZ3VzYXVzdHJhbGlhLmNvbS5hdYIVYW5ndXNhdXN0
cmFsaWEuY29tLmF1MA0GCSqGSIb3DQEBCwUAA4IBAQCfA2SHg1DtKmHvipfT3REv
yowcSTu7/PbKsOAnxdFlnfziKImPJcAwR7PWQoAFAG3pqfk0lGpxkeXN4UhXRs6m
MlKKy1xY5H8B4hytCAQDzfZGx0lL4ajeLDsZ439YsHR33abhkf6IieHG412x6PkO
csr8NFqevOnxAXkjV4yvfQIPk8sGkzT4rdIlMAS7ZW39wKGe31rYrHFXo1EJqswE
mFjMfYtteExXW1e5RqNyecYZ/A8mkJduqiMNvpEzAtDVzKh49bxB4gI97UsIfA9G
4k2KzJarfl+gUFucAIPWEwO2ljXMgOmHCtuTycUmir2KDg5OIDzv7M5snwMVNQs7
-----结束证书-----
  1. 我已经输入了私钥(下面未列出)。

  2. 我已经输入了以下证书钥匙串(以下有多种组合,但我相信这个“​​更长”的钥匙串应该可以工作,根据 …

mod-ssl openssl ssl-certificate

17
推荐指数
1
解决办法
1万
查看次数

加载共享库时出错:libcrypto.so.1.1

当我运行“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)

openssl

17
推荐指数
3
解决办法
13万
查看次数

MS 证书服务可以成为使用 OpenSSL 创建的 CA 的从属吗

我想为我的域设置企业证书颁发机构。所以我可以为各种目的颁发证书。我想遵循将离线 CA 作为根的最佳实践,并将我的企业 CA 设置为从属。但是,为这项任务授权 Windows 的完整副本似乎很愚蠢。

我希望能够做的是在 USB 闪存盘上安装一些实时发行版,然后安装 openssl,并在闪存驱动器上设置我的 CA。当我准备好构建根密钥/证书时,我将断开计算机与网络的连接,然后再不在网络连接的计算机上使用该 USB 磁盘。

我是否能够为 Windows 企业 CA 正确签署和创建从属 CA 证书,这将是可用的。我需要与 OpenSSL 一起使用哪些选项来构建 CA 并正确签署从属 CA 证书。

我试图在网上搜索,是我在这个主题上唯一能找到的东西。但它早于 2008 年,我不完全确定这个人是否成功。

windows openssl ssl-certificate certificate-authority

16
推荐指数
2
解决办法
7084
查看次数