Python给指定文件打上数字签名

数字签名概念:

数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名是非对称**加密技术与数字摘要技术的应用。(来源于百度百科)

数字签名作用:

个人感觉 主要是为了保证文件安全性,完整性。就是如果有人修改了文件的部分,实质上,数字签名也会随之改变,就能进行判别。

实战添加数字签名:

  • 环境配置(Win10环境下):

    1. makecert.exesigntool.exe:这两个文件是主要作用是在一个是创建证书,一个是打签名时候使用,只要安装VisualStudio就自带了。
    2. 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')
    
  • 运行结果:

  • 在这里插入图片描述

  • 在这里插入图片描述

  • 可以看出,已经打上数字签名了。

posted @   锐洋智能  阅读(806)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 5. Nginx 负载均衡配置案例(附有详细截图说明++)
· Windows 提权-UAC 绕过
历史上的今天:
2017-10-26 log4j修改SMTPAppender支持ssl
2017-10-26 JAVA集合类汇总
2017-10-26 log4j1修改DailyRollingFileAppender支持日志最大数量
2017-10-26 log4j1 修改FileAppender解决当天的文件没有日期后缀
2014-10-26 Spring4+quartz2集群借助邮箱或是短信实现生日的农历提醒(Quartz实现农历、阴历、公历生日提醒)
2014-10-26 jquery 带农历天干地支的日期选择控件
2009-10-26 不会提示是否关闭浏览器 IE6、IE7、FF通用代码
点击右上角即可分享
微信分享提示