在linux(centos)使用openssl生成https证书并配置到nginx的实现过程
来源:互联网 发布:mac地址修改器win8.1 编辑:程序博客网 时间:2024/06/05 06:11
在测试的环境下,有时候还是需要自己给自己颁发https证书,此举可在linux下进行
首先进入到到我们自己在任意地方创建的文件夹;
然后就可以做如下操作了:
生成密钥、证书
第一步,为服务器端和客户端准备公钥、私钥
# 生成服务器端私钥openssl genrsa -out server.key 1024# 生成服务器端公钥openssl rsa -in server.key -pubout -out server.pem# 生成客户端私钥openssl genrsa -out client.key 1024# 生成客户端公钥openssl rsa -in client.key -pubout -out client.pem
第二步,生成 CA 证书
# 生成 CA 私钥openssl genrsa -out ca.key 1024# X.509 Certificate Signing Request (CSR) Management.openssl req -new -key ca.key -out ca.csr# X.509 Certificate Data Management.openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt
在执行第二步时会出现:
➜ keys openssl req -new -key ca.key -out ca.csrYou are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [AU]:CNState or Province Name (full name) [Some-State]:ZhejiangLocality Name (eg, city) []:HangzhouOrganization Name (eg, company) [Internet Widgits Pty Ltd]:My CAOrganizational Unit Name (eg, section) []:Common Name (e.g. server FQDN or YOUR name) []:localhostEmail Address []:
注意,这里的 Organization Name (eg, company) [Internet Widgits Pty Ltd]:
后面生成客户端和服务器端证书的时候也需要填写,不要写成一样的!!!可以随意写如:My CA, My Server, My Client。
然后 Common Name (e.g. server FQDN or YOUR name) []:
这一项,是最后可以访问的域名,我这里为了方便测试,写成 localhost
,如果是为了给我的网站生成证书,需要写成 barretlee.com
。
第三步,生成服务器端证书和客户端证书
# 服务器端需要向 CA 机构申请签名证书,在申请签名证书之前依然是创建自己的 CSR 文件openssl req -new -key server.key -out server.csr# 向自己的 CA 机构申请证书,签名过程需要 CA 的证书和私钥参与,最终颁发一个带有 CA 签名的证书openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
生成服务器端证书签名请求文件(csr文件);
openssl req -new -key server.key -out server.csr
生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其 提示一步一步输入要求的个人信息即可(如:Country,province,city,company等).
# client 端openssl req -new -key client.key -out client.csr# client 端到 CA 签名openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in client.csr -out client.crt
此时,我们的 keys 文件夹下已经有如下内容了:
└── ssl ├── ca.crt ├── ca.csr ├── ca.key ├── ca.pem ├── ca.srl ├── client.crt ├── client.csr ├── client.key ├── client.pem ├── server.crt ├── server.csr ├── server.key └── server.pem
最后执行下
#openssl rsa -in server.key -out server_nopwd.key #openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt即可得到我们要的文件了
然后nginx部署
server {
listen 443 ssl;
server_name YOUR_HOST;
ssl_certificate server.crt;
ssl_certificate_key server_nopwd.key;
location / {
root html;
index index.html index.htm;
}
}
重启下nginx即可,当然这个是不受信任的了 本文内容亲测可行,需要的小伙伴们可以试试~
参考文章:http://www.2cto.com/Article/201510/444706.html
http://blog.chinaunix.net/uid-26760055-id-3128132.html
http://www.cnblogs.com/tintin1926/archive/2012/07/12/2587311.html
- 在linux(centos)使用openssl生成https证书并配置到nginx的实现过程
- 最新Https请求原理、OPenssl生成证书、nginx的https配置
- 【Nginx】nginx配置openssl 证书,https
- 使用OpenSSL生成证书-nginx
- 在客户端程序中使用OpenSSL来实现HTTPS在证书认证上的一些分析
- openssl生成https证书
- openssl生成https证书
- openssl生成https证书
- openssl生成https证书
- openssl生成https证书
- openssl生成https证书
- 使用openssl生成https协议证书
- HTTPS-Linux服务器Nginx配置、Android客户端证书生成
- openssl https openssl 证书生成
- OPENSSL https 证书的使用Demo(证书加密码)
- 使用OpenSSL生成证书,并且配置到tomcat,下载ipa
- Mac 下Nodejs 使用 https 的过程以及使用openssl生成私钥、公钥和证书
- 采用OpenSSL生成Https的证书CA
- 经典排序算法----堆与堆排序(不稳定)
- poj2377Bad Cowtractors
- 【Linux全面学习】12.修改系统启动级别
- C/C++中对象和变量的区别!!!
- KMP
- 在linux(centos)使用openssl生成https证书并配置到nginx的实现过程
- LoginFilter器
- light oj 1078 - Integer Divisibility
- vmwore unbuntu14.04 忘记开机密码
- C# 中字符串“1.0”和数据库中char(10)类型的字段值“1.0”比较。
- STL list(全部用法)
- hdu 1512 Monkey King 左偏树
- devsecops automation
- 第二章.一切都是对象之注释和嵌入式文档javaDoc