AWS PCA

bash 复制代码
# ========== 1.1 创建 Root CA ==========
ROOT_CA_ARN=$(aws acm-pca create-certificate-authority \
  --certificate-authority-configuration '{
    "KeyAlgorithm": "RSA_2048",
    "SigningAlgorithm": "SHA256WITHRSA",
    "Subject": {
      "Country": "CN",
      "Organization": "DemoCompany",
      "CommonName": "Demo Root CA"
    }
  }' \
  --certificate-authority-type ROOT \
  --usage-mode SHORT_LIVED_CERTIFICATE \
  --query 'CertificateAuthorityArn' --output text)

echo "Root CA ARN: $ROOT_CA_ARN"
# 记下这个 ARN,后面要反复用

# ========== 1.2 自签 Root CA 证书(激活 CA)==========
# 获取 CSR
aws acm-pca get-certificate-authority-csr \
  --certificate-authority-arn $ROOT_CA_ARN \
  --output text > root-ca.csr

# 用自己签发 Root 证书(短期模式,有效期 7 天)
ROOT_CERT_ARN=$(aws acm-pca issue-certificate \
  --certificate-authority-arn $ROOT_CA_ARN \
  --csr fileb://root-ca.csr \
  --signing-algorithm SHA256WITHRSA \
  --template-arn arn:aws:acm-pca:::template/RootCACertificate/V1 \
  --validity Value=7,Type=DAYS \
  --query 'CertificateArn' --output text)

echo "Root Cert ARN: $ROOT_CERT_ARN"

# 等待证书颁发
aws acm-pca wait certificate-issued \
  --certificate-authority-arn $ROOT_CA_ARN \
  --certificate-arn $ROOT_CERT_ARN

# 下载 Root CA 证书
aws acm-pca get-certificate \
  --certificate-authority-arn $ROOT_CA_ARN \
  --certificate-arn $ROOT_CERT_ARN \
  --query 'Certificate' --output text > root-ca.pem

# 导入证书以激活 CA
aws acm-pca import-certificate-authority-certificate \
  --certificate-authority-arn $ROOT_CA_ARN \
  --certificate fileb://root-ca.pem

# ========== 1.3 验证 CA 状态 ==========
aws acm-pca describe-certificate-authority \
  --certificate-authority-arn $ROOT_CA_ARN \
  --query 'CertificateAuthority.Status'

用形象的比喻解释下 这些命令,每一步是干啥的?作用是

我们用一个 "开一家权威印章公司" 的比喻来形象地解释你这段脚本的每一步在做什么。这个比喻贴合 AWS ACM PCA(私有证书颁发机构)的核心逻辑。


🏢 整体背景:你要开一家「印章公司」(即 Root CA)

  • 这家公司专门给人刻章(签发数字证书)。
  • 但首先,你自己得先有一个"公章"(Root CA 证书),别人才会相信你刻的章是合法的。
  • 而 AWS 就像一个"保险柜+刻章机一体机",帮你安全保管私钥(不能拿走),但你需要完成注册流程。

✅ 第一步:申请成立印章公司(创建 CA)

复制代码
ROOT_CA_ARN=$(aws acm-pca create-certificate-authority ...)

比喻 :你去工商局提交申请:"我要开一家叫 'Demo Root CA' 的印章公司,法人是中国 DemoCompany,用 RSA 2048 加密技术。"

  • AWS 收到申请后:
    • 在保险柜里生成一把 绝密私钥(你永远拿不到);
    • 同时生成一份 《刻章申请书》(CSR),上面写着"我想刻一个这样的章";
    • 但此时公司状态是 "待激活"PENDING_CERTIFICATE)------因为你还没拿到自己的公章!

💡 --usage-mode SHORT_LIVED_CERTIFICATE 表示这家公司只打算发短期证书(比如用于测试或 DevOps 场景)。


✅ 第二步:用自己的机器给自己刻章(自签名 + 激活)

1️⃣ 获取《刻章申请书》(CSR)

复制代码
aws acm-pca get-certificate-authority-csr ... > root-ca.csr

比喻:你从 AWS 那里拿到那份《刻章申请书》(root-ca.csr),内容是你想刻的章的样子。


