ssl - 为多个 Kubernetes 节点生成单个证书

标签 ssl kubernetes ssl-certificate keystore

这就是问题所在:我有一个包含多个节点的 Kubernetes 集群,我想为我的所有节点安装一个包含 key 、crt、 keystore 数据的 key 。

我为单个节点生成它们的过程如下:

  1. 生成绑定(bind)到 dns=hostname 和 ip=host_ip 的 keystore
  2. 提取csr
  3. 将 csr 提交到我的内部 CA 并下载 p7b 证书链
  4. 将证书链导入回 keystore
  5. 将 keystore 导出为 PKCS12 格式
  6. 提取crt
  7. 提取 key

假设我已经为我的所有节点完成了这些步骤。我该怎么做才能将所有这些捆绑到一组 key 和 keystore 文件中?我可以将在第 2 步获得的所有证书请求合并到一个 csr 中并为此下载 p7b 并继续执行吗?

最佳答案

对于也在寻找解决方案的任何人,我设法通过生成具有多个 dns/ip 条目的 keystore 来为所有主机名生成一个证书。

例子:

keytool -genkey -keyalg RSA -alias <your_alias> -keystore <your_keystore_name>.jks -storetype JKS -keysize 2048 -validity 365 -ext SAN=dns:<hostname1>,ip:<ip1>,dns:<hostname2>,ip:<ip2>

您还可以使用 KeyStore Explorer 生成相同的内容(通过 GUI),它还支持 *.domain.com 等通配符

关于ssl - 为多个 Kubernetes 节点生成单个证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59305168/

相关文章:

kubernetes - 无法将 Amazon Web Services (AWS) EBS 卷装入 Kubernetes pod

jenkins kubernetes 插件在循环中运行 Pod,并且永远不会构建作业

node.js - 让我们加密 SSL 无法从 "Error: EACCES: permission denied, open '/etc/letsencrypt/live/domain.net/privkey.pem 开始'”

php - API 安全 - 使用 api key secret 、散列、tnonce 等 VS。 SSL证书验证

docker - Kubernetes 中的 Rabbitmq 集群设置

ios - 如何在 Objective-C 中硬编码 .cer 证书?

ssl - 您是否应该提供一个 crt 文件来帮助人们验证您的 OAuth2 api 上的证书?

java - 仍然可以使用 Java Mission Control 连接到远程 JMX 但证书已过期?

使用 makecert.exe 创建的证书的 ssl_upgrade_failure

Apache2 - 在没有虚拟主机的情况下为不同的域安装多个证书