Linux中阶—加密库OpenSSL(四)

  • Post author:
  • Post category:linux



在使用OpenSSL命令创建证书前,可查看配置文件/etc/pki/tls/openss.conf文件,查看该文件定义了的证书存放位置及名称。


一、server生成证书文件。


1


、生成私钥:openssl genrsa -out server.key 2048


2


、查看私钥内容:



openssl rsa -noout -text -in server.key


3


、使用私钥生成证书基本概要:openssl req -new -key server.key -out server.csr -subj “/C=CN/ST=Jiangxi/L=Nanchang/O=vihoo/OU=QITU/CN=www.qitu.com”(或者使用-config openssl.cnf模板创建概要)


4


、查看概要内容:openssl req -noout -text –in server.csr  #概要信息包含:1S0国家代码(两位字符)、所在省份、所在城市、公司名称、部门名称、SSL证书的域名、公钥等


5


、如果交给权威机构来做,我们只需要提交server.csr与相关费用就好了,下面我们使用自建的CA颁发证书。


二、自建CA认证生成数字证书。


首先为CA提供所需的目录及文件,并指明证书的开始编号:


mkdir -pv /etc/pki/CA/{certs,crl,newcerts}


touch /etc/pki/CA/{serial,index.txt}


echo 01 > /etc/pki/CA/serial


#


随后生成私钥,注意私钥的文件名及其存放的位置,需与配置文件中相匹配:


1


、生成私钥:openssl genrsa -out ca.key 2048


2


、使用私钥生成证书基本概要:openssl req -new -key ca.key -out ca.csr -subj “/C=CN/ST=Jiangxi/L=Nanchang/O=vihoo/OU=QITU/CN=www.ca.com”


3、通过证书概要生成根证书(包含CA 公钥信息):openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt -days 3650(如果是权威机构,会将证书内置浏览器、或者开源的SDK中,我们自己创建的,浏览器会提示证书不可信任,需要自己手动点击信任与安装证书。)


4


、使用根证书与根私钥加密 server的证书基本概要,生成server证书:

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

-days 3650

三、client生成证书文件(双向认证前提下使用)。

openssl genrsa -out client.key 2048

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

openssl ca

-days 3650

-cert ca.crt -keyfile ca.key -in client.csr -out client.crt


四、

生成pem格式证书:

有时需要用到pem格式的证书,可以用以下方式合并证书文件(crt)和私钥文件(key)来生成

cat client.crt client.key> client.pem

cat server.crt server.key > server.pem

五、查看证书信息


查看证书详情:openssl x509 -in server.crt -text -noout


查看证书部分信息:openssl x509 -in /etc/pki/CA/server.crt -noout -serial -dates -subject


-noout:不输出加密的证书内容;


-serial:输出证书序列号;


-dates:显示证书有效期的开始和终止时间;


-subject:输出证书的subject;

通过私钥生成公钥:openssl rsa -in server.key -pubout -out server_public.key

通过证书提取公钥:openssl_master x509 -in server.crt -pubkey –noout > server_public.key

上一篇:

Linux中阶—日志归档logroutate(三)

下一篇:

Linux中阶—超文本加密协议https(五)



版权声明:本文为qq_30654043原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。