利用OpenSSL在linux上執行數據簽名的操作流程如下:
第一步:創建密鑰對
開始時,需要構建一個私鑰與一個公鑰。私鑰用來簽名,而公鑰則用于確認簽名的真實性。
openssl genpkey -algorithm RSA -out private_key.pem -aes256 openssl rsa -pubout -in private_key.pem -out public_key.pem
- -algorithm RSA:明確采用RSA算法。
- -out private_key.pem:定義私鑰文件的保存位置。
- -aes256:利用AES-256加密私鑰。
- -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:確定簽名文件的輸出位置。
- data.txt:待簽名的數據文件。
第三步:驗證簽名
借助公鑰來檢查簽名的有效性。假設簽名文件名為signature.bin,原始數據文件名為data.txt。
openssl dgst -sha256 -verify public_key.pem -signature signature.bin data.txt
- -verify public_key.pem:指定用于驗證的公鑰文件。
- -signature signature.bin:標明需驗證的簽名文件。
- data.txt:原始數據文件。
當簽名準確無誤時,命令會顯示“Verified OK”。若簽名存在問題,則會提示“Verification Failure”。
第四步:解密私鑰(非必要)
倘若遺忘了私鑰的密碼,能夠運用下面的指令來解密私鑰:
openssl rsa -in private_key.pem -out decrypted_private_key.pem
- -in private_key.pem:注明輸入的加密私鑰文件。
- -out decrypted_private_key.pem:設置解密后的私鑰文件的保存地址。
系統會要求輸入密碼,正確輸入后,私鑰將會被解密并儲存在新文件中。
按照上述方法,你便能在Linux環境下借助OpenSSL完成數據簽名與驗證任務。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END