乐趣区

关于后端:Nodejs-TLSSocket-库里涉及到的证书链的概念简介

笔者应用这篇教程介绍的办法,将部署在 SAP ABAP 零碎上的 OData 服务,应用如下命令行,给它绑定一个 localhost:8089 的代理。

SAP UI5 利用开发教程之一百二十一 – 一键部署开箱即用的代理服务器,解决 SAP UI5 利用开发过程中拜访远端 OData 服务的跨域问题

npx cors-http-proxy -t https://xxx:44356/sap/opu/oda… -p 8089

这样,我冀望运行在本地的 SAP UI5 利用,通过拜访 localhost:8089, 就能够拜访到这个 OData 服务,而不会呈现任何的跨域拜访谬误。

现实很饱满,事实很残暴,我遇到如下谬误音讯:

Error: unable to get local issuer certificate

at TLSSocket.onConnectSecure (_tls_wrap.js:1497:34)
at TLSSocket.emit (events.js:315:20)
at TLSSocket._finishInit (_tls_wrap.js:932:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:706:12) {

code: ‘UNABLE_TO_GET_ISSUER_CERT_LOCALLY’
}

unable to get local issuer certificate 是常见的 SSL 证书谬误。它与不残缺的证书链无关,例如(最常见的)短少两头证书。确保整个证书链都存在是防止这个问题的要害。

Understanding certificate chain

证书链 ( certificate chain) 是证书的有序列表,蕴含 SSL/TLS 服务器证书 (server certificate)、两头证书(intermediate certificate) 和证书颁发机构 (Certificate Authority,简称 CA) 证书,使接收者可能验证发送者和所有 CA 是否可信。

根证书(Root Certificate)

根证书是属于颁发证书机构的数字证书。

它在大多数浏览器中都事后下载并存储在所谓的 trust store中。看个具体的例子:

根证书由 CA 紧密爱护。CA certificate file 通常的名称为 ca.pem 或者 cacerts.pem.

中级证书(Intermediate Certificate)

两头证书像树枝一样从根证书分支进去。它们充当受爱护的根证书和向公众公布的服务器证书之间的中间人。链中总会有至多一个两头证书,但也能够有多个。

服务器证书(server certificate)

服务器证书是颁发给用户须要笼罩的特定域的证书。

退出移动版