- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我目前正在尝试在安装了 Plesk (17.5.3) 和 Let's-Encrypt-Extension 的 Ubuntu 服务器上设置 Confluence (6.6.0)。
Confluence 本身已启动并正在运行,但我在 SSL 方面遇到了一些问题。只需通过 Plesk-Panel One-Click-Installer 走“简单的道路”,即可轻松保护域本身。
证书将位于 /usr/local/psa/var/modules/letsencrypt/etc/archive/<MY_DOMAIN>/
此目录中有四个 .pem 文件:
cert1.pem
chain1.pem
fullchain1.pem
privkey1.pem
但是现在我需要告诉 Tomcat,我已经在 server.xml 中安装了这个证书。
由于 Plesk-Let's-Encrypt-Extension 将文件保存为 .pem 文件,我需要通过 OpenSSL 转换它们才能使用 Java keytool。
我在这里找到了关于这个主题的一般教程:
http://robblake.net/post/18945733710/using-a-pem-private-key-and-ssl-certificate-with
当我尝试以下操作时,我在一开始就卡住了,当我尝试执行时
openssl pkcs12 -export -in <PATH>/cert1.pem -inkey <PATH>/privkey1.pem -out foo.p12 -name tomcat -chain -CAFile <PATH>/chain1.pem
命令本身运行,当我不使用 -CAFile
并生成我的 .p12-File,但随后会发出警告:
Error unable to get local issuer certificate getting chain.
如果我尝试添加 -CAFile /usr/local/psa/var/modules/letsencrypt/etc/archive/<MY_DOMAIN>/chain1.pem
或使用 [...]/fullchain1.pem
相反什么都不会发生,但 OpenSSL 会打印使用文档。
因此,由于这四个 .pem 文件是唯一可用的文件,我不确定还能做什么。
因为我也需要中间证书,所以我想知道我必须在这里做什么。
最佳答案
看起来 Let's Encrypt 的 chain1.pem
文件不完整。在我的例子中,它只包含一个证书 - 中间 CA Let's Encrypt Authority X3
检查此文件的内容。就我而言,只有一张证书。
openssl x509 -noout -in chain1.pem -subject -issuer
subject= /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
issuer= /O=Digital Signature Trust Co./CN=DST Root CA X3
错误的原因是 openssl 缺少DST Root CA X3的证书
如何创建完整的链。
下载 DST 根 CA X3 证书:
wget http://apps.identrust.com/roots/dstrootcax3.p7c
将其转换为 PEM
openssl pkcs7 -inform der -in dstrootcax3.p7c -out dstrootcax3.pem -print_certs
此时 DST Root CA X3 的证书在 dstrootcax3.pem
构建全链(覆盖fullchain1.pem
)
cp chain1.pem fullchain1.pem
echo >> fullchain1.pem
cat dstrootcax3.pem >> fullchain1.pem
生成P12文件
openssl pkcs12 -export -in cert1.pem -inkey privkey1.pem -chain -CAfile fullchain1.pem -out cert1.p12 -name tomcat
检查所有证书是否存储在 P12 文件中:
openssl pkcs12 -info -in cert1.p12
祝你使用keytool
;)
关于ssl - OpenSSL 在 LetsEncrypt-Certificate 上使用 -CAFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47799550/
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setop
我们在 docker 容器中使用网络服务器。目前我们的公私钥工作正常。我们遇到的问题是,当我们使用 https://www.ssllabs.com/ 测试我们的网站时,我们的 CAFile 没有作为提
我在 PHP 中安装/使用自签名证书时遇到问题。 (背景是:我想使用私有(private)的composer仓库) 我使用 sudo update-ca-certificates 在/etc/ssl/
包含证书的等效参数或方法是什么,以便您可以在 PHP 5.5.* 中建立 ssl 连接。 我坚持使用那个版本,无法更新它,我需要包含一个用于 Composer 更新的证书文件。我知道我必须在 PHP
我正在尝试从一个应用程序的 Ubuntu 服务器连接到 Apple 的推送通知服务。我已经成功生成了我正在使用的 pyAPNS 提供商所需的组合 .pem 证书。但是,当我尝试使用 openssl v
我正在尝试通过 https 克隆一个存储库,出于某种原因,即使我的本地配置说明了从哪里获取 CAFile,它也会尝试使用全局配置中的值。 本地配置: [http] sslCAInfo = c:
从今天早些时候(美国东部标准时间上午 9:35 左右)开始,我在 Google Cloud 日志中收到此错误消息: E 2015-07-09 10:35:51.967 200 779 B
我目前正在尝试在安装了 Plesk (17.5.3) 和 Let's-Encrypt-Extension 的 Ubuntu 服务器上设置 Confluence (6.6.0)。 Confluence
由于信任问题,我无法让 OpenSSL 连接到服务器。我将 CA 证书放在 /etc/ssl/certs/ 上并运行 sudo c_rehash 可以看到已创建正确的文件。我可以看到 CA 证书在 c
我想在 C++ 中使用 libcurl 和 openssl 进行 https 测试。 我有以下代码: curl_easy_setopt(mEasyHandle, CURLOPT_SSL_VERIFYP
我正在尝试直接从 wordpress 管理面板安装插件(而不是手动下载和安装)。我收到这个错误 Downloading install package from http://downloads.wo
如何以 PHP SSL context option cafile 可接受的格式导出证书? 我下面的代码使用 openssl_x509_export 导出 stackoverflow.com 的证书链
我正在使用 Firebase php SDK link并在 Windows 10 上的 XAMMP 服务器上使用 laravel 最新版本,但是当我尝试使用上面的 php SDK 使用 Firebas
我可以使用 ssh 克隆项目来推送,但是当我使用 https 克隆项目时它不起作用。 它向我显示的错误消息是: server certificate verification failed. CAfi
sudo apt-get update W: 获取失败https://get.docker.com/ubuntu/dists/docker/main/binary-amd64/Packages服务器证
如何解决这个错误? failed loading cafile stream: `C:\xampp\apache\bin\curl-ca-bundle.crt' 最佳答案 您没有提供有效的 ca 包文
如果我仅使用证书(带链)和私钥发出 openssl 调用,我会遇到服务器拒绝握手中的客户端证书的问题。 如果我还设置了 cafile 参数并将其指向与证书相同的文件,这个问题就会消失。 即使信息已经在
我正在按照教程 (https://coral.ai/docs/dev-board/get-started/#run-pycoral) 设置边缘 tpu 开发板,并且能够通过 MDT 连接到开发板的外壳
我是一名优秀的程序员,十分优秀!