AWS证书管理器是一种全托管的服务,可用于轻松地配置、部署和管理SSL/TLS证书,以便在AWS托管的服务(如Elastic Beanstalk、CloudFront、Elastic Load Balancer等)中使用。以下是AWS证书管理器的配置步骤和示例代码:
在AWS控制台中选择"证书管理器"。
单击"请求证书"。
输入要使用的域名,然后选择验证该域名所需的验证方法(电子邮件验证、DNS验证或HTTP验证)。
单击"确认和请求"进入证书请求页面。
根据验证方法的不同,按照相应步骤进行验证。
证书颁发机构(CA)将向您发送电子邮件,确认您在验证过程中提供的联系信息正确无误。
在证书请求完成后,您将在证书管理器中看到您的证书列表。
单击所需证书的"下载"按钮,即可下载该证书。
以下是使用Python的AWS SDK对AWS证书管理器进行配置的示例代码:
import boto3
# 创建AWS SDK客户端
acm = boto3.client('acm')
# 请求证书
response = acm.request_certificate(
DomainName='example.com'
)
# 验证电子邮件(使用DNS或HTTP验证方法时,需要修改subject alternative names中的域名)
email_validation = response['Certificate']['DomainValidationOptions'][0]
email_validation_token = email_validation['ValidationEmails'][0].split("token=")[1].split("&")[0]
# 确认验证
acm.confirm_certificate(
CertificateArn='arn:aws:acm:region:account:certificate/exmaple-cert-123',
ValidationMethod='EMAIL',
Domain='example.com',
ValidationDomain=email_validation['DomainName'],
ValidationEmails=[email_validation['ValidationEmails'][0]]
)
# 下载证书
response = acm.export_certificate(
CertificateArn='arn:aws:acm:region:account:certificate/exmaple-cert-123',
Passphrase=b'your-secret-passphrase'
)
pem_key = response['PrivateKey']
pem_cert = response['Certificate']
pem_chain = response['CertificateChain']
# 使用证书
# 将下载的所有PEM格式文件保存到文件中,然后在需要配置SSL/TLS证书的AWS服务中使用