signtool对EXE进行签名

2023-05-16

数字证书,真是个神奇的东西,可以保证软件不被修改,可以表明文件的发布日期,最重要的,可以很大程度的减少杀毒软件的误报,当然,这就要使用可信任的机构颁发的证书了。

现在要说的不是申请证书,而是如何制作自己的证书。

1.安装windows sdk

生成证书和签名工具都包含在里面,Visual Studio应该都有自带了,以下内容中使用的工具都可以在C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin里面找到

2.创建 X.509 证书

MSDN对Makecert.exe(证书创建工具)的介绍:

证书创建工具生成仅用于测试目的的 X.509 证书。
它创建用于数字签名的公钥和私钥对,并将其存储在证书文件中。
此工具还将密钥对与指定发行者的名称相关联,并创建一个 X.509 证书,该证书将用户指定的名称绑定到密钥对的公共部分。

使用这个命令行创建证书:

Makecert -sv abc.pvk -r -n “CN=XXX公司” abc.cer

-sv abc.pvk创建一个密钥文件,来保存私钥,创建时需要输入一个密码。

3.创建发行者证书

MSDN对Cert2spc.exe(软件发行者证书测试工具)的介绍:

发行者证书测试工具通过一个或多个 X.509 证书创建发行者证书 (SPC)。
Cert2spc.exe 仅用于测试目的。
可以从证书颁发机构(如 VeriSign 或 Thawte)获得有效的 SPC。

使用下面的命令行创建发行者证书:

Cert2spc abc.cer abc.spc

4.导出pfx证书文件

使用pvk2pfx.exe工具从pvk文件中导出pfx文件:


pvk2pfx -pvk abc.pvk -pi mypassword -spc abc.spc -pfx abc.pfx -f  

把"mypassword "密码替换为第二步时输入的密码

5.对自己的软件签名

使用signtool.exe进行签名,MSDN对SignTool.exe(签名工具)的介绍:

签名工具是一个命令行工具,用于对文件进行数字签名,验证文件和时间戳文件中的签名。

如果要对abc.exe进行签名:

signtool sign /f abc.pfx /p mypassword abc.exe

把其中的密码替换为自己的密码。

6.对自己的软件加盖时间戳

可以使用WoSign提供的时间戳服务:http://timestamp.wosign.com/timestamp

signtool timestamp /t http://timestamp.wosign.com/timestamp abc.exe

如果上面的步骤都正确,那么结果就是这样的:



签名之后,自己的软件瞬间就变的专业了有木有!

当然,这样的签名只是自慰罢了,没有什么实际用途,真正有用的证书还是要去专业机构申请的。。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

