- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经从 Azure 购买了域和证书。该证书由 Go Daddy 作为 azure 合作伙伴提供,并使用 Go daddy 的中间证书签名,因此它始终需要将证书链接到 Root CA。
我们的网站用作客户的 REST 界面,因此客户使用 Java SDK 或纯脚本。在我们的例子中,恰好是来自 microsoft 的 zulu jdk image(11u5-zulu-alpine)甚至我尝试使用 ubuntu 16.04 LTS 并得到同样的错误。
如果我们甚至尝试使用正确的证书 curl 到我们的站点,我们会收到如下错误,这是因为缺少中间 CA!
curl: (60) 服务器证书验证失败。 CA文件:/etc/ssl/certs/ca-certificates.crt CRL文件:无
使用 java SDK 我们得到 javax.net.ssl.SSLHandshakeException
我有 3 个问题。
最后,我对证书如何在客户端和服务器上工作有了一个清晰的认识,但是对于图片中的中间 CA,我无法准确理解应该将中间 CA 放在哪里。我读了一些关于 SO 的帖子,但它仍然不清楚。请耐心等待,如果有人可以向我解释这种方法的一般工作原理以及什么是好的做法。
最佳答案
- Do we need to bundle the intermediate and root certificate with our domain certificate and deploy it.( the certificate is in pfx format)
您一定要将服务器配置为发送所有必需的中间证书;这是 TLS 标准所要求的。 (尽管如果您不这样做,客户可以选择尝试通过其他方式获取它们,例如缓存或存储库或 AIA,而且有时他们会这样做。)是否服务器发送根是可选的;标准实际上是相反的,通过说服务器可以省略根,其中全大写的“可以”调用 RFC 2119 中定义的含义。对于 RFC5246 7.4.2 中的 TLS1.2 :
This is a sequence (chain) of certificates. The sender's
certificate MUST come first in the list. Each following
certificate MUST directly certify the one preceding it. Because
certificate validation requires that root keys be distributed
independently, the self-signed certificate that specifies the root
certificate authority MAY be omitted from the chain, under the
assumption that the remote end must already possess it in order to
validate it in any case.
您如何执行此操作取决于您使用的网络服务器软件,您没有识别。尽管根据您指定的 Java 版本这一事实,我可以推测它可能 是 Tomcat,或者基于 Tomcat 的东西,例如 Jboss/Wildfly。即便如此,Tomcat 的 SSL/TLS 配置也会根据版本和您使用的连接器“堆栈”类型(纯 Java JSSE,或 Tomcat Native,又名 APR Apache Portable Runtime,实际上是 OpenSSL)而有很大差异。但是,“pfx”(PKCS12) 文件绝对可以同时包含私钥和匹配的 (EE) 证书加上它需要的链证书,这是处理整个过程的便捷方式立即卡布德。
对于直接从 GoDaddy 获得的证书,他们提供了从 https://www.godaddy.com/help/install-ssl-certificates-16623 链接的说明对于许多常见的服务器。我不知道他们是否为 Azure 使用任何不同的链接来改变这些指令。
如果您的服务器可公开访问,在端口 443,https://www.ssllabs.com/ssltest将检查它是否正确处理链证书,以及许多其他事情。还有其他工具,但我不熟悉它们;对于非公共(public)服务器,我通常只是手动查看。
- Is it a good practice to tell our clients to install the bundle certificates ( root and intermediate) in order to get this working.
客户端不应安装中间证书,因为如上所述,服务器应发送它们。 GoDaddy 根已被大多数官方信任库接受多年,因此大多数使用默认设置的客户不需要添加它们。但是,有些人可能;特别是 Ubuntu 16.04 可能太老了,没有预装 GoDaddy。任何希望使用自定义信任库和/或 pin 的客户端都必须确保将其设置为包含/允许您的证书的信任链。
- Does GoDaddy needs to update the bundle certificate in the packing repositories of Ubuntu ,alpine Or is my understanding wrong
GoDaddy 将其根提供给(AFAIK 所有)主要的信任库程序,如上所述。 IINM Ubuntu 使用 Mozilla/NSS 列表,今天肯定包括 GoDaddy,但如上所述我不能确定 16.04。我不知道 Alpine 。 CA 不要求信任库程序包含中间体(尽管程序或用户可能能够将选定的中间体添加为受信任的,具体取决于所使用的软件)。
关于ssl - 由中间 CA(go daddy)签署的有效证书不适用于少数客户(docker alpine),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59661600/
有人可以给我一个更简单的以下代码的解决方案(它正在展开给定结构 0xFC :: len :: payload :: ... :: 0x0A :: 0x0D 的整数列表): object Payload
我已经在我的网站上安装了 SSL 证书,但 intermediate.crt 无法正常工作。任何 SSL 检查器(例如 GeoTrust Checker)都告诉我,缺少中间 key 。网站上已经使用了
如何让图像从这个框的中间开始? (中间纵横) 最佳答案 有几种方法可以做到这一点,如果它需要在所有浏览器(IE7+ 和其他浏览器)中工作,你需要做不同的事情来让它在某些情况下工作。 使用绝对位置
如何强制 min-height 和 vertical-align:middle 为 td 元素或其内部元素工作? 最佳答案 td 元素上的 height 等同于 min-height,因为如果需要,表
我正在尝试自动滚动到订单簿的中间行。 我有 orderBook div,其中放置了带有 orderBook 的表。该表的其中一行有一个 id middleRow。我想做的是滚动该行并将其放置在 ord
我正在尝试在 javascript 中计算绝对定位元素的 transform-origin 属性,以便它们在悬停时填充整个视口(viewport)。 我尝试通过 x 除以窗口宽度和 y 除以窗口高度来
我有休闲字符串 ' this is my string ' 是否可以删除开头和结尾的所有空格,只在单词之间留一个空格。 要选择我使用过的所有空间: SELECT regexp_replace('
我正在设法创建我的第一个复杂的 J2E 解决方案,并且在每个教程中我都发现了某种中间表的用法,如下所示: 表:用户、用户角色、角色虽然逻辑会简单地向用户表添加一个键来引用它在角色表上的角色,但为什么要
我正在寻找以下解决方案。我想定位一个图像元素,例如 在中间。所以高度是视口(viewport)的高度,宽度会自动设置,图像的中间应该在视口(viewport)宽度的中间。 我搜索的一个例子就像下面的网
我正在设计一种布局,它更像是注册用户的个人仪表板。我让它变得简单,使用基本的 2 列网格,一个用于侧边栏,一个用于主要内容。 因为,例如,80% 的网站使用将发生在一个单独的子系统中,在无 chrom
我有三个不同的 div 标签(不在彼此内部)和代码,所以它有一个把单词放在左边、中间或右边,但中心非常偏离中心。这是 HTML 代码: .desc { float: right; color:
我有以下CSS http://jsbin.com/azivip/75/edit我想让黄色的 div 高度填充蓝色和绿色 div 之间的空间。使用高度继承似乎使 div 超出了绿色 div。 有什么想法
我不得不在其父元素的中间放置一些文本。我用下面的代码实现了它: #div1 { position: relative; margin: 0; padding: 0; } #div2 {
发现一个使用合法证书(由thawte 签名)的网站,但所有浏览器都会拒绝它。我不明白为什么。thawte 的支持告诉我一个域有两个证书,然后将这个 https://www.sslshopper[dot
我正在尝试使用 OpenSSL 创建证书链,但出于某种原因,当我在我的计算机上安装我的根 CA 并尝试验证证书链时,它总是告诉我它找不到证书的颁发者.为了让事情发生,我必须安装中间 CA,这是没有意义
我看到 REST 的一大好处是依赖 HTTP 缓存。我不是在争论这个,而是完全认同这个想法。但是,我从来没有看到对中间 HTTP 缓存的更深入的解释。 如果我将 Cache-control heade
查看此图片 Facebook Messenger Android App Buttons ( MESSENGER\ACTIVE ) 我怎样才能做到这一点? 详细信息:- 带有 2px 红色边框的 di
我的任务是制作漂亮的文本,在文本中间加一条白线,如下图所示。是否可以使用 css 来实现?这是 Fiddle .container{ height:200px; width:400px;
在拉丁文字中,字母有大写和小写形式。在 Python 中,如果你想比较两个字符串而不考虑它们的大小写,你可以使用 'string'.upper() 或 'string'.lower() 将它们转换为相
我正在使用 awk 对文件进行一些文本处理。例如删除尾随空格。 awk '{gsub(/ +$/, "")} {print $0}' filename 这很好用。但是当我将输出重定向到原始文件时。它变
我是一名优秀的程序员,十分优秀!