自做CA自签发SSL证书 https
来源:互联网 发布:小意思tpo for mac 编辑:程序博客网 时间:2024/04/30 12:37
SSL
Created Tuesday 16 October 2012
自做CA自签发SSL证书
http://www.crsr.net/Notes/Apache-HTTPS-virtual-host.html
http://wiki.cacert.org/VhostTaskForce
首先自建CA证书
对于只是测试用途或者应急的话,完全可以自己给自己签发证书
- 为你的CA创建一个RSA私钥(三DES加密并且是PEM格式):
备份并且记住你输入的访问密码。通过以下的命令可以查看私钥的详细信息:
$ openssl rsa -noout -text -in ca.key
你也可以创建一个非加密的PEM格式的私钥:
$ openssl rsa -in ca.key -out ca.nopass.key
- 创建一个自签名的证书文件(X.509 结构,输出为PEM格式):
通过以下的命令查询:
$ openssl x509 -noout -text -in ca.crt
然后自建server证书
生成服务器私钥:
[root@win ssl.crt]# openssl genrsa -des3 -out server.key 1024
生成服务器证书请求
[root@win ssl.crt]# openssl req -new -key server.key -out server.csr
给server.csr 签证[root@h4-vm3 ssl]# ./sign.sh server.csr
你也可以创建一个非加密的PEM格式的私钥:
$ openssl rsa -in server.key -out server.nopass.key
openssl x509 -req -days 365 -in t.csr -CA ca.crt -CAkey ca.key -set_serial 000009 -out t.crt -extfile x.cnf -extensions v3_ca
最后自建client证书
生成客户私钥:
[root@win ssl.crt]# openssl genrsa -des3 -out client.key 1024
请求
[root@win ssl.crt]# openssl req -new -key client.key -out client.csr
给client.csr 签证
[root@h4-vm3 ssl]# ./sign.sh client.csr
把证书格式转换成pkcs12格式
[root@win ssl.crt]# openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.pfx
配置
将ca.crt 和 client.pfx 复制到 你的电脑上, 导入到浏览器的证书里面
client.pfx 导入到 个人证书
ca.crt 导入到 受信任的跟证书颁发机构里面
对于nginx
需要将server.crt 和 ca.crt 合并成一个文件
cat server.crt ca.crt > server.bundle.crt
然后在nginx 配置文件中添加配置
ssl_certificate_key /etc/pki/tls/private/server.nopass.key;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
对于httpd
#SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
#指定服务器证书key位置
SSLCertificateKeyFile /usr/local/apache/conf/ssl.crt/server.key
#证书目录
SSLCACertificatePath /usr/local/apache/conf/ssl.crt
#根证书位置
SSLCACertificateFile /usr/local/apache/conf/ssl.crt/cacert.pem
#开启客户端SSL请求
SSLVerifyClient require
SSLVerifyDepth 1
附加sign.sh
[root@h4-vm3 ssl]# cat sign.sh
#!/bin/sh
##
## sign.sh -- Sign a SSL Certificate Request (CSR)
## Copyright (c) 1998-1999 Ralf S. Engelschall, All Rights Reserved.
##
# argument line handling
CSR=$1
if [ $# -ne 1 ]; then
if [ ! -f $CSR ]; then
case $CSR in
# make sure environment exists
if [ ! -d ca.db.certs ]; then
if [ ! -f ca.db.serial ]; then
if [ ! -f ca.db.index ]; then
# create an own SSLeay config
cat >ca.config <<EOT
[ ca ]
default_ca = CA_own
[ CA_own ]
dir = /etc/ssl
certs = /etc/ssl/
new_certs_dir = /etc/ssl/ca.db.certs
database = /etc/ssl/ca.db.index
serial = /etc/ssl/ca.db.serial
RANDFILE = /etc/ssl/ca.db.rand
certificate = /etc/ssl/ca.crt
private_key = /etc/ssl/ca.key
default_days = 365
default_crl_days = 30
default_md = sha1
preserve = no
policy = policy_anything
[ policy_anything ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
EOT
# sign the certificate
echo "CA signing: $CSR -> $CERT:"
openssl ca -config ca.config -out $CERT -infiles $CSR
echo "CA verifying: $CERT <-> CA cert"
openssl verify -CAfile /etc/ssl//ca.crt $CERT
# cleanup after SSLeay
rm -f ca.config
rm -f ca.db.serial.old
rm -f ca.db.index.old
rm -rf ca.db*
# die gracefully
exit 0
- 自做CA自签发SSL证书 https
- 自做CA自签发SSL证书
- 用openssl自做CA自签发SSL证书
- docker login CA认证问题/添加自签发的 SSL 证书为受信任的根证书
- https ca 自签证书安装步骤
- openssl如何制作自签名的CA证书,及利用CA签发证书
- 自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书
- 自己制作ssl证书:自己签发免费SSL证书,为nginx生成自签名ssl证书
- openssl 自签发证书及ssl 原理简介(一)
- openssl自签发证书以及ssl原理简介(二)
- 使用自签发证书在IIS上搭建Https 站点
- 使用openssl生成自签CA证书,并用其签发其他证书
- Openssl+Keytool自签发证书
- CA加密,网络安全HTTPS SSL-ca证书
- 使用CA自签名证书搭建HTTPS网站
- TOMCAT使用CA签发证书配置单向和双向SSL
- TOMCAT使用CA签发证书配置单向和双向SSL
- CA证书自签详解
- 沈航组成原理作业——1
- PE文件格式解析 LUA版本,兼容32/64位
- 对象与方法
- 并行编程20-30
- 字节流与字符流
- 自做CA自签发SSL证书 https
- 网络营销推广的“三教九流”,你入了哪一流
- 计算器
- ios-新浪微博开发-24-字典转模型(1)
- MyBatis缓存
- 详解LMA(装载内存地址)与VMA(虚拟内存地址)
- hdoj 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(背包问题)
- 【转】详解CSS选择器、优先级与匹配原理
- hdoj2670Girl Love Value【01背包】