---
purpose: CSR 生成策略三档选项 + 面向老板/安全/运维的三档话术
loaded_by: SKILL.md §8 发问协议与 CSR 策略按需引用
blocking: true
---

# CSR 生成策略三档选项与三档话术

> **背景**：CSR 生成方式涉及密钥管理的根本选择，但运维现场的执行习惯、合规认知、操作便利性差异极大。
> 早期 Agent 默认只推 "本地 openssl 生成"，并对"云厂商在线生成"做过度合规否定（误用等保/PCI DSS 条文）。
> 本文档提供三档选项 + 三档话术，让 Agent 尊重现场选择、同时给出清晰的风险差异和决策依据。

---

## 1. 三档选项定义

| 档位 | 做法 | 密钥生成位置 | 密钥管理主体 | Agent 默认态度 |
|---|---|---|---|---|
| 🟢 **A · 本地 openssl 生成**（默认推荐）| 在目标服务器本机用 `openssl genrsa` + `openssl req -new` | 目标服务器 | 客户自己（root 持有）| ⭐ **默认推荐** |
| 🟡 **B · 云厂商在线生成**（允许选项）| DNSPod / 阿里云 SSL / 腾讯云 SSL / 华为云 SCM 控制台"一键生成"| 云厂商 KMS / HSM | 云厂商（订阅账户下）| ✅ 允许，不贬低 |
| 🔴 **C · 复用旧 CSR / 旧私钥**（受限场景）| 提交去年已用过的 CSR / 私钥继续签新证书 | 继承旧位置 | 继承旧责任人 | ⚠️ **仅紧急兜底**，需明示风险 |

---

## 2. 三档的真实风险差异（给运维看的白话版）

```
A 本地生成：    私钥只有你服务器 root 能看 → 出事只能怪自己，无合规兜底
B 在线生成：    私钥交云厂商 KMS（加密存储/HSM）→ 出事可追责云厂商 + 云厂商自带等保三级认证
C 复用旧的：    密钥没换 → 一旦旧的已泄露（含你不知道的途径），新证书等于白签；无前向安全
```

---

## 3. 三档话术框架

### 3.1 🎯 面对老板 / 决策者（L3 层）—— 讲权责与风险

> "我们推荐**本地生成**，核心理由是：
>
> 私钥不出本机，意味着出事只有一个追责路径；
> 用云厂商生成，多一条云厂商 KMS 泄露的追责路径，虽然他们有合规认证但不是零风险。
>
> 复用旧的我们不推荐，因为旧私钥可能已经在你不知道的地方（备份盘、离职员工、运维日志）留过痕，
> 新证书安全性等同于旧私钥安全性。"

### 3.2 🎯 面对安全 / 合规（L2 层）—— 讲合规边界

> "三档**都能过等保二级**，没有谁是'违规'的：
>
> - **A 本地生成**：最清晰的密钥生命周期审计链（密钥从生成到销毁都在你机房）
> - **B 云厂商在线**：云厂商 KMS 有等保三级认证 + FIPS 140-2 Level 2 HSM，合规上站得住脚，但审计链跨了边界
> - **C 复用旧 CSR**：审计上很难解释'为什么今年和去年用同一把密钥'，**等保三级以上基本会被扣分**
>
> 所以选 A 或 B 看你们内部合规口径，选 C 需要在审计文档里明示理由。"

### 3.3 🎯 面对运维（L1 层）—— 讲操作便利与出错成本

> "讲实话三档的工作量差不多：
>
> - **A 本地生成**：照着脚本跑 3 分钟，出错率低（脚本已经测过）
> - **B 在线生成**：控制台点几下也是 3 分钟，但私钥文件打包下载后你还是得手动上传到服务器
> - **C 复用旧 CSR**：10 秒完成，但如果旧 CSR 文件找不到了或者 SAN 列表对不上，反而要返工
>
> **真正的区别在下一次**（随证书有效期缩短，续签频率越来越高）：
>
> - 如果本次选 A 本地生成 + 养成脚本习惯，下次接 ACME 自动化是顺延的
> - 如果本次选 B，下次还是点控制台
> - 如果本次选 C，私钥越用越老，早晚还是要换，**不如现在就换干净**"

---

## 4. Agent 行为准则

```
✅ 必须做：
- 默认推荐 A（本地生成），并给出 3 档完整对比（利弊对称，不过度贬低 B/C）
- 客户明示选 B → 切换到 02b-online-csr-guide.md，生成云厂商控制台操作指引
- 客户明示选 C → 切换到 02c-reuse-csr.sh，但必须在脚本头部打印"复用风险警示"
- 所有 3 档都必须在 L2-strategy-adr.md 留下 ADR 记录（哪个方案 / 为什么选）

❌ 严禁做：
- 用"云厂商不合规"等错误话术贬低 B 档（等保/PCI DSS 都没禁止第三方 KMS 生成）
- 在客户已明示选 B/C 后反复游说回到 A（推荐协议硬边界：客户选定即刻采纳）
- 对 C 档只讲"不推荐"不讲风险细节（C 档客户往往是紧急兜底，Agent 必须给出风险清单而非劝退）
- 把"私钥在云厂商"等同于"私钥泄露"（KMS/HSM 加密存储 ≠ 明文泄露）
```

---

## 5. 与其他原则的关系

- **与 SKILL.md §2 证书有效期时代背景**：证书有效期缩短 → 2027 年起 ≤ 100 天 → 手动 3 档选择越来越不可持续 → Agent 应在 A 档场景顺便提 ACME 自动化路径
- **与 SKILL.md §5 技术-治理边界 α**：CSR 选择本质是"技术偏好 + 合规认知"双决策，Agent 不主动问合规要求，客户声明合规口径后才调整默认档位
- **与四段式推荐协议**（`inquiry-protocol.md`）：本节的"A 默认 / B 允许 / C 受限"遵守四段式结构（推荐+理由+替代+请确认）

---

## 6. 自检对应项

- G11（CSR 三档选项自检）：交付物是否同时提供 A/B/C 三档执行入口
- G12（合规话术边界自检）：禁止"等保二级禁止第三方 KMS 生成密钥"等错误话术
- G13（多选项中性化自检）：禁止"首选/次选"等暗示性词汇，应使用"场景驱动推荐"

见 `review-guides/self-review-checklist.md` 对应条目。
