zoukankan      html  css  js  c++  java
  • makecert 制作数字证书

    在MS的SDK6.0中有个证书生成工具makecert.exe, 你可以使用这个工具来生成测试用的证书。

    第一步,生成一个自签名的根证书(issuer,签发者)。

    >makecert -n "CN=Root" -r -sv RootIssuer.pvk RootIssuer.cer

    这个时候,会弹出提示框,首先给RootIssuer.pvk文件设置私钥保护口令;

    然后,再次输入这个口令用私钥(在RootIssuer.pvk文件中)来给公钥(在RootIssuer.cer文件中)签名(自签名)。

    第二步,使用这个证书签发一个子证书(使用者,subject)。

    >makecert -n "CN=Child" -iv RootIssuer.pvk -ic RootIssuer.cer -sv ChildSubject.pvk ChildSubject.cer

    此时,会弹出提示框先给这个子证书的私钥文件ChildSubject.pvk设置保护口令;

    然后,输入这个子证书的私钥(在ChildSubject.pvk中)口令来获取子证书的公钥(在ChildSubject.cer中)。

    (pvk里面一般存储rsa算法结构,可以分别获取公钥和私钥)

    接下来会提示输入根证书私钥(在RootIssuer.pvk中)口令来签发子证书(公钥和用户信息)。

    如果你还要签发更多的子证书,类似的,使用这个证书来签发再下层的证书,前提是ChildSubject证书也可以用于签发(作为Issuer)用途。

    备注:

    (1)如果你需要一个交互证书,用于安全通信,那么,加入选项 -sky exchange

    (2)如果你需要一个签名证书来签发证书或者二进制文件,那么,加入选项 -sky signature.

    (3)如果你需要一个客户端证书来标志你的身份,或者个人信息保护(电子邮件),那么,选项-n 中的E字段是不可缺少的。

    举例:-n "CN=公司名称, E=E-MAIL地址, O=组织名称, OU=组织单位, C=国家, S=省份(州),  P=县城"

    (4)如果使用openssl的小工具来生成证书可以参考

    http://blog.csdn.net/hacode/article/details/43834825

    其他辅助工具:

    1)公钥证书格式转换成SPC。 cert2spc.exe

    >cert2spc TestRoot.cer TestRoot.spc

    .spc 意思是 软件发布者证书(Software Pulisher Cerificate).

    2)将公钥证书和私钥合并成一个PFX格式的证书文件。pvk2pfx.exe

    >pvk2pfx -pvk TestRoot.pvk -spc TestRoot.spc -pfx TestRoot.pfx

    输入TestRoot.pvk的保护口令来合并.pvk和.spc文件,如果你不设置即将合并出来的TestRoot.pfx的保护口令的话,这个保护口令和输入文件TestRoot.pvk的保护口令一样。(备注:直接从cer文件也可以,不一定要得到SPC文件).

    3)签名工具。signtool.exe

    二进制文件数字签名.为了保证二进制文件的完整性,数字签名是一个好的方法。

    以下命令启动一个有图形界面的文件签名工具向导:

    >signtool wizard

    以下是命令行方式的签名:

    >signtool  sign /f "pfx文件的全路径" /p "pfx文件的保护口令" /t "http://timestamp.verisign.com/scripts/timstamp.dll" /d "本次签名的描述" "被签名的程序的全路径"

  • 相关阅读:
    如何解决python连接数据库编码问题(python传数据到mysql乱码)'ascii' codec can't encode _mysql_exceptions.OperationalError: (1366, "Incorrect string value:?
    git 和 github 链接
    python 链接 redis 失败 由于目标计算机积极拒绝,无法连接
    假设检验,alpha,p值 通俗易懂的的理解。
    python 爬虫学习之路
    SQL邮件服务(解决各种疑难杂症)+案例 + 使用SQLserver 邮件系统发送SQL代理作业执行警告
    使用tomcat,不能连接localhost/8080的解决办法
    制作R中分词的字典的办法
    Windos 下python2.7安装 pymssql 解决方案
    R语言做相关性分析
  • 原文地址:https://www.cnblogs.com/aiqingqing/p/4503051.html
Copyright © 2011-2022 走看看