TLS终止:使用destinationCACertificate重新加密

时间:2015-11-24 14:10:33

标签: ssl termination openshift-origin

我使用OpenShift Origin创建了一个带有路径的应用程序。 现在我想使用TLS使该路由安全: 我已经创建了带边缘和直通的路线。但现在我想创建一个使用Reencrypt的路由。

因此我需要在我的路线中指定一些证书:

apiVersion: v1
kind: Route
metadata:
  name: route-pt-secured
spec:
  host: www.example.com
  to:
    kind: Service
    name: service-name
  tls:
    termination: reencrypt        1
    key: [as in edge termination]
    certificate: [as in edge termination]
    caCertificate: [as in edge termination]
    destinationCaCertificate: |-  2
      -----BEGIN CERTIFICATE-----
      [...]
      -----END CERTIFICATE-----

它与边缘终止非常相似。但在那里,我不必描述destinationCACertificate。 我使用keytool创建自己的证书和密钥,并转换为pk12。 之后,我可以看到我的证书和密钥(openssl pkcs12)并将它们复制到我的路线中。

现在我的问题是,我真的不知道destinationCACertificate是什么?我是否必须以与创建普通密钥/证书相同的方式创建它,或者我是否必须在其他地方读取/创建它?

1 个答案:

答案 0 :(得分:0)

destinationCACertificate是(可选的)CA证书,它签署了路由指向的TLS端点(pod)的服务证书。作为pod的端点可能是私有IP(10.x.x.x),并且大多数CA不会在私有IP范围内签署IP。此外,pod经常被创建和删除(获取不同的IP地址),因此很难创建具有pod IP的服务证书。

destinationCACertificate实际上是路由器和pod之间的共享密钥 - 路由器期望destinationCACertificate与服务器证书匹配,并且只有当您(用户)将路由设置为匹配时才能进行匹配pod(s)服务器证书。