使用OpenSSL進行數據簽名的步驟如下:
生成私鑰:
openssl genpkey -algorithm RSA -out private_key.pem -aes256
這條命令會生成一個RSA私鑰,并使用AES-256加密保護。
從私鑰派生公鑰:
openssl rsa -pubout -in private_key.pem -out public_key.pem
這條命令會從私鑰中提取出公鑰。
假設你有一個要簽名的數據文件 data.txt
,可以使用以下命令進行簽名:
openssl dgst -sha256 -sign private_key.pem -out signature.bin data.txt
-sha256
:指定使用SHA-256哈希算法。-sign private_key.pem
:指定使用私鑰進行簽名。-out signature.bin
:指定輸出簽名文件的路徑和名稱。為了驗證簽名的有效性,可以使用公鑰和原始數據文件:
openssl dgst -sha256 -verify public_key.pem -signature signature.bin data.txt
-verify public_key.pem
:指定使用公鑰進行驗證。-signature signature.bin
:指定要驗證的簽名文件。data.txt
:原始數據文件。如果簽名有效,命令將輸出 Verified OK
;否則,會顯示錯誤信息。
生成密鑰對:
openssl genpkey -algorithm RSA -out private_key.pem -aes256
openssl rsa -pubout -in private_key.pem -out public_key.pem
簽名數據:
openssl dgst -sha256 -sign private_key.pem -out signature.bin data.txt
驗證簽名:
openssl dgst -sha256 -verify public_key.pem -signature signature.bin data.txt
通過這些步驟,你可以使用OpenSSL輕松地進行數據的簽名和驗證操作。