如何使用OpenSSL在Linux上進行數據簽名

如何使用OpenSSL在Linux上進行數據簽名

利用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
喜歡就支持一下吧
點贊9 分享