OpenSSL 生成服务器及客户端证书

1.下载OpenSSL 

    windows版的下载地址为:http://www.slproweb.com/products/Win32OpenSSL.html

2.安装及配置

  •     安装OpenSSL 。
  •     将OpenSSL.exe所在路径添加到环境变量中。
  •     修改openssl.cfg文件中的dir属性值 ,用于存放生成的证书文件。

3.随机数文件(.rand)

openssl rand -out .rand 1000

   rand 随机数命令, -out 输出文件路径,1000 指用来生成伪随机字节数。

4.根证书私钥

openssl genrsa -aes256 -out ca.key 2048
  •  genrsa  产生rsa密钥命令。
  •  -aes256 使用AES算法(256位密钥)对产生的私钥加密。
  •  -out  输出路径。
  •  2048 密钥的长度位数(默认长度为512位)。
  • 回车后显示Enter pass phrase for ca.key,此时输入ca.key私钥。

5.根证书签发申请

openssl req -new -key ca.key -out ca.csr -subj "/C=CN/ST=BJ/L=BJ/O=ZLEX/OU=zlex/CN=*.ZLEX.ORG"
  • req  产生证书签发申请命令。
  • -new  新请求
  • -key  密钥,ca.key文件
  • -out  输出路径
  • -subj  指定用户信息,这里使用泛域名"*.zlex.org"作为用户名。
  • 回车后显示Enter pass phrase for ca.key,输入ca.key私钥。

    得到根证书生签发申请之后,可以将其发送给CA机构签发,也可以自行签发根证书。

6.签发根证书

openssl x509 -req -days 10000 -sha1 -extensions v3_ca -signkey ca.key -in ca.csr -out ca.cer
  • x509  签发X.509格式证书命令
  • -req  表示证书输入。
  • days  表示有效。
  • -sha1 表示证书摘要算法,这里为SHA1。
  • -extensions  表示按openssl配置文件v3_ca项添加。
  • -signkey   表示自签名。
  • -in    表示输入文件。
  • -out   表示输出文件。
  • 回车后显示Enter pass phrase for ca.key,输入ca.key私钥。

7.服务器证书私钥

openssl genrsa -aes256 -out server.key 2048

    回车后显示Enter pass phrase for server.key,输入server.key私钥。

8.服务器证书签发申请

openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=BJ/L=BJ/0=zlex/OU=zlex/CN=www.zlex.org"

    回车后显示Enter pass phrase for server.key,输入server.key私钥。

9.签发服务器证书

openssl x509 -req -days 3650 -sha1 -extensions v3_req  -CA  ca.cer -CAkey ca.key  -CAserial ca.srl  -CAcreateserial -in server.csr -out server.cer

    回车后显示Enter pass phrase for ca.key,输入ca.key私钥。

10.客户端证书私钥

openssl genrsa -aes256 -out client.key 2048

    回车后显示Enter pass phrase for client.key,输入client.key私钥。

11.客户端证书签发申请

openssl req -new -key client.key  -out client.csr -subj "/C=CN/ST=BJ/L=BJ/0=zlex/OU=zlex/CN=zlex"

    回车后显示Enter pass phrase for client.key,输入client.key私钥。

12.签发客户端证书

openssl ca -days 3650 -in client.csr  -out client.cer -cert ca.cer -keyfile ca.key

   回车后显示 Enter pass phrase for ca.key,输入ca.key私钥。

你可能感兴趣的:(C#)