signtool对EXE进行签名 的相关文章

  • 如何从一个 Visual Studio 项目创建两个不同的可执行文件

    我有一个主要可执行文件 它根据配置文件中保存的设置运行 我希望能够通过不同的可执行文件更改配置文件中的设置 有没有一种简单的方法可以在一个 Windows 窗体项目中构建这两个不同的可执行文件 这意味着当我按构建时 会在同一解决方案文件夹中
  • 无法通过c#.net下载exe文件

    我设计了一个网站 当我单击按钮时 应该从我的计算机的特定路径下载 EXE 文件 但它不是下载 exe 文件 而是下载网站的 aspx 页面 我使用以下代码 WebClient myWebClient new WebClient Concat
  • 无法在 PHP 中使用 exec() 运行 .exe 文件

    我正在尝试使用 exe 文件来执行计算并将输出传递到 PHP 中 我使用 C 制作了一个 Hello World exe 文件 但无法让 PHP 执行它 如果我从 CMD 运行此命令 我会得到正确的输出 C path file exe 但如
  • Pyinstaller-python exe 停止工作:“无法打开自身”

    我一直在使用 Pyinstaller 将 python 脚本转换为可执行文件 过去它对我来说效果很好 但是现在 当我尝试运行可执行文件 旧的和新的 时 出现错误 无法打开自身 或存档 其中第一个空白是可执行文件的路径 第二个空白是存档的路径
  • 是否可以在 Vista 上构建 exe 并使用 py2exe 在 XP 上部署

    我在 Windows Vista 上使用 python 创建了一些程序 但我想将它部署在 Windows XP 上 是否有必要在Windows XP上进行新的构建 或者是否有可能构建在这两个系统上都可以运行的版本 编辑 编辑2 非常简单的程
  • 自动代码签名 - 保护私钥

    我想要自动执行一些 ClickOnce 部署工件 应用程序 exe 和清单 的代码签名 我在用signtool http msdn microsoft com en us library windows desktop aa387764 2
  • 哪些编程语言可以生成自包含的 Windows .exe?

    我想要制作一个易于部署的 Windows 应用程序 并且想知道哪些编程系统可以创建完全独立的 Windows exe 文件 另外 如果可以使用同一来源的 MacOSX 和 Linux 来完成同样的事情 这将是一个额外的好处 我查看了 Rea
  • Pyinstaller.exe 未产生预期结果

    这是我第一次使用 pyinstaller 在 Windows 机器上构建 py 的 exe 我已成功生成 exe 但是当我运行代码时 它不会生成我的代码应生成的 csv 文件 附带说明一下 当我在 IDE 中运行脚本时 它成功生成了我期望的
  • JavaFX 单实例应用程序

    尝试做到这一点 当用户 关闭 程序时单击所有退出按钮 这样就不再有托盘图标 我调用 Platform setImplicitExit false 所以程序仍然在后台运行 我正在尝试学习如何做到这一点 以便当用户重新单击运行 jar 的 ex
  • MapViewOfFile 返回什么? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么加载程序无法加载到所需位置 https stackoverflow com questions 9698496 why wont the loader load at the desired l
  • MSBuild SignFile 任务返回 MSB3481:找不到签名证书

    我最近获得了新的代码签名证书 我正在使用 MSBuild 的 SignFile 任务来签署应用程序清单 由于某种原因 任务正在返回 MSB3481 The signing certificate could not be located E
  • 如何在没有DLL的情况下编译SDL程序并运行它

    是否可以将SDL库程序编译为exec并在没有 sdl dll 的情况下运行它 例如 假设我编写了 sdl 程序 它可以工作 但问题是要在 Windows 上运行该程序 我需要在同一文件夹或系统文件夹中包含 sdl dll 是否可以编译它 以
  • 如何在 SSISDB 中将可执行错误公开为消息

    我们当前正在从作为每晚批处理作业的一部分运行的 SSIS 执行进程任务调用使用 python 构建的可执行文件 这一切都工作正常 但是当可执行文件失败时 只会引发非常基本的通用错误消息 而不会引用真正的底层错误 当通过命令行运行可执行文件时
  • Jenkins下的SignTool找不到与USB Token匹配的证书

    我想构建 WPF 应用程序并对其进行代码签名 并使用 Jenkins 使用 ClickOnce 进行部署 我的设置是 Jenkins 最新版本 运行管理员 USB 令牌上的证书 在 SafeNet 客户端中激活单点登录 https xrst
  • 如何将 Selenium IDE 制作为 exe?

    我下载了 Selenium IDE 代码 现在我想通过双击它来启动 selenium IDE 而不是作为 firefox 插件 任何可以帮助我将 IDE 作为桌面应用程序启动的想法都值得赞赏 提前致谢 正如每个人都指出的那样 Seleniu
  • 如何从 VB-6 旧应用程序中启动屏幕键盘程序

    我正在尝试从 Windows 10 32 或 Windows 10 64 位计算机上的 VB 6 应用程序中 shell osk exe 过去我们只是简单地使用 Private Sub Command1 Click Dim strTemp
  • Process.以另一个用户身份在网络共享上启动 exe 文件

    我需要运行位于我的域中的网络驱动器上的 exe 文件 该驱动器已作为 M 成功连接到我的电脑 但我知道 Process Start string string 在启动位于网络共享上的进程时需要具有文件的 URL 路径 这是我的代码 stri
  • 如何通过双击图标来执行JAVA程序?

    我写了一个java程序 现在我想在没有 IDE Eclipse 等的情况下打开我的控制台 java 应用程序 只需双击桌面上的可执行版本即可 我已将 java 项目导出为 Runnable JAR 文件 但无法打开 当我尝试使用cmd打开应
  • 在 C# 中将 Exe 文件作为嵌入式资源运行

    我有一个第 3 方 EXE 我只需要从我的 C 应用程序运行它 我的主要目标是对我的 C 文件中的第 3 方可执行文件进行版权保护 有没有更好的方法来做到这一点 我怎样才能做到这一点 首先将嵌入的可执行文件作为资源文件添加到您现有的资源文件
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h

