利用openssl工具生成根证书及颁发子证书
2014-11-18 17:16
316 查看
参考自:http://zhtx168.blog.163.com/blog/static/41601548200812503248/
使用opensll工具来生证书过程如下:
一 ) 首先创建CA根证书
1) 生成RSA private key 给CA (3 DES 加密, PEM 格式):
$ openssl genrsa -des3 -out rootca.key 1024
2) 产生一个X509结构,PEM格式的自签名证书(当然也可以由CA机构签名)
$ openssl req -new -x509 -days 365 -key rootca.key -out rootca.crt
3) 查看该根证书的详细内容
$ openssl x509 -noout -text -in rootca.crt
4) 验证证书有效性
$ openssl verify -CAfile rootca.crt rootca.crt
第一个为根证书,第二个为需要验证的子证书,由于是自签名,相当于自己给自己颁发的证书。
二 ) 用根证书颁发子证书
1) 生成一个3DES 加密,PEM格式的RSA private KEY .
$ openssl genrsa -des3 -out user.key 1024
2) 产生证书签名请求文件(PEM格式)
$ openssl req -new -key user.key -out user.csr
3) 使用CA根证书签名
A 生成配置文件如下ca.config :
[ ca ]
default_ca=CA_own
[ CA_own ]
dir=C:/openssl/bin
certs=C:/openssl/bin
new_certs_dir=C:/openssl/bin //生成子证书的目录
database=C:/openssl/bin/index.txt //生成子证书后会更新内容到此文件
serial=C:/openssl/bin/serial.txt //子证书的序列号从此文件读取
certificate=C:/openssl/bin/rootca.crt //根证书
private_key=C:/openssl/bin/rootca.key //根证书的私钥
default_days=365
default_crl_days=30
default_md=md5
preserve=no
policy=policy_anything
[ policy_anything ]
countryName=optional
stateOrProvinceName=optional
localityName=optional
organizationName=optional
organizationalUnitName=optional
commonName=supplied
emailAddress=optional
B 执行如下命令来签名
openssl ca -config ca.config -out user.crt -infiles user.csr
4) 验证证书有效性
openssl verify -CAfile rootca.crt user.crt
用rootca.crt的公钥验证user.crt的签名是否合法。
使用opensll工具来生证书过程如下:
一 ) 首先创建CA根证书
1) 生成RSA private key 给CA (3 DES 加密, PEM 格式):
$ openssl genrsa -des3 -out rootca.key 1024
2) 产生一个X509结构,PEM格式的自签名证书(当然也可以由CA机构签名)
$ openssl req -new -x509 -days 365 -key rootca.key -out rootca.crt
3) 查看该根证书的详细内容
$ openssl x509 -noout -text -in rootca.crt
4) 验证证书有效性
$ openssl verify -CAfile rootca.crt rootca.crt
第一个为根证书,第二个为需要验证的子证书,由于是自签名,相当于自己给自己颁发的证书。
二 ) 用根证书颁发子证书
1) 生成一个3DES 加密,PEM格式的RSA private KEY .
$ openssl genrsa -des3 -out user.key 1024
2) 产生证书签名请求文件(PEM格式)
$ openssl req -new -key user.key -out user.csr
3) 使用CA根证书签名
A 生成配置文件如下ca.config :
[ ca ]
default_ca=CA_own
[ CA_own ]
dir=C:/openssl/bin
certs=C:/openssl/bin
new_certs_dir=C:/openssl/bin //生成子证书的目录
database=C:/openssl/bin/index.txt //生成子证书后会更新内容到此文件
serial=C:/openssl/bin/serial.txt //子证书的序列号从此文件读取
certificate=C:/openssl/bin/rootca.crt //根证书
private_key=C:/openssl/bin/rootca.key //根证书的私钥
default_days=365
default_crl_days=30
default_md=md5
preserve=no
policy=policy_anything
[ policy_anything ]
countryName=optional
stateOrProvinceName=optional
localityName=optional
organizationName=optional
organizationalUnitName=optional
commonName=supplied
emailAddress=optional
B 执行如下命令来签名
openssl ca -config ca.config -out user.crt -infiles user.csr
4) 验证证书有效性
openssl verify -CAfile rootca.crt user.crt
用rootca.crt的公钥验证user.crt的签名是否合法。
相关文章推荐
- 原来win+apache实现ssl的证书认证如此简单 +使用openssl来生成CA证书、申请证书、颁发证书以及撤销证书的过程
- 利用openssl生成证书详细过程
- 如何利用openssl为iis生成ssl服务器证书!
- linux下利用openssl来实现证书的颁发(详细步骤)
- 利用openssl生成证书
- C# RSA算法实现 - 利用openssl生成的证书 - 加密解密
- 利用JDK的keytool工具生成证书的DOS命令
- 【网络安全】如何使用OpenSSL工具生成根证书与应用证书
- 如何使用OpenSSL工具生成根证书与应用证书
- openssl生成服务器客户端秘钥已经颁发证书等配置命令
- 利用keytool/openSSL来生成服务器和客户端证书
- rhel6.3下使用openssl来生成CA证书并颁发证书实例解
- 利用openssl生成证书详细过程
- 利用keytool/Openssl来生成服务端和客户端证书,根证书。
- 利用OpenSSL生成的私钥、公钥和证书,用来验证文件是否被修改
- 使用openssl工具生成证书
- Widows下利用OpenSSL生成证书
- 利用Openssl生成证书
- 一个shell脚本,实现利用OpenSSL生成X509证书
- Widows下利用OpenSSL生成证书