Nginx-PHP 证书应用步骤
来源:互联网 发布:崩坏学园2淘宝初始号 编辑:程序博客网 时间:2024/05/16 06:21
目录:
1、设置环境
2、建立CA
3、建立Web Server证书
4、建立用戶证书
5、配置NGINX 服务器
6、其它
1、设置环境
mkdir CA
cd CA
mkdir -p {private,newcerts}
touch index.txt
echo 01 > serial
配置文件: /etc/pki/tls/openssl.cnf
[ policy_match ]
countryName = optional
stateOrProvinceName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
其他配置详解见参考:http://www.openssl.org/docs/apps/x509v3_config.html
2、建立CA
---------------------------------------------------
STEP 1:生成RSA密钥
-----------------------
openssl genrsa -out ca.key 1024
这个命令会生成一个1024位的密钥,如果需要在KEY使用時進行加密,可加上des3參數
openssl genrsa -des3 -out ca.key 1024
STEP 2:ca.csr:CA請求文件 【内部发行CA证书可省略此步骤】
-----------------------
openssl req -new -key ca.key -out ca.csr
这个命令将会生成一个证书请求,你可以拿着这个文件去数字证书颁发机构(即CA)申请一个数字证书。CA会给你一个新的文件cacert.pem,那才是你的数字证书,内部应用一般用STEP 3的方式直接产生。
STEP 3:ca.crt:認證中心證書
-----------------------
openssl req -new -x509 -keyout ca.key -out ca.crt -days 3650
这个是CA证书,天数一般会设大一些
3、建立Web Server证书
---------------------------------------------------
STEP 1:、創建key
openssl genrsa -out server.key 1024
STEP 2:证书请求
openssl req -new -key server.key -out server.csr
Common Name: 网站域名 (这个一定要填对,不然在IE还会有安全提示)
STEP 3:用CA证书进行签名
openssl ca -in server.csr -cert ca.crt -keyfile ca.key -out server.crt
STEP 4:、合并证书文件(crt)和私钥文件(key),产生证书链
cat server.crt server.key > server.pem
4、從【認證中心】發行所有WEB用戶的個人證書
---------------------------------------------------
STEP 1:、創建KEY
openssl genrsa -out user.key 1024
STEP 2:、req
openssl req -new -key user.key -out user.csr
Common Name: benero
STEP 3:、crt文件
openssl ca -in user.csr -cert ca.crt -keyfile ca.key -out benero.crt
STEP 4:、證書
openssl pkcs12 -export -clcerts -in user.crt -inkey user.key -out user.p12
5、配置NGINX服务器
STEP 1:、nginx ssl配置
server
{
include http.types;
listen 443;
server_name 域名;
ssl on;
ssl_certificate /etc/pki/CA/private/server.pem;
ssl_certificate_key /etc/pki/CA/private/server.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
ssl_verify_client on;
ssl_client_certificate /etc/pki/CA/private/ca.crt;
ssl_verify_depth 1;
index index.php index.shtml index.htm index.html;
root /var/www/html/;
access_log /var/log/www/access.log access;
}
STEP 2: 添加ssl變量
/usr/local/nginx/conf/fcgi.conf
fastcgi_param SSL_VERIFIED $ssl_client_verify;
fastcgi_param SSL_DN $ssl_client_s_dn;
fastcgi_param SSL_PROTOCOL $ssl_protocol;
fastcgi_param SSL_CIPHER $ssl_cipher;
上面的變量設置后,在PHP利用 $_SERVER 可以找到證書相關信息
STEP 3:nginx 重啟
/usr/local/nginx/sbin/nginx -s reload
6、其它
-- 利用JAVASCRIPT将CA证书添加到【IE受信任的根证书颁发机构】
-- 发行WEB SERVER的脚本
參考網站:
Nginx模块参考手册中文版
http://www.queryer.cn/DOC/nginxCHS/index.html
Nginx之https 客户端ssl验证(双向认证)的配置&&用php实现证书登陆
http://blog.cheemer.org/?p=151
- Nginx-PHP 证书应用步骤
- Nginx 配置 SSL 证书步骤小记
- Nginx+Mysql+php 安装步骤
- centos6.3安装nginx php mysql步骤
- Centos6.3编译安装nginx+php步骤
- FreeBSD+nginx+php+fcgi配置步骤(…
- HTTPS证书验证流程及SSL证书生成步骤【附nginx开启https配置】
- Nginx tomcat SSL证书与Https应用部署
- windows下安装nginx、php及Postgresql的步骤
- centos 配置nginx php-fpm mysql 环境步骤
- Ubuntu Linux配置Nginx+MySQL+PHP+phpMyAdmin详细步骤
- CentOS 6.4+nginx+php+mysql详细设置步骤
- nginx去掉index.php 只需2个步骤。
- 安装证书步骤
- WCF建证书步骤
- 证书、描述文件步骤
- nginx安装SSL证书
- nginx安装ssl证书
- spring任务调度方法之JDK Timer
- 一些常用的定义文件
- 用UIAutomation识别UI元素(四)
- 堆栈的超链接
- 简明CallBack 教程
- Nginx-PHP 证书应用步骤
- php自定义模板练习
- Java线程入门教程 详细
- vb.net
- mysql 中insert ignore into 使用ignore来忽略错误
- WebKit – WebKit For Android
- 在CentOS中Header V3 DSA signature: NOKEY 的解决办法
- java 反射 总结
- 使用CTime的一些注意点