數字簽名概念:
數字簽名(又稱公鑰數字簽名)是只有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。它是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術來實現的,用於鑒別數字信息的方法。一套數字簽名通常定義兩種互補的運算,一個用於簽名,另一個用於驗證。數字簽名是非對稱**加密技術與數字摘要技術的應用。(來源於百度百科)
數字簽名作用:
個人感覺 主要是為了保證文件安全性,完整性。就是如果有人修改了文件的部分,實質上,數字簽名也會隨之改變,就能進行判別。
實戰添加數字簽名:
-
環境配置(Win10環境下):
makecert.exe
和signtool.exe
:這兩個文件是主要作用是在一個是創建證書,一個是打簽名時候使用,只要安裝VisualStudio就自帶了。python3
:這個是用來寫代碼的。。
-
代碼:
#打標簽工具 import subprocess def signtool(filename): signtool_exe = r'C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\signtool.exe' # signtool exe pfx_file = r'E:\certs\server.pfx' # pfx位置 cmd = '%s sign /f %s /p 12421242 /v %s' % (signtool_exe, pfx_file, filename) proc = subprocess.Popen(cmd) proc.wait() signtool(r'F:\565\code\sign\1.exe')
-
運行結果:
-
-
-
可以看出,已經打上數字簽名了。