首页/安全/加密与证书速查/openssl pkeyutl 原始密钥操作

openssl pkeyutl 原始密钥操作

pkeyutl 提供底层公钥运算:Raw 签名与验签(Ed25519 必须加 -rawin)、RSA 加密解密、密钥派生(-derive)等,适合与专用协议或测试向量对接。

加密与证书速查安全更新于 2026-10-12
Ed25519 签名openssl pkeyutl -sign -inkey ed.key -rawin -in msg.bin -out sig.bin
验签openssl pkeyutl -verify -pubin -inkey ed.pub -rawin -in msg.bin -sigfile sig.bin
RSA 解密openssl pkeyutl -decrypt -inkey key.pem -in c.bin -out m.bin(配合填充参数)
派生-derive 用于密钥协商类测试

Ed25519 签验回路

Ed25519 签验回路
printf 'hello' > msg.bin
openssl pkeyutl -sign -inkey ed25519.key -rawin -in msg.bin -out sig.bin
openssl pkeyutl -verify -pubin -inkey ed25519.pub -rawin -in msg.bin -sigfile sig.bin
Ed25519 与 Ed448 是纯签名算法,签名输入必须用 -rawin;套用先哈希再签名的流程会报错。

易错点

  • 漏掉 -rawin 导致 Ed25519 操作直接报错
  • RSA 填充参数与对端约定不一致导致解密失败

数据来源与参考

  • OpenSSL 官方文档(pkeyutl)
  • RFC 8032(EdDSA)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