精华内容
下载资源
问答
  • 完全免费的Windows代码签名证书 代码签名有什么用? 2.如何自己创建代码签名证书? 2.1.需要准备的工具 2.2.开始制作 2.2.1.制作证书 2.2.2.解决证书不受信任 2.2.3.给 .exe .cab .dll .ocx等文件进行数字签名 ...

    本文目录

    完全免费的Windows代码签名证书

    1. 代码签名有什么用?

    2.如何自己创建代码签名证书?

    2.1.需要准备的工具

    2.2.开始制作

    2.2.1.制作证书

    2.2.2.解决证书不受信任

    2.2.3.给 .exe .cab .dll .ocx等文件进行数字签名

    2.2.4.让程序在别的电脑上运行的时候,防止数字签名失效

    1. 代码签名有什么用?

    对于我们来说,代码签名的作用也就是在UAC和运行程序时的界面稍微好看一点,看上去更高大上一点。

    对于Windows应用程序的开发人员和软件厂商来说,代码签名可以减少应用程序的错误信息并提高应用程序的的可信度。 软件厂商和个体开发商可对他们通过互联网分销的软件进行数字签名并盖上时间戳, 该数字签名确保了最终用户知道该软件是合法的, 来自知名的软件厂商并且该程序代码字自发行以来就没有被篡改过。

    但是在bd里随便一搜,发现所有的代码签名服务都是付费的

    甚至还有一些的价格…

    这种价格实在是让大多数朋友无法接受。

    于是,我们就萌生了自己创建代码签名证书的想法。

    闲话少聊,我们直接说正事。

    2.如何自己创建代码签名证书?
    2.1.需要准备的工具
    制作自己的代码签名证书需要的工具有:

    cert2spc.exe
    makecert.exe
    signcode.exe
    certmgr.exe
    某盘链接:传送门 提取码: 324d(有金币的大佬如果愿意就在我的CSDN下载中送我几个C币呗)

    2.2.开始制作
    2.2.1.制作证书
    首先,以管理员权限运行cmd,cd进工具所在的目录(我的工具所在的目录是D:\cert)

    cd /d D:\cert
    然后,用makecert.exe开始制作证书

    makecert.exe -sv root.pvk -ss SubjectName -n “CN=Dounick,E=Email,C=China,S=Hubei” -r root.cer
    这行命令会创建root.pvk和root.cer两个文件,其中CN表示您的组织或公司的名称,这个公司名称会显示在UAC界面上,E表示您的电子邮箱,C表示国家,S表示省份。把SubjectName替换成您证书的储存名称(其实也就是您的组织或公司的名称)

    这个时候会弹出一个提示框,在这个提示框中设置您的密码,这个密码一定要记住,后面还需要用到。密码设置完成后就点击OK,如果不需要密码可以直接点None表示没有密码。

    密码设置完成以后,会弹出另一个窗口,在这个窗口中重新输入刚刚设置好的密码,点击OK即可。

    回到cmd窗口,看到上面显示Succeeded即表示操作成功,就可以在makecert.exe所在的目录下找到root.pvk和root.cer

    在正常情况下打开root.cer的界面是这样的:

    图中的Dounick就是前面命令中的CN

    这时我们的证书会被认为是不受信任的证书,但是不要紧,我们继续回到cmd,执行下面的命令:

    cert2spc.exe root.cer root.spc
    同样,出现Succeeded的字样就说明命令执行成功。这条命令会根据刚刚生成好的root.cer转换成root.spc。.spc文件是PKCS#7证书,可以直接使用signcode.exe对可执行文件进行数字签名,但是系统提示证书不受信任该怎么办呢?

    2.2.2.解决证书不受信任
    回到cmd命令行,输入以下命令:

    certmgr.exe -add -c root.spc -s -r localMachine root
    注意,在执行这行命令的时候,360可能会报毒,直接允许就可以了。命令执行完成后,双击打开root.spc:

    2.2.3.给 .exe .cab .dll .ocx等文件进行数字签名
    双击打开signcode.exe,如图,注意是signcode.exe,不是signtool.exe

    选择需要进行数字签名的应用(注意,在点击下一步之前,一定要确定选中的文件没有运行,并不是只读文件,否则程序会报错)

    然后选中自定义,点击下一步:

    接着选择我们之前准备好了的root.spc文件:

    然后选择之前准备好的私钥文件,即root.pvk

    接下来选择加密算法,默认就好

    下一步也无需修改,默认就好

    然后填写您应用程序的标题,这里填写的标题将会作为UAC几面的标题。

    下面填写时间戳服务URL,可以忽略,也可以填写以下几个URL中的一个:

    http://timestamp.digicert.com
    http://timestamp.entrust.net/TSS/RFC3161sha2TS
    http://timestamp.globalsign.com
    http://rfc3161timestamp.globalsign.com/advanced
    http://sha256timestamp.ws.symantec.com/sha256/timestamp
    http://timestamp.wosign.com/rfc3161
    http://timestamp.comodoca.com/rfc3161
    http://tsa.starfieldtech.com
    http://tsa.swisssign.net
    http://timestamp.entrust.net/TSS/AuthenticodeTS
    http://timestamp.globalsign.com/scripts/timstamp.dll
    http://timestamp.verisign.com/scripts/timstamp.dll
    http://timestamp.wosign.com/timestamp
    http://timestamp.comodoca.com/authenticode

    完成数字签名向导,在弹出的提示框里再次输入之前设置好的密码,这次一定不能输错,不然就要重新开始数字签名向导了。

    这个时候再以管理员权限运行刚刚数字签名过的程序,就发现UAC界面有变化了,说明自制代码签名证书成功

    2.2.4.让程序在别的电脑上运行的时候,防止数字签名失效
    如果证书不受信任,数字签名就不会起作用,UAC界面就不会更改,我们的证书是自己给自己颁发的,所以会被Windows默认分配到”不受信任的证书颁发者“中,也就是说,只有别人把我们制作的证书安装到了“受信任的证书颁发者“中,数字签名才会在别的电脑上生效,那我们不妨就在别人运行您的程序之前偷偷地把我们的证书安装到电脑上,具体步骤见下:

    创建config.bat,内容如下:

    @echo off
    mshta vbscript:msgbox(“请关闭一切杀毒软件并授予Windows命令处理程序管理员权限,即允许Windows命令处理程序具对您的设备进行更改,否则操作可能会失败!”,64+4096,“证书操作”)(window.close)
    %1 %2
    mshta vbscript:createobject(“shell.application”).shellexecute("%~s0",“goto runas”,“goto notadmin”,“runas”,1)(window.close)&&exit

    :runas
    cd /d %~dp0
    setlocal enabledelayedexpansion
    certmgr.exe -add -c root.spc -s -r localMachine root>>%temp%\config.tmp
    for /f “delims=” %%a in (%temp%\config.tmp) do (set var=%%a)
    echo %var% | find “CertMgr Failed” > NUL && goto no
    echo %var% | find “CertMgr Succeeded” > NUL && goto yes
    del /f /q %temp%\config.tmp

    :no
    del /f /s %temp%\your.app.name.key
    cls
    mshta vbscript:msgbox(“证书导入失败,请尝试重新关闭杀毒软件并以管理员权限运行此脚本!”,64+4096,“证书操作”)(window.close)
    exit

    :yes
    echo CertMgr Succeeded>>%temp%\your.app.name.key
    mshta vbscript:msgbox(“证书导入成功!”,64+4096,“证书操作”)(window.close)
    exit
    config.bat注意事项以及使用方法:

    如果文件%temp%\your.app.name.key存在,即表示证书导入成功,否则证书导入失败
    在config.bat所在目录下需要有事先准备好的root.spc以及开始前下载好的certmgr.exe

    这就是我们制作完全免费的代码签名证书的全部过程,我希望可以把我的个人经验分享给大家,请大家多多指教,望大神勿喷…

    展开全文
  • 代码签名目前分为标准代码签名和EV扩展型代码签名,两者的相同点都是对企业组织进行更有效验证,针对32位或64位可移植可执行文件...标准代码签名证书 标准代码签名只需要验证申请企业的基本信息、税务信息,验证成功后

    代码签名目前分为标准代码签名和EV扩展型代码签名,两者的相同点都是对企业组织进行更有效验证,针对32位或64位可移植可执行文件进行数字签名,通过对代码的数字签名可以减少软件下载时弹出的安全警告,保证代码完整性和不被恶意篡改及传播,EV代码签名相较标准代码签名最大的区别是支持Windows 10内核驱动文件签名和消除SmartScreen筛选器安全提醒。

    下面SSL盾小编www.ssldun.com为您介绍下二者区别。

    标准代码签名证书

    标准代码签名只需要验证申请企业的基本信息、税务信息,验证成功后通过邮件等形式通常针对32/64位应用程序进行签名,防止各类杀毒软件的误报。

    EV扩展型代码签名证书

    EV代码签名证书除了验证企业的基本信息、税务信息外,还对企业的经营地址、申请人身份进行审查,区别于标准代码签名的重要特点是支持Windows 10内核驱动文件签名和消除SmartScreen筛选器安全提醒,此外EV代码签名针对内核模式的驱动文件需要进行微软的交叉签名,关于交叉签名使用请参考:Windows 10内核驱动签名注意事项。具体二者的主要区别如下

    关于双签名

    目前默认的证书签名算法都是sha-256,通过申请的证书可以使用工具进行双签名,给应用程序或驱动签名的摘要算法就是sha1和sha256,但签发的证书本身签名算法是sha-256,可以通过所以在旧版的操作系统中会出现驱动类文件不兼容。目前在旧版操作系统的内核驱动签名不支持单证书双签名,普通应用程序则支持单证书双签名。

    对于内核驱动签名,如果要实现双签名,例如同时在Windows 7 和 Windows 10 上运行,Windows 10则要求使用sha-256的签名算法创建签名,但是Windows 7的内核驱动签名则需要使用sha-1来实现。也就是说对于内核驱动的签名,需要同时购买EV代码签名证书和标准签名证书来实现内核驱动的双签名。对于普通的应用程序可以使用一张证书来双签名实现兼容性。

    展开全文
  • 代码签名证书是ssl数字证书的一种,只不过这种ssl证书是专为软件开发者设置的证书。主要对软件等可执行程序及脚本进行数字认证服务,保护软件代码不被恶意篡改,同时在客户下载软件时可以显示开发者信息,显得更为...

    代码签名证书是ssl数字证书的一种,只不过这种ssl证书是专为软件开发者设置的证书。主要对软件等可执行程序及脚本进行数字认证服务,保护软件代码不被恶意篡改,同时在客户下载软件时可以显示开发者信息,显得更为可靠。OV代码签名证书和EV代码签名证书都可以保护软件代码,但还是有很多不同之处。

    1.验证等级不同。OV代码签名证书只需要验证企业的真实性就可以申请成功,但是EV代码签名证书比OV代码签名证书的审查要严很多,不仅要验证企业真实性还需要验证申请人的身份等信息。

    2.申请成功后代码签名证书的发放形式不同。OV代码签名证书申请成功后是以邮件的形式发放给申请者,而EV代码签名证书事宜USB的形式邮寄给申请者的。发放形式不同,但是都可以对无限的软件进行签名。

    3.还有一个是EV代码签名证书特有的对windows10内核驱动文件签名功能,而OV代码签名证书还没有这一功能。

    代码签名证书虽然都是可以保护代码安全,但是EV 代码签名证书的功能比OV 代码签名证书的功能要多,安全性上也有很大改进,不过对于一般开发者来说,普通的OV代码签名证书也是够用的。

    而对于开发者来说,OV代码签名证书就可以满足大多数的开发工作需求了,一个代码签名证书在有效期签发的程序是不限量的,这大大降低了程序发行的成本。

    展开全文
  • 同时代码签名证书颁发厂商也不再颁发SHA-1的证书。但由于部分Windows7系统(未开启自动升级),并不支持SHA-2代码签名机制(可安装系统补丁来解决此问题),使得使用SHA2证书签名的文件并不能通过Windows的校验机制,...

    由于自2021年微软宣布弃用SHA-1算法的代码签名,而采用新的SHA-2算法代码签名。SHA-1 签名内容要停用 | Microsoft Docs

     

    同时代码签名证书颁发厂商也不再颁发SHA-1的证书。但由于部分Windows7系统(未开启自动升级),并不支持SHA-2代码签名机制(可安装系统补丁来解决此问题),使得使用SHA2证书签名的文件并不能通过Windows的校验机制,从而程序无法正常运行。

    另外针对内核代码,需要双证书签名,使用SHA-2证书和微软同时签名。开发者使用SHA-2证书签名内核后,还需要将签名后的驱动提交到Windows 硬件开发者中心,获取Windows的数字签名后驱动才能正常运行。

    为了降低程序测试阶段,频繁发布导致的数字签名,可以使用makecert生成自签的代码签名证书。

    为了方便使用,本人将生成自签代码证书、签名代码、安装/卸载根证书分别集成为批处理脚本。

    1.批处理脚本

    make_codesign_cert.bat

    @rem 生成代码签名证书
    @rem August 2021-5-25
    @set CUR_PATH=%~dp0
    
    @set CERT_NAME=AugustCodeSign.cer
    @set KEY_NAME=AugustCodeSign.pvk
    @set PFX_NAME=AugustCodeSign.pfx
    @set PASSWORD=123456789
    @set CERTCN_NAME=August CodeSign Root CA
    
    @cd "%CUR_PATH%"
    @%CUR_PATH%\tools\makecert.exe /n "CN=%CERTCN_NAME%" /r /eku "1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.13" /sv "%KEY_NAME%" "%CERT_NAME%"
    @%CUR_PATH%\tools\pvk2pfx.exe /pvk "%KEY_NAME%" /pi "%PASSWORD%" /spc "%CERT_NAME%" /pfx "%PFX_NAME%"
    @copy /Y "%CERT_NAME%" "%CUR_PATH%\install\"
    
    @pause

    make_sign.bat

    @rem 给sign目录下的文件签名
    @rem xiejianjun 2021-5-25
    @set CUR_PATH=%~dp0
    
    @set PFX_NAME=AugustCodeSign.pfx
    @set PASSWORD=123456789
    
    @cd "%CUR_PATH%"
    @if not exist %CUR_PATH%\%PFX_NAME% @(
    	@echo "NOT found %PFX_NAME%! Use make_codesign_cert.bat to generate."
    	@pause
    	@exit /B 2
    )
    
    @for %%i in (%CUR_PATH%\sign\*) do @(
    	@%CUR_PATH%\tools\signtool.exe sign /v /f %PFX_NAME% /p "%PASSWORD%" %%i
    	@rem %CUR_PATH%\tools\signtool.exe sign /v /f %PFX_NAME% /p "%PASSWORD%" /t http://timestamp.digicert.com %%i
    	@rem 校验数字签名(需要安装自签证书到系统install_codesign_cert.bat)
    	@rem %CUR_PATH%\tools\signtool.exe verify /kp /v %%i
    )
    
    @pause

    install_codesign_cert.bat

    @rem 安装代码签名根证书到系统
    @rem August 2021-5-25
    @set CUR_PATH=%~dp0
    
    @set CERT_NAME=AugustCodeSign.cer
    
    @cd "%CUR_PATH%"
    @bcdedit  /set  testsigning  on
    @%CUR_PATH%\..\tools\certmgr.exe /add "%CUR_PATH%\%CERT_NAME%" /s /r localMachine root
    @rem %CUR_PATH%\..\tools\certmgr.exe /add "%CUR_PATH%\%CERT_NAME%" /s /r localMachine trustedpublisher
    @set /p var="reboot?(yes/no)"
    @if /i "%var%" == "yes" @(
    	@shutdown /r /t 0
    	@exit /B 0
    )
    
    @pause

    2.生成证书

    运行make_codesign_cert.bat,弹出以下界面,输入自签证书私钥文件(AugustCodeSign.pvk)的保护口令,

    再次输入保护口令,使用私钥签名生成的证书(AugustCodeSign.cer)。

    最后会用pvk2pfx.exe将证书和私钥打包成pfx格式。

    3.签名代码

    将需要签名的文件(exe、dll、sys)放到sign目录中,运行make_sign.bat脚本。

    4.安装根证书

    使用install_codesign_cert.bat脚本将生成的AugustCodeSign.cer安装到系统中,系统可正常校验通过签名的代码。

    脚本和工具包下载地址:CodeSignCertUtil.zip-其它文档类资源-CSDN下载

    展开全文
  • 现如今,各大知名证书品牌的代码签名证书竞争越来越激烈,如高性价比的Sectigo,全球互联网安全领域的领导者品牌的Digicert,以及世界级高安全性的Entrust。那么不同的代码签名证书到底有什么区别呢?这里小编会为...
  • 代码签名证书由权威CA机构验证软件开发者身份后签发,让软件开发者可以使用代码签名证书,对其开发的软件代码进行...代码签名证书按照验证级别的不同,分为单位代码签名证书和EV代码签名证书。按证书用途不同,又可
  • 什么是代码签名证书代码签名证书是一种数字签名技术,允许软件开发者对其可执行脚本、代码和内容进行签名,以通过Internet验证开发者的身份。通过提供32位和64位的数字签名,代码签名证书能够向软件开发者和消费...
  • VeriSign 代码签名证书产品及服务 VeriSign代码签名证书就是您软件代码的有效身份证!全球数十家安全防护软件开发商均支持VeriSign代码签名证书。使用VeriSign代码签名证书,并提交签名到各安全防护软件开发商,...
  • 昨日,微软在Windows 硬件开发人员中心(获取代码签名证书)栏目,向全球Windows开发者推荐买沃通(WoSign)标准型(OV)代码签名证书和增强型(EV)代码签名证书用于数字签名各种代码(包括Windows 10内核签名和微软徽标认证...
  • 代码签名证书区别 1. comodo thawte symantec代码签名证书仅支持SHA2(SHA256)加密算法 2. digicert代码签名证书支持SHA1和SHA2(SHA256)加密算法 3.功能方面几乎没区别,comodo不支持中文公司名,需要翻译为英文,...
  • 根据CA/B Forum 关于代码签名的指南规定,从2021年1月1日之后 ,将停止颁发SHA1算法代码签名证书、EV代码签名证书和停止SHA1算法时间戳服务。 **变化或影响** ① 自2020年12月1日起,将不再支持申请、重颁发或...
  • Windows 开发人员中心硬件仪表板的代码签名证书当前有两种类型的代码签名证书可用:标准代码签名证书1、提供标准级别的身份验证2、需要较短的处理时间以及较低的成本3、可用于除 LSA 和 UEFI 文件签名服务之外的所有...
  • DigiCert EV代码签名证书具有普通内核代码签名证书的所有功能,但不同的是采用更加严格国际标准扩展验证(EV验证),并且有严格的证书私钥保护机制--必须采用 USB Key来保护签名证书的私钥,以防止证书被非法盗用,...
  • 还需要用此代码签名证书来签名Java JAR文件而编写,如果您还没有签名工具,请到SUN公司网站免费下载:http://java.sun.com/j2se/,推荐下载JDK1.4.2或以上版本,支持Solaris SPARC/x86, Linux86 和 Windows 操作系统...
  • 微软EV代码签名证书

    2015-08-26 08:47:49
    沃通WoSign EV代码签名证书(多用途版)今日正式上线!   EV代码签名证书具有普通内核代码签名证书的所有功能,但不同的是采用更加严格国际标准扩展验证(EV验证),并且有严格的证书私钥保护机制--必须采用 USB ...
  • 根据CA/B Forum 关于代码签名的指南规定,从2021年1月1日之后 ,将停止颁发SHA1算法代码签名证书、EV代码签名证书和停止SHA1算法时间戳服务。 变化或影响 1、自2020年12月1日起,将不再支持申请、重颁发或续费SHA1...
  • 代码签名证书是一种数字签名技术,可以为软件...并且缺少代码签名证书的软件在安装时,Windows等操作系同平台会弹出软件不安全的提示。安装后在电脑端下载软件时会显示开发者名称,使客户对软件信任度增加。 ...
  • 而当客户在下载软件时,都会担心软件是否安全,是否是恶意软件或病毒,而使用代码签名证书可使用户放心。 什么是代码签名证书代码签名证书是提供给软件开发者,对其开发的软件代码进行数字签名的数字证书,用于...
  • EV代码签名证书

    2015-08-28 09:40:00
    EV代码签名证书具有普通内核代码签名证书的所有功能,但不同的是采用更加严格国际标准扩展验证(EV验证),并且有严格的证书私钥保护机制--必须采用 USB Key来保护签名证书的私钥,以防止证书被非法盗用,确保签名证书...
  • 代码签名证书种类

    2014-12-31 14:18:27
    不同品牌的代码签名证书种类也不相同,其中代码签名证书种类最全的是美国的VeriSign代码签名证书,基本满足了绝大多数的应用需求。VeriSign代码签名证书共分5种: 1.微软代码签名证书(Microsoft Authenticode ...
  • 什么是EV 代码签名证书

    千次阅读 2020-03-30 16:02:35
    EV代码签名证书是指扩展验证代码签名证书,具有标准代码签名证书的所有功能,能签名内核代码,不同的是采用更加严格国际标准扩展验证(Extended Validation:EV验证),并且有严格的证书私钥保护机制--必须采用 USB ...
  • 1.首先创建根证书 (1)生成私钥 openssl genrsa -aes256 -out root.key 2048 然后输入私钥密码 生成root.key文件 (2)生成证书请求(注:颁发者最好别用中文,以免乱码) openssl req -new -key root.key ...
  • 代码签名证书FAQ

    2011-10-26 15:32:33
    代码签名证书产品: 1. 驱动代码如何做数字签名? 驱动代码签名分为内核驱动和硬件驱动。 如果希望Windows直接允许安装驱动程序而没有任何警告,并且Vista / Windows7下可以通过联网自动更新最新的硬件驱动...
  • 微软代码签名证书使用指南(SignTool)

    千次阅读 2018-11-29 15:09:15
    Windows内核代码签名证书:https://www.wosign.com/Products/WoSign_Kernel_CodeSigning.htm ...本使用指南演示如何使用 WoSign微软代码签名证书 来给Windows平台代码签名,签名工具为WDK自带的...
  • WoSignWindows内核代码签名证书( WoSign Code Signing Certificate for Windows Kernel Signing)使得软件开发者能对其开发的 Windows 内核软件代码进行数字签名,包括Windows Vista, Windows 7, Windows 2008 server...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,802
精华内容 6,320
关键字:

windows代码签名证书