2️⃣ 提交申请:"请用我的申请书,给我刻一个公章!"

复制代码
ROOT_CERT_ARN=$(aws acm-pca issue-certificate ... --template-arn RootCACertificate ...)

比喻 :你对 AWS 说:"我自己就是最高权威,请按这份申请书,用我自己的机器(私钥)给我刻一个公章!"

  • --template-arn arn:aws:acm-pca:::template/RootCACertificate/V1
    👉 相当于选择"根公章模板"(不是普通员工章,而是董事长章!)
  • --validity Value=7,Type=DAYS
    👉 公章 7 天后失效(因为是测试用,短期有效)

AWS 用保险柜里的私钥,在内部完成了签名,生成了你的 Root CA 证书(即公章)。


3️⃣ 等待公章制作完成

复制代码
aws acm-pca wait certificate-issued ...

比喻:你站在柜台前等:"公章刻好了吗?好了我才走。"


4️⃣ 拿到公章(下载证书)

复制代码
aws acm-pca get-certificate ... > root-ca.pem

比喻 :工作人员把刻好的 实体公章(root-ca.pem) 交给你(虽然是电子文件,但代表权威)。


5️⃣ 把公章装回公司(激活 CA)

复制代码
aws acm-pca import-certificate-authority-certificate ...

比喻:你把公章郑重地挂到公司墙上,并告诉 AWS:"现在我正式开业了!请把我的状态从'待激活'改为'营业中'!"

✅ 此时,CA 状态变为 ACTIVE ------ 你的印章公司正式开张!


✅ 第三步:检查公司是否正常营业

复制代码
aws acm-pca describe-certificate-authority ... --query 'Status'

比喻 :你打电话问工商局:"我家印章公司现在状态是?"

回答:"ACTIVE" ✅ ------ 可以开始给别人刻章了!


🎯 总结:整个流程就像

技术操作 现实比喻
create-certificate-authority 申请开印章公司
get-certificate-authority-csr 拿到刻章申请书
issue-certificate(Root 模板) 用自己当权威,给自己刻公章
import-certificate-authority-certificate 把公章挂上墙,正式开业
describe-certificate-authority 查营业执照状态

🔐 关键点提醒:

  • 私钥始终锁在 AWS 的"保险柜"(KMS/HSM)里,你无法导出 ------ 这是安全设计。
  • 只有导入了 自己签发的 Root 证书 ,CA 才能从 PENDING_CERTIFICATE 变成 ACTIVE
  • 之后你就可以用这个 Root CA 去签发服务器证书、客户端证书等(就像给客户刻章)。

需要我继续用这个比喻解释"如何用这个 Root CA 签发一个网站证书"吗?😊

相关推荐
сокол7 小时前
【网安-等保评测-基础记录】网络安全等级保护2.0 详解(定级、备案、测评、整改一站式指南)
网络·笔记·网络安全·云计算
byoass8 小时前
企业云盘私有化部署:存储架构设计与安全运维全流程实战
运维·网络·安全·云计算
Ztopcloud极拓云视角9 小时前
阿里云涨价生效日:多云成本优化实战指南(含Claude Opus 4.7接入对比)
阿里云·云计算·anthropic·claude opus 4.7
OpenClawID12 小时前
2026年怎么安装OpenClaw?腾讯云1分钟喂奶级流程+大模型APIKey配置、Skill集成指南
云计算·腾讯云
无心水12 小时前
14、企业级表格|AWS Textract 扫描件表格自动结构化
架构·pdf·云计算·aws·pdf解析·pdf抽取·aws textract
北极糊的狐1 天前
4.1阿里云 OSS 的跨域访问 CORS 限制本地直接打开 HTML 无法正常播放 OSS 音频、视频
阿里云·云计算
观测云1 天前
观测云日志转发至 AWS S3 最佳实践
云计算·aws·观测云
TG_yunshuguoji1 天前
阿里云代理商:阿里云数字短信全面开放!触达新方案
阿里云·云计算·云服务器
牛奶咖啡131 天前
Docker容器实践——docker部署应用系统
docker·云计算·portainer·docker容器的使用流程·docker虚拟化云桌面·nginx可视化反向代理工具·构建服务器监控探针