OpenSSL生成证书详解 如何使用OpenSSL生成自签证书 转载

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

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

    一,前言加密

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

            需求:.net

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

    二,准备工做server

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

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

    三,实战ssl

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

            2,设置环境变量

                OPENSSL_HOME = D:\MySoftware\OpenSSL-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