• 数字签名(以ActiveXDemo为例)


    1.创建Install.inf文件和run.bat

    Install.inf:

    [version]
    
    signature="$CHICAGO$"
    
    AdvancedINF=2.0 
    
    
    [Setup Hooks]
    
    HOOKRUN1=HOOKRUN1
    
    
    [Deployment]
    
    
    InstallScope=user
    
    
    [HOOKRUN1]
    
     
    run=%EXTRACT_DIR%
    un.bat

    run.bat:

    set CURDIR=%cd%
    
    msiexec.exe /i "%CURDIR%ActiveXDemo.Setup.msi" /qn

     2.创建cab文件(下载cabsdk.exe,加压之后需要其中的cabarc.exe---打包)

    F:ProjectsActiveXDemoCABARC.EXE N 
    F:ProjectsActiveXDemoActiveXDemo.cab
    F:ProjectsActiveXDemoActiveXDemo.Setup.msi
    F:ProjectsActiveXDemoInstall.inf F:ProjectsActiveXDemo un.bat

    注释:将canarc.exe、ActiveXDemo.Setup.ms、Install.inf和run.bat保存到同一目录,进入cmd执行上面的命令,将ctiveXDemo.Setup.ms、Install.inf和run.bat打包成ActiveXDemo.cab文件

    3.在网上下载signtool.rar并解压,进入DOS系统,通过cd命令进入到解压后的文件夹下面(“cd %path%signtool”),并将刚才生成的ActiveXDemo.cab拷贝到当前m目录下

    4.创建证书文件

    进入到上面的目录后,输入以下命令:

    makecert -sv ActiveXDemo.pvk -r -n "CN=SunStar" ActiveXDemo.cer

    利用MakeCert生成一个 证书.cer和一个私钥.pvk,同时创建私钥和公钥

    5.转换证书

    cert2spc ActiveXDemo.cer  ActiveXDemo.spc

    用Cert2Spc将.cer文件转换成为PKCS #7软件发布Certificate(.spc文件)

    6.创建另外一个自签名证书,叫test.cer

    makecert -sv test.pvk -r -n "CN=SunStar" test.cer
    
    cert2spc test.cer test.spc

    7.从test.cer创建test.ctl文件

    makectl test.cer test.ctl

    8. 用ActiveXDemo.pvk和ActiveXDemo.spc这两个文件给test.ctl作数字签名

    signcode -v ActiveXDemo.pvk -spc ActiveXDemo.spc test.ctl

    9. 把test.ctl移动到受信系统存储区(管理证书)

    certmgr -add -ctl test.ctl -s trust 

    10. 把ActiveXDemo.cer移动到根系统存储区

    certmgr -add -c ActiveXDemo.cer -s root    

    11. 用test.pvk和test.spc给ActiveXDemo.cab作数字签名(将证书部署到.cab)

    singcode -v test.pvk -spc test.spc  ActiveXDemo.cab

    12. 检查文件是否通过验证(检查部署证书后的.cab是否正确)

    chktrust ActiveXDemo.cab

    13.如果文件通过了数字签名检测,系统会询问是否安装这个文件,这时候一定要选择安装,整个签名过程才能完成。

    (8-11类似于图形化的运行signcode.exe进行数字签名向导)

  • 相关阅读:
    不忘初心,方得始终
    【读书笔记】Windows核心编程
    工作心得
    2015年随记
    微信开发的黑魔法
    [cssTopic]浏览器兼容性问题整理 css问题集 ie6常见问题【转】
    获取微信用户openid
    Spring Boot应用开发起步
    一种在Java中跨ClassLoader的方法调用的实现
    H5语义化标签
  • 原文地址:https://www.cnblogs.com/ytwy/p/5034577.html
Copyright © 2020-2023  润新知