我尝试使用 openssl 创建证书签名请求:
openssl req -key my.key -out out.csr -new -subj "XXXXXXX" -config openssl-san.cnf
但是得到这个错误:
req: Unknown digest sha-512
req: Use -help for summary.
我在 Ubuntu 18.04 下工作,所有文件都在那里并且是自动生成的,所以我认为配置或关键文件不是问题所在。
修复openssl-san.cnf
配置文件以引用摘要作为sha512
而不是sha-512
。
看看 https://www.openssl.org/docs/manmaster/man1/openssl-req.html
-digest
这指定用于对请求进行签名的消息摘要。可以使用 OpenSSL dgst 命令支持的任何摘要。这将覆盖配置文件中指定的摘要算法。
和
default_md
此选项指定要使用的摘要算法。可以使用 OpenSSL dgst 命令支持的任何摘要。可以在命令行上覆盖此选项。某些签名算法(即 Ed25519 和 Ed448(将忽略已设置的任何摘要。
如果你看 https://www.openssl.org/docs/manmaster/man1/openssl-dgst.html 它会告诉你你可以跑
openssl list --digest-commands
以查看哪些摘要及其名称在您的 OpenSSL 构建中可用。
例如:
openssl list --digest-commands
blake2b512 blake2s256 gost md4
md5 rmd160 sha1 sha224
sha256 sha384 sha512
然后,您必须在命令行或配置文件中随时随地使用哪些名称。