博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用OpenSSL命令行生成证书文件
阅读量:7254 次
发布时间:2019-06-29

本文共 1989 字,大约阅读时间需要 6 分钟。

用OpenSSL命令行生成证书文件

1.首先要生成服务器端的私钥(key文件):

openssl genrsa -des3 -out server.key 1024

运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!

去除key文件口令的命令:

openssl rsa -in server.key -out server.key

 

2.设置证书请求(csr文件)

openssl req -new -key server.key -out server.csr -config openssl.cnf

生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.

后面的-config 可以不加,也可以像“/etc/sbin/opensslcnf”加载路径。

然后需要输入下列信息:

Country Name: cn 两个字母的国家代号

State or Province Name: An Hui 省份名称

Locality Name: Bengbu 城市名称

Organization Name: Family Network 公司名称

Organizational Unit Name: Home 部门名称

Common Name: Chen Yang 你的姓名

Email Address: sunstorm@263.net Email地址

生成 ca.crt 文件,将文件属性改为400,并放在安全的地方

3.生成客户端的公钥:

openssl genrsa -des3 -out client.key 1024

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

 

4.自签发CA签名。CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱。

 openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf

 

5.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:

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

Openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

 

client使用的文件有:ca.crt,client.crt,client.key

server使用的文件有:ca.crt,server.crt,server.key

大体步骤就是这些,也可以利用某些工具

有一个工具可以使用:http://www.openssl.org/contrib/ssl.ca-0.1.tar.gz  步骤参见

生成密钥也可用keytool,生成私钥文件(.key)和签名请求文件(.csr),openssl签发数字证书,网址http://www.blogjava.net/duanzhimin528/archive/2010/06/22/324182.html

以下是自己理解的,不对的请留言,我好改正。

简单点理解就是创建私钥,通过私钥生成证书请求文件,自己或机构认证,签署证书,拷贝到服务器配置文件中生效。

         也可以服务器和客服端都认证,这就是某些密钥要生成两遍的原因,这样更安全,有点像支付宝安全插件。

openssl是加密程序的集合体,

apache产生http,及网页的浏览,你也可以用mini-http及https

mod-ssl是apache的插件,但是独立发行,他里面有一个sign.sh,在phg.contrib目录中,对openssl生成的私钥进行加密,也可用openssl自带的一个CA.sh来签证书。

 

顺便说一句openssl还是很强大的加密工具,相对密码学有深入理解的可以好好看看源代码。

本来是解决mini-http安装后,为什么不要输入密码就直接看到网页的问题,看了一天只弄清楚这个。mini-http问题求前辈指教。

 

转载于:https://www.cnblogs.com/zhouhbing/p/4048834.html

你可能感兴趣的文章
排球计分规则
查看>>
xml解析
查看>>
android分析之Condition
查看>>
创建单例的两种方法
查看>>
Mac上在github 搭建 octopress
查看>>
Elasticsearch增、删、改、查操作深入详解
查看>>
Cocos2d-x内存自动释放机制--透彻篇
查看>>
模板方法模式
查看>>
python实战===itchat
查看>>
[mybatis]Example的用法
查看>>
dSYM文件
查看>>
3D跑酷遇到的问题
查看>>
putty 、xshell的使用 和 putty 、xshell、 shell 间免密登陆
查看>>
项目管理之怒目相争,外行能不能领导内行做软件开发?
查看>>
扬帆起航,再踏征程(四)
查看>>
Objective-C基础笔记(2)@property和@synthesize
查看>>
Android系统开发(1)——GCC编译器的编译和安装过程
查看>>
详解Python模块导入方法
查看>>
mysql一些权限相关操作,数据库可以远程连接或者说用IP地址可以访问
查看>>
关于c#(vs)dategridview控件继承不能修改的问题
查看>>