如何为Amazon EMR生成trustedCertificates.pem和certificateChain.pem文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为Amazon EMR生成trustedCertificates.pem和certificateChain.pem文件?相关的知识,希望对你有一定的参考价值。
我正在尝试加密EMR节点之间传输的TLS流量。 AWS网站上的示例使用自签名证书。
因为这都在我的专用网络中,所以我生成了一个根CA证书,其中包含一个受到严密保护的私钥。然后,我有一个派生证书,可以执行密钥加密“,数字签名和服务器身份验证。
让我们调用根CA证书A和派生证书B.
EMR说我需要将一个zip文件上传到包含2个必需文件和一个可选文件的s3:
- privateKey.pem是必需的,
- 证书Chain.pem是必需的
- 和trustedCertificates.pem是可选的
对于privateKey.pem,我假设我可以使用与证书B相关联的私钥。
- 对于certificateChain.pem,我是否需要与证书A连接的证书B的内容,或者我是否只需要证书A的内容?
- 对于trustedCertificates.pem,我需要证书A或证书B的内容吗?
如果您按照文档遵循此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上设置TLS的AWS文档:
Secure Amazon EMR with Encryption
您上传到S3的zip文件包含三个文件,私有Key.pem,证书Chain.pem和受信任的Certificates.pem。其中两个是具有不同名称的相同文件。
[在证书上发表非常长的评论帖后编辑]
创建自签名根证书时,其签名的所有证书也是自签名的。通过验证链上的每个证书到根来验证证书。如果根证书不受信任,则所有证书都是不受信任的。
AWS提供证书管理服务,您可以在其中成为自己的CA.但是,这非常昂贵。如果您是大公司,银行或金融机构等,那么此AWS服务非常有用。
对于Amazon EMR,使用单个自签名证书即可。原因是您可以完全控制使用证书的系统。如果系统的任何部分提供公共访问,您不希望使用自签名证书。
混淆OP的一个项目是可信证书和证书链之间的区别。在他的示例中,由于它们只是根证书而不是中间证书,因此可信链和链是相同的项。只有当他创建了用于签署最后一个证书的另一个签名证书时,证书链才会不同(将有根证书和签名证书)。
以上是关于如何为Amazon EMR生成trustedCertificates.pem和certificateChain.pem文件?的主要内容,如果未能解决你的问题,请参考以下文章
json Amazon AWS EMR配置 - http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hdfs-config.html