ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

如何生成 Authelia 的 ML-DSA 后量子密钥与证书

如何生成 Authelia 的 ML-DSA 后量子密钥与证书 如何生成 Authelia 的 ML-DSA 后量子密钥与证书【免费下载链接】autheliaThe Single Sign-On Multi-Factor portal for web apps. OpenID Certified™ and Post-Quantum Cryptography Ready.项目地址: https://gitcode.com/GitHub_Trending/au/autheliaAuthelia 提供了内置的authelia crypto certificate mldsa generate子命令用于一次性生成 ML-DSA 私钥和证书无需依赖 openssl 等外部工具。文章基于 ML-DSA 证书生成命令参考 与生成安全值指南 中的真实命令路径写成覆盖本机二进制Bare-Metal和 Docker 容器两种执行方式以及自签发、CA 签发和生成 CSR 三条文档明确支持的路径。按项目文档Authelia 自 4.39.212026 年 9 月 3 日发布起实现了多项后量子加密措施包括 WebAuthn 凭据与 OIDC/OAuth 2.0 的 ML-DSA-44、ML-DSA-65、ML-DSA-87 JOSE 签名支持详见后量子加密概览。本文只讲如何用 CLI 生成 ML-DSA 密钥与证书这一任务本身。前提条件本机已安装 Authelia CLI 二进制或可以使用 Docker 并拉取authelia/authelia:latest镜像。两种执行方式在生成安全值指南中分别称为 Bare-Metal 和 Docker。生成文件会写入--directory-d指定的目录不指定该参数时命令在参考文档中仅展示了 flag 用法未说明缺省输出位置建议显式指定目录避免生成文件散落。生成自签名的 ML-DSA 密钥与证书命令的基本形式来自命令参考authelia crypto certificate mldsa generate [flags]参考文档明确说明--path.ca未提供时证书是自签名的。因此最简单的调用就是指定一个 common name 和输出目录例如文档示例中使用的域名example.com请替换为你自己的值authelia crypto certificate mldsa generate --common-name example.com --directory ./keys如果不带任何参数只想了解用法运行参考文档给出的示例authelia crypto certificate mldsa generate --helpDocker 方式执行生成安全值指南中 RSA 证书生成的 Docker 命令为把当前目录挂载到容器/keys再运行authelia crypto certificate rsa generateML-DSA 的generate命令拥有完全相同的--common-name、--directory选项按同一模式执行docker run --rm -u $(id -u):$(id -g) -v $(pwd):/keys authelia/authelia:latest authelia crypto certificate mldsa generate --common-name example.com --directory /keys副作用说明该命令会启动一个临时容器--rm使容器退出后自动删除-v $(pwd):/keys会把当前工作目录挂载进容器生成的文件最终落在你的当前目录中。-u $(id -u):$(id -g)让容器以你当前的用户身份写文件避免产生 root 属主的输出。选择 ML-DSA 参数集与有效期ML-DSA 算法有三个参数集通过-b, --parameters指定可选值与默认值以命令参考为准flag可选值默认值用途-b, --parametersML-DSA-44、ML-DSA-65、ML-DSA-87ML-DSA-65设置 ML-DSA 参数集--duration—1y证书有效期时长--signature—SHA256证书签名算法--not-before/--not-after多种日期格式不指定时为 now / 由 duration 决定证书有效期的最早与最晚时间--sans——subject alternative names-n, --common-name——证书 common name--country、--province、-l, --locality、-s, --street-address、-p, --postcode、-o, --organization、--organizational-unit—organization 默认[Authelia]证书主体地址字段例如指定参数集并延长有效期authelia crypto certificate mldsa generate --common-name example.com --parameters ML-DSA-65 --duration 2y --directory ./keys关于 ML-DSA-44 / 65 / 87 三个参数集之间如何选择命令参考只列出三个可选值与默认值ML-DSA-65没有给出选型建议后量子概览文档同样只说明项目支持这三个参数集未对三者做对比因此按文档事实保留默认值或自行决定即可。输出文件与改名按命令参考中的默认文件名生成结果写入输出目录文件说明对应 flagprivate.pem私钥数据--file.private-keypublic.crt证书数据--file.certificatepublic.chain.pem证书链 PEM bundle仅当--bundles包含chain--file.bundle.chainprivate.chain.pem证书链与私钥 PEM bundle仅当--bundles包含priv-chain--file.bundle.priv-chain需要改名时用对应的--file.*flag 指定需要额外输出 bundle 时用--bundles可选值参考文档写的是chain和priv-chain。另外--legacy开启后会在 PKCS#1 和 SECG1 旧格式输出中生效--file.extension.legacy控制该旧格式的子扩展名默认legacy。可选使用已有 CA 签发如果不想自签名命令参考说明--path.ca指向 CA 文件所在目录未提供该参数时证书自签。CA 的证书与私钥默认读取ca.public.crt和ca.private.pem分别可由--file.ca-certificate、--file.ca-private-key改名。按文档给出的 flag 语义一个可用的组合是先用--ca生成一张 CA 证书参考文档说明--ca表示“create the certificate as a certificate authority certificate”再把--path.ca指向该 CA 所在目录# 生成 CACA 证书 CA 私钥 authelia crypto certificate mldsa generate --ca --common-name my-ca --directory ./ca # 用该 CA 签发业务证书 authelia crypto certificate mldsa generate --common-name example.com --path.ca ./ca --directory ./keys第二条命令假设./ca目录下就是默认文件名ca.public.crt与ca.private.pem文件名不同时用--file.ca-certificate/--file.ca-private-key指定实际路径。可选为外部 CA 生成 CSR如果证书要交给外部 CA 签发使用姊妹命令 authelia crypto certificate mldsa request 生成私钥与证书签名请求authelia crypto certificate mldsa request --common-name example.com --directory ./csr该命令默认输出request.csr由--file.csr改名与私钥private.pem其余证书字段 flag--parameters、--duration、--sans、地址字段等与generate一致。验证生成结果参考文档与指南给出的成功判据是输出文件本身指南在证书一节明确“所有情况下输出文件如下”private.pem为私钥、public.crt为公钥与证书。执行完命令后在输出目录确认这些文件已生成即可自签 / CA 签发generateprivate.pem、public.crt启用--bundles时还有对应的public.chain.pem或private.chain.pemCSRrequestrequest.csr、private.pem。文档没有给出命令成功时的终端输出样例因此以文件是否落盘为准。限制说明三个 ML-DSA 参数集在文档中仅以可选值与默认值ML-DSA-65的形式出现没有强度对比或选型依据本文不补写结论。generate命令同时接受继承自父命令的-c, --config默认configuration.yml等全局参数本任务仅使用生成相关的 flag配置参数不影响密钥生成。本文命令中的example.com取自文档示例执行前请替换为实际要使用的 common name。参考文档入口authelia crypto certificate mldsa generate、authelia crypto certificate mldsa、authelia crypto certificate mldsa request、后量子加密概览、生成安全值指南。【免费下载链接】autheliaThe Single Sign-On Multi-Factor portal for web apps. OpenID Certified™ and Post-Quantum Cryptography Ready.项目地址: https://gitcode.com/GitHub_Trending/au/authelia创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表