导入证书提示私钥无效怎么办:密码短语与 RSA 格式两道官方检查

痛点场景

证书终于从机构那边签下来了,导入 NAS 的收尾一步却卡住:系统弹出错误消息,要么是私钥无效,要么是私钥不合法。证书文件明明是机构给的,私钥也是当时一起下载的,怎么就无效了?

这是 DSM、DSM Enterprise 与 SRM 共同的报错场景。官方知识库对此的排查口径相当克制:不看证书,先看私钥,就两道检查。

第 1 道检查:私钥是否带密码短语保护

按官方说明,导入的私钥须为未受密码短语保护的文件。如果这份私钥当初生成时加过密、设过口令,系统在导入时就无法直接使用它。

处置办法官方给得很直接:**如果私钥已加密,请先解密,然后再尝试导入。**解密属于通用 OpenSSL 操作,在任意一台有 OpenSSL 的机器上都能完成,把解密后不带口令的私钥文件重新拿去导入即可。

第 2 道检查:私钥是否为 RSA 格式

第 2 道检查是格式。官方要求私钥为 RSA 格式,并给出了肉眼验证的方法:

用文本编辑器(如 Windows 下的记事本、macOS 下的文本编辑)打开私钥文件,RSA 格式的密钥应以:

—–BEGIN RSA PRIVATE KEY—–

开头,并以:

—–END RSA PRIVATE KEY—–

结尾。

打开文件看首尾两行就能定性:开头结尾对不上这个标记,说明这份私钥是别的格式(比如 ECC 私钥的标记就不同),需要回到签发链路处理格式问题,而不是反复重试导入。

背景知识:格式支持范围在官方另一篇有交代

为什么格式会不匹配?官方创建证书签发请求(CSR)那篇文章的注意事项里写明了私钥格式支持范围:**DSM 7 和 DSM Enterprise (PAS) 支持 ECC 和 RSA 格式的私钥;DSM 6 支持 RSA 格式的私钥。**结合本篇的 RSA 要求可以推出:新系统上 ECC 与 RSA 都有机会导入成功,而老系统与 SRM 场景下,RSA 格式是稳妥选择。申请证书之初就按目标系统定好密钥格式,能省掉导入阶段的返工。

另外,同篇官方注意事项还提醒:私钥与证书文件要安全保存,更新或更换服务器时可能还要用到——导入成功不等于私钥文件可以随手删。

运维视角:两道检查就是全部顺序

这个报错的排查顺序没有悬念:先问私钥有没有加密,再看首尾标记是不是 RSA,两步定案,不做无谓的反复导入。诚鑫致达科技处理这类工单时,工程师到现场也是按这两步走——顺序对了,通常十分钟内收工。