有没有办法获取设置了主题备用名称的 .crt 和 .key 文件?我正在使用此命令生成的 openssl .crt 和 .key 配置代理
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout proxy.key -out proxy.crt
Run Code Online (Sandbox Code Playgroud)
然后,我使用 .key 和 .crt 来获取 .pem 并在客户端使用它。该证书可以很好地保护 https 连接,但我收到一条警告,表明证书中未设置主题备用名称。在另一个客户端中,我使用的警告实际上是一个终止连接的错误。
这里的解决方案https://security.stackexchange.com/a/91556给了我一个.csr,我将其重命名为我需要的.crt,当我与客户端一起使用它时,https连接因不正确的ssl证书而失败。
我使用gmail发送电子邮件,一切都运行得很好,但突然之间停止了工作.它告诉我这个
ErrorException in StreamBuffer.php line 94:
stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
in StreamBuffer.php line 94
at HandleExceptions->handleError('2', 'stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed', 'C:\xampp\htdocs\coparmex\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php', '94', array())
at stream_socket_enable_crypto(resource, true, '9') in StreamBuffer.php line 94
at Swift_Transport_StreamBuffer->startTLS() in EsmtpTransport.php line 313
at Swift_Transport_EsmtpTransport->_doHeloCommand() in AbstractSmtpTransport.php line 118
at Swift_Transport_AbstractSmtpTransport->start() in Mailer.php line 79
at Swift_Mailer->send(object(Swift_Message), array()) in Mailer.php line 385
at Mailer->sendSwiftMessage(object(Swift_Message)) in Mailer.php …Run Code Online (Sandbox Code Playgroud) 我正在使用自签名的数字签名证书签署 PDF,并且我正在寻找一种方法来添加keyUsage(链接)我找到了这篇文章,并相应地更改了我的 openssl.cnf。
req_extensions = v3_req
[ v3_req ]
basicConstraints = CA:TRUE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment,dataEncipherment
我正在使用下一个代码对数字签名进行自签名:
openssl genrsa -des3 -passout pass:1234 -out aaa.private.pem -extensions v3_req
openssl req -passout pass:1234 -subj "/C=IL/ST= - /L=/O=/CN=AB" -utf8 -key aaa.private.pem -passin pass:1234 -new > aaa.cert. csr -extensions v3_req
openssl rsa -in aaa.private.pem -passin pass:1234 -out aaa.key
openssl x509 -req -days 3650 -in aaa.cert.csr -out aaa.cert -signkey aaa.key -CA myCA.ca.cert -CAkey myCA.ca.key -CAcreateserial -extensions v3_req
openssl pkcs12 …
我们最近遇到了在 docker 中通过 https 为我们的容器化应用程序提供服务的要求。
按照 Microsoft 的指南,我能够从我的主机访问容器应用程序,并且一切正常,包括 SSL。
尝试从 docker 环境内部与应用程序通信时会发生问题。同一个容器/其他容器在尝试与应用程序通信时遇到无法验证证书的问题。在 Microsoft 的链接示例应用程序中也可以观察到这种行为。尝试从容器 ( curl https://localhost)内 curl 网站总是会产生:curl: (60) SSL certificate problem: unable to get local issuer certificate
这不是 curl 特有的问题,因为使用的调用HttpClient也会返回与 SSL 相关的错误。
想象它就像在 Windows 上一样,您只需将自签名 .pfx 添加到您的证书存储中,我创建了一个自签名证书,
New-SelfSignedCertificate -DnsName "localhost", "dockerDnsName", "127.0.0.1" -CertStoreLocation "cert:\LocalMachine\My" -NotAfter (Get-Date("2050-01-01"))
我需要在我的证书的 SubjectAlternateName 中同时使用 localhost 和 dockerDnsName 因为容器来自docker network 将使用该名称与容器通信。然后我将证书添加到我的主机的受信任根 CA。
我按照 Microsoft 的指南将 pfx 添加到容器,将 Kestrel 的环境变量设置为相关值(ASPNETCORE_Kestrel__Certificates__Default__Path和ASPNETCORE_Kestrel__Certificates__Default__Password)并启动容器。
从主机通过浏览器访问容器仍然有效。从容器内访问网站再次产生 SSL 错误。然后我将 .pfx 转换为容器内的 .crt …
我正在尝试设置一个私有 docker 注册表,由反向 nginx 代理保护,该代理通过客户端证书验证用户。
我收到的错误是:
x509:由未知权威机构签署的证书
根据文档,您应该能够将证书添加到 /etc/docker/certs.d/ 中,我已经这样做了。Docker 似乎看到了证书的位置:
EBU[0015] 调用 POST /v1.24/images/create?fromImage=docker.squadwars.org%2Froster&tag=latest DEBU[0015] hostDir: /etc/docker/certs.d/docker.squadwars.org DEBU[0015]证书:/etc/docker/certs.d/docker.squadwars.org/client.cert DEBU[0015] 密钥:/etc/docker/certs.d/docker.squadwars.org/client.key DEBU[0015] crt: /etc/docker/certs.d/docker.squadwars.org/docker.squadwars.org.crt DEBU[0015] 主机目录:/etc/docker/certs.d/docker.squadwars.org DEBU[0015] 证书:/etc /docker/certs.d/docker.squadwars.org/client.cert DEBU[0015] 密钥:/etc/docker/certs.d/docker.squadwars.org/client.key DEBU[0015] crt:/etc/docker /certs.d/docker.squadwars.org/docker.squadwars.org.crt DEBU[0015] 尝试从https://docker.squadwars.org v2 WARN[0015] 获取 v2 时出错注册表:获取https://docker.squadwars.org/v2/:x509:由未知机构签名的证书错误 [0015] 错误后尝试拉取下一个端点:获取https://docker.squadwars.org/v2/:x509 :由未知机构签署的证书
我还尝试将证书文件从 mydomain.org 重命名为“ca.crt”,调试日志再次显示它看到了该文件,但没有任何效果。
我可以像这样使用curl:
curl --key client.key --cert client.cert https://docker.squadwars.org/
我还可以将 --cacert 选项添加到curl,无论哪种方式都有效。
docker 文档说,如果仍然有问题,您应该在操作系统级别添加证书。我已经按照说明这样做了:
(这可能就是为什么我不需要 -cacert 和curl,尽管我很困惑,因为我已经删除了证书,但curl仍然有效)
这让我发疯,任何帮助将不胜感激!
编辑:我忘了补充一点,最初我的证书 FQDN 是错误的,但现在是“docker.squadwars.org”
我获得了 CA 签名服务器证书、链证书和私钥。从中,我使用开放 SSL 创建了密钥库并保护 Web 应用程序(server.xml 中的 HTTPS 配置)。但是,当我尝试通过浏览器(Firefox)访问网络应用程序时,出现以下错误。
安全连接失败
证书密钥使用不足以进行尝试的操作。错误代码:SEC_ERROR_INADEQUATE_KEY_USAGE
证书最初位于“.crt”中,我在将它们转换为“.cer”后也尝试过。尽管如此,该错误还是抱怨了一些有关“密钥使用”的问题。我运行以下命令来检查证书密钥的使用情况并附有屏幕截图。
openssl x509 -in ServerCertificate.cer -text -noout
Run Code Online (Sandbox Code Playgroud)
以下是链证书;
非常感谢您为解决此问题提供的帮助。[PS:在配置 CA 签名证书之前,我创建了自签名证书,并且该配置没有问题]
几周以来,我一直在努力让这个自签名证书在多个浏览器(Chrome,Firefox,Edge,IE)中运行.
我设法创建证书并将其安装为trusted root certificate但是在每个浏览器中我都必须绕过安全性才能拥有测试环境(带xampp的网站).
今天我专注于Edge和IE(没有成功),并且由于chrome的程序略有不同,我将尝试明天使用chrome.
我尝试创建一个新的,并以这种方式复制旧的(工作的):
要创建新证书,请以管理员身份打开powershell,然后:
New-SelfSignedCertificate -DnsName "127.0.0.1", "localhost" -CertStoreLocation "cert:\LocalMachine\My"
Run Code Online (Sandbox Code Playgroud)
如本说明书中所述导出.
要克隆,我使用了本文档中的示例.
然后我使用在"受信任的根证书"中导入证书certlm.msc.
但我得到的错误代码DLG_FLAGS_INVALID_CA,并
DLG_FLAGS_SEC_CERT_CN_INVALID在边缘和IE浏览器.
有人知道让这项工作的程序吗?
我一直在寻找网络而没有找到一个.
我使用自签名证书尝试建立一个网站在localhost Express.js在Windows 10.下面是Express.js服务器代码.
index.js
const https = require('https')
const express = require('express')
const app = express()
const fs = require('fs')
const path = require('path')
const httpsOptions = {
cert: fs.readFileSync(path.resolve(__dirname, 'ssl', 'ca.crt')),
key: fs.readFileSync(path.resolve(__dirname, 'ssl', 'ca.key'))
}
const router = require('./router')
app.use('/people', router)
https.createServer(httpsOptions, app)
.listen(3443)
Run Code Online (Sandbox Code Playgroud)
我还将证书颁发机构ca.crt文件导入chrome,然后重新启动chrome.但我仍然在chrome上有错误,如下所示:
请指导如何解决这个问题谢谢
我使用以下命令创建了密钥和证书.
# certificate authority key
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out ca.key
# server key
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out server.key
# certificate authority
openssl req …Run Code Online (Sandbox Code Playgroud)