如何为Amazon EMR生成trustedCertificates.pem和certificateChain.pem文件?

问题描述 投票:0回答:1

我正在尝试加密EMR节点之间传输的TLS流量。 AWS网站上的示例使用自签名证书。

因为这都在我的专用网络中,所以我生成了一个根CA证书,其中包含一个受到严密保护的私钥。然后,我有一个派生证书,可以执行密钥加密“,数字签名和服务器身份验证。

让我们调用根CA证书A和派生证书B.

EMR说我需要将一个zip文件上传到包含2个必需文件和一个可选文件的s3:

  • privateKey.pem是必需的,
  • 证书Chain.pem是必需的
  • 和trustedCertificates.pem是可选的

对于privateKey.pem,我假设我可以使用与证书B相关联的私钥。

  1. 对于certificateChain.pem,我是否需要与证书A连接的证书B的内容,或者我是否只需要证书A的内容?
  2. 对于trustedCertificates.pem,我需要证书A或证书B的内容吗?
amazon-web-services security ssl certificate amazon-emr
1个回答
1
投票

如果您按照文档遵循此AWS脚本,您会发现trustedCertificates.pem和certificateChain.pem是同一个文件(通过文件副本)。

openssl req -x509 -newkey rsa:2048 -keyout privateKey.pem -out certificateChain.pem -days 365 -nodes -subj '/C=US/S=Washington/L=Seattle/O=MyOrg/OU=MyDept/CN=*.ec2.internal'

cp certificateChain.pem trustedCertificates.pem

zip -r -X certs.zip privateKey.pem certificateChain.pem trustedCertificates.pem

EMR Create Certificate Script

您通过创建根证书使事情变得复杂,这是不必要的。关注在EMR上设置TLS的AWS文档:

Secure Amazon EMR with Encryption

您上传到S3的zip文件包含三个文件,私有Key.pem,证书Chain.pem和受信任的Certificates.pem。其中两个是具有不同名称的相同文件。

[在证书上发表非常长的评论帖后编辑]

创建自签名根证书时,其签名的所有证书也是自签名的。通过验证链上的每个证书到根来验证证书。如果根证书不受信任,则所有证书都是不受信任的。

AWS提供证书管理服务,您可以在其中成为自己的CA.但是,这非常昂贵。如果您是大公司,银行或金融机构等,那么此AWS服务非常有用。

对于Amazon EMR,使用单个自签名证书即可。原因是您可以完全控制使用证书的系统。如果系统的任何部分提供公共访问,您不希望使用自签名证书。

混淆OP的一个项目是可信证书和证书链之间的区别。在他的示例中,由于它们只是根证书而不是中间证书,因此可信链和链是相同的项。只有当他创建了用于签署最后一个证书的另一个签名证书时,证书链才会不同(将有根证书和签名证书)。

© www.soinside.com 2019 - 2024. All rights reserved.