OpenSSL 命令建立自己的自签CA服务

发布时间:2018/7/19 13:52:10 打印 字号:

互联网上面的数字证书产品现在越来越多,根据用途证书级别也分为三类:服务器SSL证书、客户端证书(PDF、EMAIL、身份认证证书)、代码签名证书等。通过国际WebTrust认证的CA可以签发受浏览器和操作系统信任数字证书产品。当然是要通过付费才可以获得;如果是企业内部使用,就没有必要花这个冤枉钱了,而且安全可控,今天给大家展示建立一套自己的自建CA。


1、下载并安装OpenSSL:

通过这个地址来下载windows版的OpenSSL,linux下面就不再多说,比这个简单。下载地址:https://slproweb.com/products/Win32OpenSSL.html

2、生成Root根证书:

使用命令生产一个4096位的根root证书:

openssl genrsa -des3 -out root.key 4096

生成证书请求文件csr:

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

生成一个30年的根证书root.crt,其中秘钥用法我们已经写在了OpenSSL.cnf文件里面:

openssl x509 -req -days 10950 -sha256 -signkey root.key -in root.csr -out root.crt -extensions some_ext -extfile openssl.cnf

myca-01.png

3、生成中间证书intermediate证书:

制作中级证书csr请求文件:

openssl req -new -sha256 -key inermediate.key -out inermediate.csr

使用上面生成的根root证书来签发中级inermediate证书,命令:

openssl ca -days 7300 -in inermediate.csr -md sha256 -out inermediate.crt -cert root.crt -keyfile root.key -extensions some_ext -extfile openssl.cnf

4、生成三级用户证书:

制作csr请求文件:

openssl req -new -sha256 -key my.key -out my.csr

用上面生成的中级证书签发我们自己的证书:

openssl ca -days 365 -in my.csr -md sha256 -out my.crt -cert inermediate.crt -keyfile inermediate.key -extensions some_ext -extfile openssl.cnf

备注:openssl.cnf文件里面定义几个主要参数:秘钥用法、秘钥扩展型用法、证书备用名称和是否支持签发下级证书等,这个要在之前配置好。

下面是我签发好后的证书截图:

myssl-04.png

myssl-02.png