openssl自建CA证书(亲验证)

1 篇文章 0 订阅
  
1. 准备
     1) 在 工作目录 下新建目录 demoCA、demoCA/private、demoCA/newcerts( 工作目录:/home/userName )
    2) 在demoCA建立一个空文件 index.txt
    3) 在demoCA建立一个文本文件 serial, 没有扩展名,内容是一个合法的16进制数字,例如 0000
    4) 配置环境变量PATH,加入%JAVA_HOME%/bin( 如果安装了多个版本的jdk,最好暂时都在环境变量中去掉,只保留一个 )
    5) 修改openssl.cnf文件,将生成目录切换到我们自己新建的工作目录中;
        dir = /home/userName/demoCA # Where everything

   
2. 生成CA签名证书(在命令终端,将目录切换到/home/userName/demoCA,一直在该目录下操作
    openssl req -new -x509 -keyout ca.key -out ca.cer -days 3650
    req命令表示创建证书,new参数表示创建私钥而不是从已存在的文件中读取。
    输入证书信息时,Country Name填入CN,Common Name输入单位名称,即最后显示的颁发者。
    执行完之后,生成ca.key 和ca.cer文件

   
3.  生成server端待签证书
        1)  首先要生成服务器端的私钥(key文件):
        openssl genrsa -des3 -out server.key 1024
        运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!
        去除key文件口令的命令:
        openssl rsa -in server.key -out server.key

        2) 生成csr(cer)证书
            openssl req -new -key server.key -out server.csr
        生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.( 输入common name时,要和服务器的域名保持一致,test.baidu.com, )

   
4. 用生成的CA证书对服务器端的证书进行签名
        openssl ca -in server.csr -out server.cer -cert ca.cer -keyfile ca.key
          在签名时,如果报“The stateOrProvinceName field needed to be the same in the CA certificate”,是因为在openssl.cnf中的policy_match里面        的前三个都选了match,修改成 
        stateOrProvinceName = optional  
        organizationName = optional  
就可以了








  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值