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

 一,前言

                经常写博客的小伙伴儿都知道,大家一般在前言里面会提到为什么写这篇博客,而我这篇博客

        主要是探讨OpenSSL自签名证书,用于对安全性要求比较高的商业活动。。

        二,探讨前景

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

        1024

        三,准备工作

                1,下载 OpenSSL 在 window 7 下的安装包,可以从我网盘下载如果下载地址失效了,

        大家有需要可以给我留言,我非常相信大家的找资源能力,但是我怕大家下载版本有问题后,

        按照我的方法不行,我怕被打!哈哈 https://yun.baidu.com/s/1gfPmtdL

                2,下载 OpenSSL 执行命令时需要提供的配置文,

                参考我的网盘 https://yun.baidu.com/s/1bo0bHMn

        四,开战

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

                2,设置环境变量

                        OPENSSL_HOME = D:\MySoftware\OpenSSL-Win64

                        (注意:这里你需要把地址替换你安装文件夹

                      Path = Path + ; + % + OPENSSL_HOME + % + \bin + ;

                        (在配环境变量时一定要注意最后一个 

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

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

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

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

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

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

                      certs 文件夹,目前没什么用,仅仅只是我配置文件这样写

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

                      将下载下来的 openssl.conf 文件拷贝到改目录下

                5,生成证书开始(在此过程中,我们假设自己就是专业的颁发证书的机构 CA)

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

                            生成 CA 根证书私钥

                                   genrsa    表示采用RSA算法生成根证书私钥

                                   -des3      表示使用3DES给根证书私钥加密

                                   1024       表示根证书私钥的长度,建议使用2048,越长越安全

                           openssl genrsa -des3 -out root.key 1024

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

                    Windows下使用OpenSSL生成自签证书(亲测)_第1张图片

                    b-1,生成根证书签名请求文件 .csr,如果你的根证书需要别的签名机构来签名,

        你就拿这个签名请求文件给他,让他们帮你签名,签名完后,他们会返回你一个 .crt 的证书,

        如果你是这样的做的,那你可以跳过 接下来的 c 步骤

                         openssl req -new  -key root.key -out root.csr

                         -key    这里需要指向我们上一步生成根证书私钥

                        -out    这里就会生成我们的根证书签名请求文件

                     c-1,生成 CA 的自签证书(如果我们自己扮演CA这个角色,那么签名请求文件就是我

        们上步产生的 root.csr

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

                    Windows下使用OpenSSL生成自签证书(亲测)_第2张图片

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

                    Windows下使用OpenSSL生成自签证书(亲测)_第3张图片

                    c-2,我们也可以直接使用 CA 根证书私钥来获得自签名的CA根证书

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

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

                    openssl genrsa -out server.key 1024

                    Windows下使用OpenSSL生成自签证书(亲测)_第4张图片

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

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

                    Windows下使用OpenSSL生成自签证书(亲测)_第5张图片

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

                   f,利用 CA 进行签名证书

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

            -config openssl.conf

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

           6,常用格式转换

                   a,得到 pfx 格式的私钥,密钥算法为 pkcs12

                   openssl pkcs12 -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

你可能感兴趣的:(安全)