Linux下基於openssl實現數字簽名

2021-10-02 12:43:05 字數 1121 閱讀 3736

建立原檔案src.txt(也可以是任意型別的檔案),這裡僅作演示,輸入命令:

echo "this is a digital signature example." > src.txt
a、建立私鑰:
#rsa加密演算法產生的2048位私鑰,並使用f4作為公鑰的e引數,將私鑰儲存在檔案key.pri中

openssl genrsa -out key.pri -f4 2048

b、檢視私鑰:
#以pem格式顯示私鑰的明文輸出金鑰引數

openssl rsa -inform pem -in key.pri -text

a、匯出公鑰
#用rsa的私鑰檔案key.pri匯出pem格式的公鑰,儲存在檔案key.pub中

openssl rsa -inform pem -outform pem -in key.pri -out key.pub -pubout

b、檢視公鑰
openssl rsa -inform pem -in key.pub -pubin -text
#產生簽名檔案src.sig

openssl dgst -sha256 -out src.sig -sign key.pri -keyform pem src.txt

#檢視簽名檔案

od -v -an -tx1 src.sig

傳送者將原檔案src.txt、公鑰檔案key.pub和簽名檔案src.sig傳輸給接收者,接收者模擬校驗操作。

openssl dgst -sha256 -keyform pem -verify key.pub -signature src.sig src.txt
若顯示:verified ok

則表示用公鑰校驗簽名檔案是正常的,即接收到的原檔案是無篡改和可信的。

若顯示:verification failure

則表示接收到的檔案有篡改或不可信的。

Linux下編譯安裝openssl

wget 2 解壓壓縮包,例如 解壓到當前資料夾 tar zcvf openssl 1.0.1c.tar.gz c 解壓完後會生成openssl資料夾,如 openssl 1.0.1c。3 進入該資料夾,開啟install 檔案,可以看到安裝的具體步驟,按照這些步驟一步步做下來,就完成了openss...

Linux下原始碼安裝OpenSSL

開發環境為ubuntu 12.04,預設安裝了openssl了,可以通過 which openssl來檢視安裝位置,但是在 usr include等目錄下都找不到openssl相關的標頭檔案,所以需要從原始碼重新安裝openssl。wget tar zxvf openssl 1.0.0l.tar.g...

linux下使用openssl加密檔案

1.加密乙個檔案 root fxvsystem root openssl enc des e a in install.log out install.log.des enter des cbc encryption password verifying enter des cbc encrypti...