- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我收到来自 https://www.ssllabs.com/ssltest/analyze.html?d=api.quotecrunchers.com 的错误“链问题:顺序不正确,额外证书”当我为我的网站测试 SSL 时。
我已经使用以下方法将 https 机制构建到 spring boot 应用程序中:
与 Let's Encrypt CA 通信的 acme4j 库。
将 Let's Encrypt 证书写入 java keystore 的 Java 代码。
Java 代码使嵌入式 Tomcat 服务器通过 HTTP 从 Let's Encrypt 申请证书,然后在获得证书后使用 HTTPS 重新启动。
我计划在整理完这段代码后将其开源。
不过目前,我使用 ssllabs.com 只获得了 B 评级
参见 https://www.ssllabs.com/ssltest/analyze.html?d=api.quotecrunchers.com
我的 https 有几个问题,但我担心的问题是它说“链问题:顺序不正确,额外证书”。
为什么我会得到这个,我应该怎么做?
非常感谢任何帮助!
最佳答案
当一个人连接到您的网站时,openssl s_client
看到的是它发送的内容:
Certificate chain
0 s:/CN=api.quotecrunchers.com
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
1 s:/CN=api.quotecrunchers.com
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
2 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
如您所见,第一个证书是重复的,这正是评级和错误消息的原因。
当您配置 TLS 服务器时,您通常在一端指定端(服务器)证书,即一个证书,它会出现在 0
位置,如上所示,然后您(可选,但非常频繁)提供一个潜在的链接证书列表,称为“中间”,它将您的最终证书链接到某个根(CA)证书,CA 证书本身可能是链中的最后一个或完全跳过。
那会在 1
位置,然后在上面的跟踪中。
但如您所见,在位置 1
,因此作为中间证书,我们再次找到您的最终证书。
根据 TLS 标准,这是不正确的,因此您需要更改您的配置或包含中间证书的文件以从此位置删除您的最终证书,以便您最终设法获得:
Certificate chain
0 s:/CN=api.quotecrunchers.com
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
关于SSL 实验室 : Incorrect Order, 额外证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52853723/
语言:Java 没有语法错误并通过了编译器但未通过我的测试器。谁能告诉我我在这里做错了什么? 以下是实验室文本说明该方法要执行的操作的内容:“计算 arr 的子数组中从索引 start 到索引 end
我正在做一个练习,到目前为止,代码(在其他线程的一些帮助之后)现在工作得很好几乎,但是......无法获得正确的结果数学观点。 代码如下: #getting base prices from user
this question的答案指出“JupyterLab Dark”主题现在作为 Vanilla 的一部分提供 jupyter-lab安装。 如何配置 jupyter-lab以便它在第一次启动时使用
背景:当您从代理机构租车时, key 圈上有几条信息:车牌、汽车品牌和年份,通常还有一个特殊代码。该代码可用于内部的一些数据处理公司的电脑。该实验室将练习从许可证中确定特殊的汽车租赁代码盘子。 作业:
我创建了 mongoose lab DB,但我在命令行中收到连接失败的错误(我提供了正确的用户并通过),我做错了什么,我该如何解决这个问题? mongoose.connect('mongodb://m
我无法使用 SSL Labs 获取 HSTS 状态。当我测试我的网站时,HSTS 显示为“否”,但我在配置文件中配置了 HSTS。我有 nginx 1.6.2。以下是 conf 文件。任何帮助将不胜感
我收到来自 https://www.ssllabs.com/ssltest/analyze.html?d=api.quotecrunchers.com 的错误“链问题:顺序不正确,额外证书”当我为我的
我很想知道教程站点“Rails for Zombies”是如何进行实验的。用户需要通过在命令行提示符中输入 ruby 代码(看起来是)来回答一系列实验问题,以完成每个实验。提交后确定他们是否可以继
Jupyter 实验室 dask-labextension不工作 已安装 都来自: A.) JupyterLab 侧边栏/扩展管理器/搜索它/点击安装 B.) 命令行从我的 cd 到 anaconda
有人可以一步一步地举例说明如何安装这个实验室吗?我正在使用 libigl 网站上的教程,但我真的不明白该怎么做。多谢! 最佳答案 你看到了吗example project page (尤其是 GitH
我正在尝试将 Jupyter Lab docker 化所以我尝试创建一个 Dockerfile 如下, FROM python:3.6 WORKDIR /jup RUN pip install jup
我正在使用 Jupyter Lab,但无法添加 conda 环境。这个想法是从我的基础环境启动 Jupyter Lab,然后能够选择我的其他 conda envs 作为内核。 我安装了 nb_cond
我对 Office Scripts 和 Office Lab 感到困惑。 两者都可以在 Excel 中运行 javascript,但似乎无法在它们中共享代码。 对于 Office 脚本,一些代码如 f
我正在阅读 AWS 架构良好的实验室指南,并正在研究 VPC 的自动部署 ( https://www.wellarchitectedlabs.com/Security/200_Automated_De
我有一个如下的颜色框数组。 现在,我想对数组进行编号,如下图所示。 为了进行编号,我只是手动将文本放在数组元素上。 我想自动编号。 谁能给我一个解决方案,如何自动对数组元素进行编号? 提前谢谢您。 最
Jupyter Notebook 和 Jupyter Lab 运行良好,直到我更新了软件包并设置了环境。 之后,JupyterLab 3.0 不会打开。它显示 404 和一条错误消息: [I 18:2
我是 Anaconda 的新手,最近在我的计算机上安装了 jupyter 实验室。但是,每当我尝试在本地 Jupyter Labs 实例上构建时,都会收到以下错误: 在 jupyter 实验室终端中运
我正在使用 phantomjs-node不幸的是,它不能很好地与 lab 配合使用的测试覆盖率的东西。当我运行 lab -t 100 ,它正在尝试注入(inject) __$$labCov进入传递给
在我的 hapijs 应用程序中,我有一些路由需要 session,使用 hapi-auth-cookie 插件进行身份验证策略。我想为这些路线添加一些测试(通过 Lab )。 我找不到关于如何为这种
最近我一直在尝试阅读一位 friend 推荐的《csapp》这本书。当我试图完成实验作业时,事情发生了 datalab-handout (需要下载)。 当我尝试在 MacOSX Yosemite 中运
我是一名优秀的程序员,十分优秀!