?)
Infisical 如何从私有 CA 签发第一张 TLS 证书CA、策略、Profile 到出证【免费下载链接】infisicalInfisical is the open-source platform for secrets, certificates, and privileged access management.项目地址: https://gitcode.com/GitHub_Trending/in/infisical如果你的团队需要在不依赖公共 CA 的情况下为内部服务签发 TLS 证书Infisical Certificate Manager 提供的路径是先创建一个私有 Root CA再建证书策略Policy和证书配置Profile最后通过 Application 发起证书请求并下载证书文件。本文按官方快速上手文档的顺序走通从创建 CA 到拿到certificate.pem与private-key.pem的完整流程并用openssl验证证书内容。准备条件官方快速上手文档只列出一个前置权限要求需要Product Admin权限用于创建 CA、策略和 Profile。流程涉及的对象及其职责官方文档的表述是Certificate AuthorityCA签署和签发 X.509 证书的实体团队出证前必须至少配置一个 CACertificate Policy定义证书必须遵循的规则允许的域名、有效期、密钥算法等请求违反策略时证书不会被签发Certificate Profile把 CA 策略 默认值组合成可复用模板相当于证书的“形状”Application团队消费 Profile、实际发起证书请求的地方。完整参考文档PKI 快速入门、签发第一张证书、Internal CA 参考。创建 Root CA进入Certificate Manager → Certificate Authorities选择Create。快速上手文档给出的字段取值FieldValueNamemy-root-caTypeRoot CAKey AlgorithmEC_prime256v1Internal CA 参考页对这一步有更完整的字段说明入口写作Certificate Authorities → Internal → Create CA补充字段包括Valid UntilCA 有效期日期时间字符串格式如YYYY、YYYY-MM-DD、YYYY-MM-DDTHH:mm:ss.sssZPath Length可挂接的中间 CA 层数上限-1表示不限制0表示不允许挂中间 CAKey SourceCA 签名密钥的生成位置Infisical默认由 Infisical 生成并管理或HSM通过 HSM Connector 在你的 HSM 内生成并签名Name / Organization (O) / Country (C) / State or Province / Locality / Common Name构成 CA 的 Distinguished NameDN其中至少填写一项。注意一个文档间差异快速上手文档的 Key Algorithm 示例值写作EC_prime256v1而 Internal CA 参考页列出的受支持算法为RSA 2048、RSA 4096、ECDSA P-256、ECDSA P-384默认RSA 2048。两种写法对应同一组椭圆曲线选项时的实际可选项以你界面上显示的值为准。创建证书策略TLS Server Certificate 预设进入Certificate Manager → Certificate Policies选择Create。快速上手文档的取值FieldValuePresetTLS Server CertificateNametls-server选预设的原因策略文档说明TLS Server Certificate预设为 Web 服务器、API 端点、HTTPS 场景预置了 Server Auth、Digital Signature、DNS/IP SANs 等设置选择后仍可再自定义。策略如何生效每次有证书请求时Certificate Manager 会用 Profile 绑定的策略校验请求任何约束被违反则证书不会被签发这一过程自动完成使用团队不需要了解策略细节。策略各字段采用三态模型未配置不约束、配置但为空显式禁止、配置规则白名单。首次签发不必逐项配置用预设即可。创建 Certificate Profile关联 CA 与策略进入Certificate Manager → Certificate Profiles选择Create参考页写作Create Profile。快速上手文档的取值FieldValueNameweb-serversCertificate Authority选择my-root-caCertificate Policy选择tls-serverProfile 文档补充Issuer Type可选Certificate Authority或Self-Signed。本文场景选前者若选Self-SignedProfile 只支持 API 注册且签发的是自签证书不适用于“从私有 CA 出证”的目标。Certificate Details页签可预置默认值TTL、Subject 属性、密钥/签名算法、Key Usages 等请求者未指定时自动套用。一个明确警告Profile 保存后如果策略被更新原有默认值可能不再合规证书请求会在校验阶段失败直到你更新 Profile 默认值。创建 Application 并配置 API 注册方式进入Certificate Manager → Applications选择CreateApplication 文档写作Create Application。快速上手文档的取值FieldValueNamemy-first-appCertificate Profile选择web-serversApplication 由 Product Admin 创建并可分配 Admin / Operator / Auditor 三种角色成员只有被分配到该 Application 的人才能查看或管理其中的证书。接下来配置注册方式Enrollment。本流程使用API方式官方定义为 UI 签发、Infisical Agent 或直接 API 调用的默认方式操作路径打开 Application进入Settings页签找到Certificate Profiles区域在web-serversProfile 上选择Configure选择Add enrollment method再选择API。如果 Settings 页看不到任何 Profile说明 Product Admin 还没把 Profile 挂到该 Application需要先去挂载。API 方式还有一个可选项Auto-Renewal By Default。开启后Infisical 会在到期前按Renew Before Days设置的天数在服务端自动续签。注意官方限制自动续签只对服务端托管私钥的证书生效通过 CSR 提交的证书不具备续签资格。请求并下载第一张证书在 Application 内进入Certificate Requests页签选择Request Certificate。快速上手文档的取值FieldValueProfile选择web-serversCommon Nameexample.local点击Request后下载证书与私钥。根据 API 注册文档UI 请求时还可选择两种请求方式ManagedInfisical 生成并管理私钥你再填 Common Name、SANs、密钥算法、签名算法、TTL 等字段CSR粘贴自己的 PEM 编码 CSRSubject 属性和密钥算法从 CSR 中提取。文档明确提醒私钥只在签发时展示一次签发后须立即妥善保存。完成后的结果是两个文件certificate.pem—— 你的 TLS 证书private-key.pem—— 对应私钥务必妥善保管。可选分支直接调 API 签发如果你不走 UIAPI 注册方式支持直接调用。以托管密钥方式为例文档示例curl -X POST https://app.infisical.com/api/v1/cert-manager/certificates \ -H Authorization: Bearer access-token \ -H Content-Type: application/json \ -d { profileId: certificate-profile-id, attributes: { commonName: api.example.com, ttl: 90d, keyAlgorithm: RSA_2048, altNames: [ { type: DNS, value: api.example.com }, { type: DNS, value: www.api.example.com } ] }, metadata: [ { key: env, value: production }, { key: service, value: payments-api } ] }占位符替换说明access-token换成你的 Infisical 访问令牌certificate-profile-id换成你创建的 Profile 的 ID。请求成功后响应包含certificate证书体、certificateChain证书链、privateKey托管密钥时返回、serialNumber、certificateId等字段以上为文档示例响应结构。若证书需要审批响应中certificateRequestId存在但certificate为null需轮询 Get Certificate Request 端点查看状态。验证证书内容对下载到的证书执行openssl x509 -in certificate.pem -text -noout快速上手文档给出的预期应看到证书详情包括 Common Nameexample.local、有效期以及该证书由my-root-ca签发。限制与下一步CSR 方式签发的证书不受服务端自动续签覆盖续签需由客户端自行处理策略更新后 Profile 默认值可能不合规届时证书请求会在校验阶段失败需同步更新 Profile 默认值直接由 Root CA 出证是最短路径CA 概览文档给出的实践建议是保留离线/低使用的 Root CA再创建中间 CA 负责日常签发Intermediate CA 通过 Infisical CA、Manual 或 External CA 三种方式挂到 Root 下本文未展开该层级。官方文档给出的后续方向为 Application 配置 ACME 注册 实现自动续签、配置到期告警、通过 Certificate Syncs 把证书推送到云端目的地。【免费下载链接】infisicalInfisical is the open-source platform for secrets, certificates, and privileged access management.项目地址: https://gitcode.com/GitHub_Trending/in/infisical创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考