随机推荐

  • Linux下切换Python版本的几种方法

    Linux下切换Python版本的几种方法 参考链接 xff1a 1 https www cnblogs com feynxd p 11367806 html 2 https blog csdn net weixin 34355559 ar
  • 基于ip的手机地理定位

    现在lbs服务比较火 xff0c 基本上都需要定位用户的地理信息 xff0c 用户地理信息一般是通过gps来定位实现的 xff0c 那么假如 用户的gps坏了 xff0c 或者没有开启 xff0c 那么怎么获得用户的地理信息的呢 xff1f
  • lm3s811 学习笔记(二)【自己建工程】

    在lm3s811 学习笔记 一 里 xff0c 我讲述了如何使用别人的工程 xff0c 烧写程序到板子上 这一节我来讲讲自己是怎么创建工程 不过用的还是别人的程序 xff0c 毕竟自己对lm3d811驱动库还不熟悉 打开keil 4 1 在
  • 计算机文化基础

    计算机应用基础试题 一 填空题 每空1分 xff0c 共30分 1 计算计的软件系统通常分成 软件和 软件 2 字长是计算机 次能处理的 进制位数 3 1KB 61 B xff1b 1MB 61 KB 4 计算机中 xff0c 中央处理器C
  • 74ls系列中文资料功能介绍

    型号 功能 74ls00 2输入四与非门 74ls01 2输入四与非门 oc 74ls02 2输入四或非门 74ls03 2输入四与非门 oc 74ls04 六倒相器 74ls05 六倒相器 oc 74ls06 六高压输出反相缓冲器 驱动器
  • qt学习笔记(二)之布局管理器&信号与槽(简介)

    我们在上节的程序中加点小应用 主要是用到了布局管理器和信号与槽 在这里我也只是简单介绍一下 随着后续的深入研究 xff0c 接下来会具体介绍 一 布局管理器 include lt QtGui gt int main int argc cha
  • Android 开发之 Activity BroadcastReceiver Service和音乐播放

    Activity的生命周期 xff1a Activity有三个状态 xff1a 当它在屏幕前台时 位于当前任务堆栈的顶部 xff0c 它是激活或运行状态 它就是响应用户操作的Activity 当它失去焦点但仍然对用户可见时 xff0c 它处
  • JSON-lib框架,转换JSON、XML不再困难

    Json lib可以将Java对象转成json格式的字符串 xff0c 也可以将Java对象转换成xml格式的文档 xff0c 同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象 一 准备工作 1 首先要去官方下
  • xStream完美转换XML、JSON

    xStream框架 xStream可以轻易的将Java对象和xml文档相互转换 xff0c 而且可以修改某个特定的属性和节点名称 xff0c 而且也支持json的转换 xff1b 前面有介绍过json lib这个框架 xff0c 在线博文
  • C++程序员经常问的11个问题

    C 43 43 程序员经常问的11个问题 这篇文章收了好长时间 xff0c 但还是觉得贴出来 xff0c 作为收藏 xff0c 在网上这样的浮躁环境 xff0c 很少能认认真真地看这样长的文章 xff0c 有时间我也要把 Effective
  • C++监控USB设备

    这个程序前阵子帮一个朋友实现的 xff0c 之前从未用消息队列做过类似的事情 xff0c 做完后感觉其在线程同步 xff0c 通信发面很好用 xff0c 难怪COM也用这套机制 程序稍微修改便能用作一般性的处理 xff0c 目前实现的功能类
  • TCP通信

    客户端的代码 xff1a 1 include 34 utili h 34 2 3 int main 4 5 int sockCli 61 socket AF INET SOCK STREAM 0 6 if sockCli 61 61 1 7
  • 解决引用openssl静态库libcrypto.a和libssl.a出现undefined reference to错误的问题

    解决引用openssl静态库libcrypto a和libssl a出现undefined reference to错误的问题 最近在做使用openssl链接http和https的项目 xff0c 编译时出现以下问题 usr local o
  • ssh允许root登录

    vi etc ssh sshd config Authentication LoginGraceTime 120 PermitRootLogin without password 找到这里 xff0c 把它注释 PermitRootLogi
  • 大型网站技术架构

    大型网站技术架构 xff08 1 xff09 网站都是从小网站一步一步发展为大型网站的 xff0c 而这之中的挑战主要来自于庞大的用户 安全环境恶劣 高并发的访问和海量的数据 xff0c 任何简单的业务处理 xff0c 一旦需要处理数以 P
  • iOS线程池

    多线程开发是一件需要特别精心的事情 xff0c 即使是对有多年开发经验的工程师来说 为了能让初级开发工程师也能使用多线程 xff0c 同时还要简化复杂性 各种编程工具提供了各自的办法 对于iOS来说 xff0c 建议在尽可能的情况下避免直接
  • QT https post请求

    以VS开发为例 因为https访问需要用到SSL认证 xff0c 而QT默认是不支持SSL认证 xff0c 所以在使用之前必须先做一些准备工作 xff1a 需要安装OpenSSL库 xff1a 1 首先打开http slproweb com
  • 在windows下的QT编程中的_TCHAR与QString之间的转换

    由于在windows下的QT编程中 xff0c 如果涉及到使用微软的API xff0c 那么不可避免使用 TCHAR这些类型 xff0c 因此在网上查了一下 xff0c 其中一个老外的论坛有人给出了这个转换 xff0c 因此在这里做一下笔记
  • QT图片旋转

    目前发现有两种方法 xff0c 如下 xff1a 1 使用QPixmap的transformed函数旋转 xff0c 这个函数默认是以图片中心为旋转点 xff0c 不能随意设置旋转点 xff0c 使用如下 xff1a QMatrix lef
  • signtool对EXE进行签名

    数字证书 xff0c 真是个神奇的东西 xff0c 可以保证软件不被修改 xff0c 可以表明文件的发布日期 xff0c 最重要的 xff0c 可以很大程度的减少杀毒软件的误报 xff0c 当然 xff0c 这就要使用可信任的机构颁发的证书