IBM Cloud Docs
为Code Engine项目提供 TLS 证书

为Code Engine项目提供 TLS 证书

Code Engine应用程序和功能可以对互联网公开,也可以在 "IBM Cloud内部私有。 在这两种情况下,您的应用程序或功能都将作为 "codeengine.appdomain.cloud 下的 HTTPS 端点提供服务。Code Engine为加密提供 TLS 证书,并定期轮换。

关于证书

证书颁发机构(CA)通常会签署互联网上使用的 TLS 证书。 这样,全世界的客户端应用程序(如浏览器)必须只信任授权的证书。 此外,它们不需要了解互联网上数百万个网站的证书。

证书颁发机构通常只有几张所谓的根证书,有时每种算法(RSA 或弹性曲线)只有一张。 它们的有效期通常超过 10 年甚至 20 年。 证书颁发机构使用这些根证书的私钥来签署自己的中间证书。 这些中间证书的有效期很短,其私钥用于为用户签署叶证书。

用户设备安装信任库,其中包含所有经过审核和认证的证书颁发机构的根证书。 操作系统通常包含所有已安装程序都能使用的信任库。 有些浏览器,如Google Chrome或Mozilla Firefox,自带信任库。

Code Engine证书及其证书颁发机构

Code Engine使用通配符主机名为每个项目配置一个证书,因此适用于该项目中部署的所有应用程序和功能。 证书有效期为 90 天;Code Engine会在到期前至少十天自动更新证书。

Let's Encrypt 作为证书颁发机构

Code Engine使用“让我们加密 作为证书颁发机构来签署”Code Engine证书;这些证书使用 RSA 算法。 因此,证书链的根证书是 ISRG 根X1。 任何包含此证书的信任库都可用于访问Code Engine。 有关信任 ISRG RootX1 的操作系统和浏览器版本列表,请参阅https://letsencrypt.org/docs/certificate-compatibility/#platforms-that-trust-isrg-root-x1

如果您使用旧版本的浏览器或操作系统,请从https://letsencrypt.org/certificates/ 下载 ISRG RootX1。 按照浏览器或操作系统供应商的说明,将其安装到相关的信任库中。

如果您想建立自己的信任库,请信任 ISRG RootX1,您可以从https://letsencrypt.org/certificates/ 下载。

需要加强控制?

Let's Encrypt 是一个公共证书颁发机构,任何人都可以用它来签署自己域名的证书。 因此,信任 ISRG 根X1意味着信任所有这些域。

如果您只需要信任自己的应用程序,那么请使用自定义域映射,这样您就可以完全控制自己域的证书发放和续期时间。 您可以将客户端应用程序设置为只信任域的叶证书。 您需要一个证书更新流程,以便在域名映射的 TLS 密钥和客户端中切换到新证书时不会出现通信问题。 通常情况下,首先要签发新证书。 然后,将其添加到客户端的信任库中。 将Code Engine项目中的 TLS 密钥更新为新证书和密钥后,就可以从客户端的信任库中删除旧证书了。