【发布时间】:2018-02-28 14:29:50
【问题描述】:
我熟悉在网络服务器上创建 CSR(通过 openssl)并将其提交给 CA 以购买 SSL 证书。
我们正在构建的站点(使用 Elastic Beanstalk)要求通过 HSM 管理证书。我认为 AWS CloudHSM 是在这里使用的正确工具吗?我有:
- 在具有公有子网和私有子网的 VPC 中创建了 EB 环境
- 已通过 AWS Cert 请求 SSL 证书并将其分配给环境 经理(此时,我有一个通过 https 的工作站点,只是没有 HSM)
- 在同一个 VPC 中创建了一个 HSM 集群,并下载了它的 企业社会责任。
在这一点上,文档 (http://docs.aws.amazon.com/cloudhsm/latest/userguide/initialize-cluster.html#sign-csr) 让我有点卡住了。
它说:“您的 CA 签署 CSR,这将创建一个签名证书。然后您提供签名证书和您的 CA 的颁发证书来初始化集群。”
很好。除非我尝试将此 CSR 上传到(即 Verisign、GlobalSign),否则我会收到“不再允许使用内部名称的证书”。这是有道理的——我不是为网站的外部域名申请证书,证书是为 HSM 申请的:我猜,一旦签署了 CSR,我将使用它来创建一个 openssl 证书。
基本上,我对 HSM 如何适应其他简单的 SSL 请求过程感到非常困惑:生成 CSR、提交给 CA、在网络服务器上安装证书。尤其是考虑到我使用 Elastic Beanstalk 和 AWS ACM 完成这一切的额外复杂性,而不仅仅是在服务器上转储证书文件并更新 Nginx conf。
这一切如何工作??
【问题讨论】:
-
“证书由 HSM 管理的要求。”您是说 Web 服务器的 SSL 证书必须由 HSM 管理吗? (?!!?) 使用 CloudHSM 的成本超过每月 1,000 美元。这似乎不明智……也很难想象有什么好处。基本要求是什么?
-
另外来自文档的注释:“要签署集群的 CSR,您通常使用 私有 证书颁发机构 (CA)。” (不是公开的)。如果您的组织没有私有 CA,则会增加理解 HSM 要求的难度。
-
客户是一家银行。要求是 SSL 证书“存储在符合 FIPS 的硬件安全模块 (HSM) 上”。关于公共/私人 CA;这可能会触及我(可能完全不准确)对 HSM 将适合的位置的理解,它大致是这样运行的:浏览器需要一个公共 CA 链才能信任 SSL 证书。我们将获得由公共 CA 签名的 HSM 的 CSR,然后我们可以使用它为站点生成/存储 SSL 证书。
-
对我来说,看起来 HSM 需要证书只是为了保证 您(访问它的系统)可以相信 HSM 本身没有被冒充当你与它互动时。该证书与您的网站证书无关。通过创建自己的私有 CA(可以使用 openssl 完成),您可以自己签署 HSM 的证书,然后在与 HSM 交互时使用您的私有 CA 的证书,以确保它提供给您的证书是有效的。跨度>
-
如果要求安全地存储 SSL 证书,那么这个要求有点可笑,因为 SSL 证书在设计上是公开的——每次连接到 SSL 时——功能强大的 Web 服务器,它会为您提供其证书的副本。 SSL 证书的 私钥 可能是这里所指的内容,在这种情况下,您面向外部的 SSL 证书的私钥已经由 ACM 使用 KMS 管理的密钥加密存储。您可以存储自己的证书的私钥并进行加密,并使用 KMS 来管理该加密。这个要求似乎不符合现实。
标签: amazon-web-services ssl amazon-elastic-beanstalk hsm