linux下利用openssl来实现证书的颁发(详细步骤)--转载和修改
原文地址:http://www.cnblogs.com/firtree/p/4028354.html
linux下利用openssl来实现证书的颁发(详细步骤)
1、首先需要安装openssl,一个开源的实现加解密和证书的专业系统。在centos下可以利用yum安装。
2、openssl的配置文件是openssl.cnf,我们一般就是用默认配置就可以。如果证书有特殊要求的话,可以修改配置适应需求。这样必须把相关的文件放到配置文件指定的目录下面。
3、首先需要利用openssl生成根证书,以后的服务器端证书或者客户端证书都用他来签发,可以建立多个根证书,就像对应不同的公司一样
#生成根证书的私钥
openssl genrsa -out /home/lengshan/ca.key
(用openssl创建CA证书的RSA密钥(PEM格式):
openssl genrsa -des3 -out ca.key 1024 )
#利用私钥生成一个根证书的申请,一般证书的申请格式都是csr。所以私钥和csr一般需要保存好
openssl req -new -key /home/lengshan/ca.key -out /home/lengshan/ca.csr
#自签名的方式签发我们之前的申请的证书,生成的证书为ca.crt
openssl x509 -req -days 3650 -in /home/lengshan/ca.csr -signkey /home/lengshan/ca.key -out /home/lengshan/ca.crt
#为我们的证书建立第一个序列号,一般都是用4个字符,这个不影响之后的证书颁发等操作
echo FACE > /home/lengshan/serial
#建立ca的证书库,不影响后面的操作,默认配置文件里也有存储的地方
touch /home/lengshan/index.txt
#建立证书回收列表保存失效的证书
openssl ca -gencrl -out /home/lengshan/ca.crl -crldays 7
已上就完成了根证书的相关操作,下一步可以颁发证书了。
4、生成和签发服务器身份验证证书,注意证书是自签名的,浏览器会提示不受信任
#建立服务器验证证书的私钥
openssl genrsa -out /home/lengshan/server.key
#生成证书申请文件
openssl req -new -key /home/lengshan/server.key -out /home/lengshan/server.csr
#利用根证书签发服务器身份验证证书
openssl ca -in /home/lengshan/server.csr -cert /home/lengshan/ca.crt -keyfile /home/lengshan/ca.key -out /home/lengshan/server.crt
至此,服务器端身份认证证书已经完成,可以利用证书和私钥生成pfx格式的证书给微软使用,命令如下:
openssl pkcs12 -export -clcerts -in /home/lengshan/server.crt -inkey /home/lengshan/server.key -out /home/lengshan/server.p12
5、签发客户端身份认证证书
#生成私钥
openssl genrsa -des3 -out /home/lengshan/users/1/1.key 1024
#生成证书请求文件
openssl req -new -key /home/lengshan/users/1/1.key -out /home/lengshan/users/1/1.csr
#签发证书
openssl ca -in /home/lengshan/users/1/1.csr -cert /home/lengshan/ca.crt -keyfile /home/lengshan/users/1/1.crt
#生成pfx格式
openssl pkcs12 -export -clcerts -in /home/lengshan/users/1/1.crt -inkey /home/lengshan/users/1/1.key -out /home/lengshan/users/1/1.p12
客户端证书完成,注意如果在web服务器上使用客户端证书,需要在web服务器上使用根证书对客户端进行验证,切记!
6、x509转换为pfx
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12 7、How to Convert PFX Certificate to PEM Format for SOAP
$ openssl pkcs12 -in test.pfx -out client.pem Enter Import Password: MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase:
注释:1、证书的主题名称(Subject)在Internet中是唯一的。此字段必须是非空的,除非在扩展项中使用了其他的名字形式。
p12格式的证书和pfx格式的证书是一样的。
2、上述操作的过程中,根据错误提示创建相应的文件夹和文件,移动文件到指定的目录
3、使用openssl进行证书格式转换
数字证书资料cer和pfx的区别
数字证书文件cer和pfx的区别
作为文件形式存在的证书一般有这几种格式:
1.带有私钥的证书
由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名。
2.二进制编码的证书
证书中没有私钥,DER 编码二进制格式的证书文件,以cer作为证书文件后缀名。
3.Base64编码的证书
证书中没有私钥,BASE64 编码格式的证书文件,也是以cer作为证书文件后缀名。
由定义可以看出,只有pfx格式的数字证书是包含有私钥的,cer格式的数字证书里面只有公钥没有私钥。
在pfx证书的导入过程中有一项是“标志此密钥是可导出的。这将您在稍候备份或传输密钥”。一般是不选中的,如果选中,别人就有机会备份你的密钥了。如果是不选中,其实密钥也导入了,只是不能再次被导出。这就保证了密钥的安全。
如果导入过程中没有选中这一项,做证书备份时“导出私钥”这一项是灰色的,不能选。只能导出cer格式的公钥。如果导入时选中该项,则在导出时“导出私钥”这一项就是可选的。
如果要导出私钥(pfx),是需要输入密码的,这个密码就是对私钥再次加密,这样就保证了私钥的安全,别人即使拿到了你的证书备份(pfx),不知道加 密私钥的密码,也是无法导入证书的。相反,如果只是导入导出cer格式的证书,是不会提示你输入密码的。因为公钥一般来说是对外公开的,不用加密
转载于:https://www.cnblogs.com/shengulong/p/5935447.html
linux下利用openssl来实现证书的颁发(详细步骤)--转载和修改相关推荐
- linux配置文件密码加密工具,Linux下利用openssl对文件进行加密和解密
转载地址:http://hi.baidu.com/edeed/item/99206a096b62d0e1ff240db8 --建立文件test.txt, 特意写入中英文# cd /tmp # echo ...
- crt证书linux使用,linux下使用openssl生成https的crt和key证书
x509证书一般会用到三类文,key,csr,crt Key 是私用密钥openssl格,通常是rsa算法. Csr 是证书请求文件,用于申请证书.在制作csr文件的时,必须使用自己的私钥来签署申,还 ...
- openssl生成证书linux,Linux下使用openssl生成证书
利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件. 证书文件的生成步骤: ...
- linux开机自启动python脚本_Linux下Python脚本自启动和定时启动的详细步骤
一.Python开机自动运行 假如Python自启动脚本为 auto.py .那么用root权限编辑以下文件: sudo vim /etc/rc.local 如果没有 rc.local 请看 这篇文章 ...
- python脚本自动运行失败_Linux下Python脚本自启动和定时启动的详细步骤
一.Python开机自动运行 假如Python自启动脚本为 auto.py .那么用root权限编辑以下文件: sudo vim /etc/rc.local 如果没有 rc.local 请看 这篇文章 ...
- python程序开机自启动_Linux下Python脚本自启动和定时启动的详细步骤
一.Python开机自动运行 假如Python自启动脚本为 auto.py .那么用root权限编辑以下文件: sudo vim /etc/rc.local 如果没有 rc.local 请看 这篇文章 ...
- linux 运行ca.crt,linux下使用openssl生成 csr crt CA证书,opensslcsr
linux下使用openssl生成 csr crt CA证书,opensslcsr 本文主要借鉴和引用了下面2个地址的内容,然后在自己的机器上进行了测试和执行,并做了如下记录. ref: http:/ ...
- Linux下使用OpenSSL生成证书
Linux下使用OpenSSL生成证书 安装OpenSSL 直接用apt或者yum安装即可 生成服务器端的私钥(key文件) $ openssl genrsa -des3 -out server.ke ...
- linux下使用openssl和md5sum加密文件或者字符串
linux下使用openssl和md5sum加密文件或者字符串 前言 1 用oppnssl md5 加密字符串和文件的方法 1.1 oppnssl md5 加密字符串的方法 a.手动输入命令及过程如下 ...
最新文章
- 智能提示导致Visual Studio 2010崩溃问题
- Mac OS X下查看CPU信息
- java多个mapreduce_java – 在hadoop中运行多个MapReduce作业
- Linux DNS视图脑裂的实例操作(四)
- 关于java中很多人用get()和set()方法,而不用public的一点总结
- 软件质量与测试 黑盒测试
- 软件测试必读的七本书
- 美丽的回测 —— 教你定量计算过拟合概率
- c语言 面试前必备基础知识
- android基础知识1
- Hive 内部表和外部表
- codeforces A. Parity
- python爬虫英文单词_利用PYTHON 爬虫爬出自己的英语单词库
- 京东VC后台自动批量上传主图 大聪明自动传主图 c# selenium网页自动化传图
- 天池数据竞赛docker提交操作学习
- pattern和match的用法 java篇
- android免root读写u盘最新方法,支持安卓Q+
- 答题小程序为何那么火?
- 对接支付宝手机网站支付接口,alin10071
- 复选框checkbox实现批量删除