在linux(centos)使用openssl生成https证书并配置到nginx的实现过程
2016-07-31 11:37
921 查看
在测试的环境下,有时候还是需要自己给自己颁发https证书,此举可在linux下进行
首先进入到到我们自己在任意地方创建的文件夹;
然后就可以做如下操作了:
第一步,为服务器端和客户端准备公钥、私钥
第二步,生成 CA 证书
在执行第二步时会出现:
注意,这里的
然后
第三步,生成服务器端证书和客户端证书
在这里会提示找不到 server.csr,所以执行下:
生成服务器端证书签名请求文件(csr文件);
openssl req -new -key server.key -out server.csr
生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其 提示一步一步输入要求的个人信息即可(如:Country,province,city,company等).
此时,我们的 keys 文件夹下已经有如下内容了:
最后执行下
即可得到我们要的文件了
然后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
首先进入到到我们自己在任意地方创建的文件夹;
然后就可以做如下操作了:
生成密钥、证书
第一步,为服务器端和客户端准备公钥、私钥# 生成服务器端私钥 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.csr You are about to be asked to enter information that will be incorporated into 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 blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:CN State or Province Name (full name) [Some-State]:Zhejiang Locality Name (eg, city) []:Hangzhou Organization Name (eg, company) [Internet Widgits Pty Ltd]:My CA Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []:localhost Email 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
在这里会提示找不到 server.csr,所以执行下:
生成服务器端证书签名请求文件(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下Tomcat配置使用SSL双向认证(使用openssl生成证书)
- 原来win+apache实现ssl的证书认证如此简单 +使用openssl来生成CA证书、申请证书、颁发证书以及撤销证书的过程
- nginx中使用https时,证书的生成方式及配置
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
- 最新Https请求原理、OPenssl生成证书、nginx的https配置
- Mac 下Nodejs 使用 https 的过程以及使用openssl生成私钥、公钥和证书
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
- Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https? HTTP
- Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https? HTT
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
- nginx反向代理cas-server之2:生成证书,centOS下使用openssl生成CA证书(根证书、server证书、client证书)
- Linux下OpenSSL客户端中使用req命令来生成证书的教程
- CentOS6.5环境使用keepalived实现nginx服务的高可用性及配置详解
- CentOS6.5环境使用keepalived实现nginx服务的高可用性及配置详解
- 使用openssl来生成CA证书、申请证书、颁发证书以及撤销证书的过程
- Linux下使用openssl生成证书
- Linux下使用OpenSSL生成证书