openssl req -newkey rsa:2048 -nodes -x509 -days 365 -out root.crt -keyout root.key
这工作正常,但如果我使用 ed25519:
openssl req -newkey ed25519 -nodes -x509 -days 365 -out root.crt -keyout root.key
Keychain Access 无法导入 root.crt,错误代码:-25257(未知格式)
有没有办法使用ed25519?
openssl verify -CAfile <(cat root.crt inter.crt) server.crt client.crt
server.crt: OK
client.crt: OK
.crt 文件工作正常。
我还没有找到任何确切的确认信息,但 macOS 目前似乎不支持 Ed25519 证书。当尝试在钥匙串访问界面之外导入证书时,还会出现错误消息:
openssl req -newkey ed25519 -nodes -x509 -days 365 -out cert.pem -keyout key.pem
openssl x509 -in cert.pem -inform pem -out cert.der -outform der
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain cert.der
# SecCertificateAddToKeychain: Unknown format in import.
您可以考虑使用更传统的 ECC 生成证书:
openssl ecparam -genkey -name secp521r1 -out localhost-key.pem
openssl req -new -key key.pem -sha512 -x509 -days 365 -out cert.pem