如何在Windows上为代码签名创建自签名证书
出自http://www.imooc.com/wenda/detail/577483
由于这篇文章搜索实在费劲,机缘巧合中才找到,为了后面课程学习方便查找,斗胆转载,侵删
慕森王
更新的答案
如果您使用的是以下Windows版本或更高版本:Windows Server 2012,Windows Server 2012 R2或Windows 8.1,则现在不推荐使用MakeCert,Microsoft建议使用PowerShell Cmdlet New-SelfSignedCertificate。
如果您使用的是Windows 7等旧版本,则需要坚持使用MakeCert或其他解决方案。有些人建议使用Public Key Infrastructure Powershell(PSPKI)模块。
原始答案
虽然您可以一次创建自签名代码签名证书(SPC - 软件发布者证书),但我更喜欢执行以下操作:
创建自签名证书颁发机构(CA)
makecert -r -pe -n "CN=My CA" -ss CA -sr CurrentUser -a sha256 -cy authority -sky signature -sv MyCA.pvk MyCA.cer
这将创建一个带有可导出私钥(-pe)的自签名(-r)证书。它被命名为“我的CA”,应该放在当前用户的CA存储中。我们正在使用SHA-256算法。密钥用于签名(-sky)。
私钥应存储在MyCA.pvk文件中,而证书应存储在MyCA.cer文件中。
导入CA证书
因为如果您不信任CA证书没有意义,您需要将其导入Windows证书库。您可以使用证书MMC管理单元,但是可以从命令行使用:
certutil -user -addstore Root MyCA.cer
创建代码签名证书(SPC)
makecert -pe -n "CN=My SPC" -a sha256 -cy end -sky signature -ic MyCA.cer -iv MyCA.pvk -sv MySPC.pvk MySPC.cer
它与上面几乎相同,但我们提供了发行者密钥和证书(-ic和-iv交换机)。
我们还想将证书和密钥转换为PFX文件:
pvk2pfx -pvk MySPC.pvk -spc MySPC.cer -pfx MySPC.pfx
如果要保护PFX文件,请添加-po开关,否则PVK2PFX会创建一个没有密码短语的PFX文件。
使用证书签名代码
signtool sign /v /f MySPC.pfx /t http://timestamp.url XXXe.exe
(看看为什么时间戳可能很重要)
我:后面的其实不用执行,到这里就可以了,http那里填后文的url或者自行寻找一个
如果将PFX文件导入证书存储区(可以使用PVKIMPRT或MMC管理单元),则可以按如下方式对代码进行签名:
signtool sign /v /n "Me" /s SPC /t http://timestamp.url XXXX.exe
一些可能的时间戳URL signtool /t是:
http://timestamp.verisign.com/scripts/timstamp.dllhttp://timestamp.globalsign.com/scripts/timstamp.dllhttp://timestamp.comodoca.com/authenticode
完整的Microsoft文档
signtool
makecert
pvk2pfx
下载
对于那些不是.NET开发人员的人,您需要一份Windows SDK和.NET框架。此处提供了当前链接:SDK和.NET(安装makecert C:\Program Files\Microsoft SDKs\Windows\v7.1)。你的旅费可能会改变。
MakeCert可从Visual Studio命令提示符获得。Visual Studio 2015确实拥有它,它可以从Windows 7的“开发人员命令提示符VS 15”或“VS2015 x64 Native Tools命令提示符”(可能所有这些都在同一文件夹中)的“开始”菜单中启动。
如何在Windows上为代码签名创建自签名证书相关推荐
- 如何在Windows上创建,解压,更新.tar.gz压缩包
Linux上常用的压缩包格式是.tar.gz..tar.gz文件的创建过程有两步.首先把文件打包到tar文件中,然后用gzip压缩tar文件.这里分享下如何在Windows上创建,解压,更新.tar. ...
- 如何在Windows上使用Git创建一个可执行脚本?
长话短说,今天介绍如何在windows上使用Git上创建一个可执行的shell脚本. " 首先我们要知道windows上Git默认添加的文件权限是:-rw-r--r--(对应权限值是644) ...
- 如何在 Windows 上安装多个 MySQL,实现 MySQL 跨电脑移植使用
如何在 Windows 上安装多个 MySQL,实现 MySQL 跨电脑移植使用 初次安装 MySQL 移植使用 附录 其它 MySQL 命令 查看本 MySQL 数据存放目录 MySQL 的各种其它 ...
- 如何在Windows上运行Redis?
如何在Windows上运行Redis? Redis下载页面似乎只提供* nix选项. 我可以在Windows上本地运行Redis吗? #1楼 MS Open Tech最近提供了Redis版本,可以在G ...
- windows 安装php_如何在Windows上安装PHP
windows 安装php We've previously shown you how to get a working local installation of Apache on your W ...
- 如何在 Windows 上的 VirtualBox 中安装 macOS Big Sur
[手把手]如何在 Windows 上的 VirtualBox 中安装 macOS Big Sur 零.软件环境前提准备 一.准备安装 1.在您的计算机上安装 VirtualBox 软件.之后,单击您下 ...
- 零基础如何在windows上进行JAVA开发
文章目录 前言 一.JDK安装 1.什么是JRE和JDK 2.下载JDK 2. 配置环境变量 二.下载和使用 intellij idea 1.进入官网下载 2.配置 intellij idea 3.代 ...
- 【腾讯云 Finops Crane 集训营】 如何在Windows上快速搭建一个Kubernetes+Crane 环境及应用
一.前言 个人主页: ζ小菜鸡 大家好我是ζ小菜鸡,让我们一起学习在 Windows 如何快速搭建一个Kubernetes+Crane 环境及应用. 如果文章对你有帮助.欢迎关注.点赞.收藏(一键三连 ...
- 如何在Windows上做Python开发?微软出了官方教程(附链接)
来源:机器之心 本文附教程,建议阅读5分钟. 本文为你分享微软最近发布的关于在Windows上做Python开发的一系列官方教程. 在Windows上做Python开发太痛苦?微软最近发布了一系列官方 ...
最新文章
- 怎么知道 网站是否直接明文保存密码_忘记账号密码 浏览器记住了 怎么找回密码?...
- 基于特征的对抗迁移学习论文_lt;EYD与机器学习gt;迁移学习:PTL选择式对抗网络...
- 分布式系统的面试题7
- WIF - claims-based identity
- 【从零入门 Web 前端】HTML5 + CSS 简明教程
- 数据结构-单链表实现
- pycharm的updating indices
- 收集常用的Linux常用命令
- Bash脚本报错:“/bin/bash^M: bad interpreter: No such file or directory”
- Python二叉树的三种深度优先遍历
- 子集和数问题——回溯法(C++)
- 六安瓜片在51CTO【礼树迎蛇 红满社区】
- JAVA回形数的实现
- “间谍”软件克星Ad-Aware
- numpy——flat与flatten
- pink-css标签
- python实时语音转写_实时语音转写 API 文档
- 阿里云移动热修复Sophix问题汇总
- Python回归分析五部曲(三)—一元非线性回归
- 惠斯特电桥平衡条件的证明
热门文章
- 作战效能评估系统模型
- 系统开发建设要经过哪些流程?
- java将office文档,word,ppt,pdf文档转换成swf文件在线预览
- 【Skynet】开始创建服务的代码流程
- 1253寻找肇事司机
- Git, GitHub使用记录
- 微型计算机结构框图,微型计算机系统结构图.doc
- 【超实用】在微信文章中点击号码直接拨打电话,轻松运营~
- java hdms_网盘预研 - ZICK_ZEON的个人空间 - OSCHINA - 中文开源技术交流社区
- Siney's BLOG - 我也来分析魔兽世界-场景组织