一聚教程网:一个值得你收藏的教程网站

热门教程

CentOS系统openssl 签发证书示例

时间:2022-06-30 19:16:24 编辑:袖梨 来源:一聚教程网


第一步:先建立一个 CA 的证书,
首先为 CA 创建一个 RSA 私用密钥,
       #cd /etc/pki/CA
#openssl genrsa -des3 -out ca.key 1024
(由于windows系统下的ssl_module不支持加密密钥,使用openssl genrsa -out ca.key 1024)
系统提示输入 PEM pass phrase,也就是密码,输入后牢记它。
生成 ca.key 文件,将文件属性改为400。
#chmod 400 ca.key
你可以用下列命令查看它的内容,
#openssl rsa -noout -text -in ca.key
 
利用 CA 的 RSA 密钥创建一个自签署的 CA 证书(X.509结构)
#openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
然后需要输入下列信息:
Country Name: CN  //两个字母的国家代号
State or Province Name: Guangdong //省份名称
Locality Name: Guangzhou //城市名称
Organization Name: //公司名称
Organizational Unit Name:  //部门名称
Common Name:  //你的姓名
Email Address:  //Email地址
生成 ca.crt 文件,将文件属性改为400。
#chmod 400 ca.crt
你可以用下列命令查看它的内容,
#openssl x509 -noout -text -in ca.crt
 
第二步:下面要创建服务器证书签署请求,
#openssl genrsa -des3 -out server.key 1024
(同上windows下使用openssl genrsa -out server.key 1024)
这里也要设定pass phrase。
生成 server.key 文件,将文件属性改为400。
#chmod 400 server.key
你可以用下列命令查看它的内容,
#openssl rsa -noout -text -inserver.key
 
用 server.key 生成证书签署请求 CSR.
#openssl req -new -key server.key-out server.csr
这里也要输入一些信息,和CA中的内容类似。
至于 'extra' attributes 不用输入。
“Common Name: Chen Yang 你的姓名”这条信息请你输入你的服务器的域名或者IP地址
你可以查看 CSR 的细节
#openssl req -noout -text -inserver.csr
 
第三步:下面可以签署证书了
#openssl ca -config /etc/pki/tls/openssl.cnf -days 3650 -cert ca.crt -keyfile ca.key -in server.csr -out server.crt
注意需要手动创建一个CA目录结构
      └─ etc
            └─ pki
           └─CA
                 ├─newcerts
                 ├─index.txt
                 ├─serial 
在CA中建立 index.txt 空文件, serial文件 , serial文件中可输入01
否则运行这个命令会出错:I am unable to access the ./CA/newcerts directory....
 
将文件属性改为400,并放在安全的地方。
#chmod 400 server.crt

第四步:生成客户端证书
生成客户私钥:
       #openssl genrsa -des3 -out client.key 1024
生成客户证书
       #openssl req -new -key client.key -out client.csr
签证:
       ##openssl ca -config /etc/pki/tls/openssl.cnf -days 3650 -cert ca.crt -keyfile ca.key -in client.csr -out client.crt
转换成pkcs12格式,为客户端安装所用
       #openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.pfx

热门栏目