zoukankan      html  css  js  c++  java
  • OpenSSL生成证书详解 如何使用OpenSSL生成自签证书 转载

    原文:http://my.oschina.net/fajar/blog/425478

    使用OpenSSL生成自签证书(亲测)

        一,前言

                读过我博客的小伙伴儿都知道,我一般在前言里面会提到为什么写这篇博客,这次的理由是:公司让我写个证书与商业合作伙伴在交换数据时进行签名和加密。

                需求:

                    生成一对 RSA 钥匙,公钥采用 X。509 进行加密,私钥采用 PKCS8 进行加密, 字节长度为 1024

        二,准备工作

                1,下载OpenSSL在window 7下的安装包,可以从我网盘下载 http://pan.baidu.com/s/1jGJ3EtC

                2,下载OpenSSL执行命令时需要提供的配置文件,参考本人网盘 http://pan.baidu.com/s/1jG06KFs

        三,实战

                1,执行OpenSSL的安装程序,例如我安装在 D:MySoftwareOpenSSL-Win64

                2,设置环境变量

                    OPENSSL_HOME = D:MySoftwareOpenSSL-Win64 (你需要把地址替换你安装文件夹)

                    Path = Path + ; + OPENSSL_HOME (在配环境变量时一定要注意 ;)

                3,创建一个你将用来创建证书的目录,例如我的是 F:Test

                4,文件和目录补齐(如果不补齐在自签证书时会报找不到文件的错)

                      在你创建证书的目录下,手动创建如下文件(文件作用附加在文件名后面)

                          index.txt  OpenSSL在创建自签证书时会向该文件里写下索引

                          database.txt  OpenSSL会模拟数据库将一些敏感信息写在该文件里

                          serial.txt  创建该文件后,请编辑在第一行写下 01

                      注意: 这里提到的所有文件必须补齐,并且文件名不得更改 !

                5,开始敲命令吧

                    a,生成 CA 根证书,做签名使用的,因为我们是自己给自己签名嘛!

                        openssl genrsa -des3 -out root.key 1024

                        这个时候会让你输入两次根证书的密码,根证书嘛肯定是要保密的

                        

                    b,生成 CA 的自签证书

                        openssl req -new -x509 -key root.key -out root.crt -days 365 -config openssl.conf

                        

                        这个时候会让你输入一些组织信息,请记住,你现在输入的信息和你接下来要签名的信息一致

                        

                    c,同样的道理生成服务器端私钥

                        openssl genrsa -out server.key 1024

                        

                    d,生成服务器端签名请求文件

                        openssl req -new -key server.key -out server.csr -config openssl.conf

                        

                        同样会让你输入一个组织信息,记得跟根证书一致

                e,利用 CA 进行签名证书

                      openssl ca -in server.csr -out server.crt -keyfile root.key -cert root.crt -days 365 -config openssl.conf

                      到底我们的证书生成完成!但是有些格式不是我们需要的,请看接下俩格式转换

           6,常用格式转换

                a,得到 pfx 格式的私钥

                      openssl pkck12 -export -out server.pfx -inkey server.key -in server.crt

                b,从pfx文件中分离出 cer 格式的公钥

                     openssl x509 -inform pem -in server.crt -outform der -out server_public.cer

        三,总结

            留下文章让自己有个参考,欢迎大家一起交流! QQ : 690649714

  • 相关阅读:
    千万不要死于无知—几条健康忠告(一)
    2006中国大学生最佳雇主TOP50排行榜(转)
    chromedriver与chrome版本映射表(最新)
    selenium自动化测试学习(一)
    selenium自动化测试——常见的八种元素定位方法
    作业1
    快速搭建属于自己的数据库——mongodb
    通过express搭建自己的服务器
    我的前端之路
    分享ES6中比较常用又强大的新特性
  • 原文地址:https://www.cnblogs.com/asingna/p/5188944.html
Copyright © 2011-2022 走看看