下面给你一个最常用、最实用的 Linux + OpenSSL 签名示例,从生成密钥到验证签名,一步一步来。
openssl genrsa -out private.key 2048
openssl rsa -in private.key -pubout -out public.key
假设你要签名的文件是 data.txt
openssl dgst -sha256 -sign private.key -out data.sig data.txt
openssl dgst -sha256 -sign private.key data.txt | base64 > data.sig.b64
openssl dgst -sha256 -verify public.key -signature data.sig data.txt
✅ 成功输出:
Verified OK
❌ 失败输出:
Verification Failure
base64 -d data.sig.b64 > data.sig
openssl dgst -sha256 -verify public.key -signature data.sig data.txt
openssl ecparam -genkey -name prime256v1 -out ec.key
openssl dgst -sha256 -sign ec.key -out data.sig data.txt
openssl dgst -sha256 -verify <(openssl ec -in ec.key -pubout) -signature data.sig data.txt
sha256 或更高如果你有具体场景(比如 API 签名、JWT、SM2、给 ELF 文件签名、Python 调用 OpenSSL),告诉我,我可以给你更针对性的例子。