openssl 证书签发过程记录
老记不住openssl的命令转过来留个记录
手写openssl配置文件有很大好处,就是迁移方便。原始做的那篇文章我已经找不到了。一点一点进行整理吧
先写一下印象中的大致流程:
1.在要生成的目录编辑配置文件,譬如当前目录的conf中
conf/client.conf主要定义一些常用的目录结构。
#################################### [ ca ] default_ca = testca # The default ca section [ testca ] dir = /usr/local/nginx/conf/cert/myCA # top dir database = $dir/index.txt # index file. new_certs_dir = $dir/newcerts # new certs dir certificate = $dir/cacert.pem # The CA cert serial = $dir/serial # serial no file private_key = $dir/private/cakey.pem # CA private key RANDFILE = $dir/private/.rand # random number file default_days = 3650 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = md5 # message digest method to use unique_subject = no # Set to 'no' to allow creation of # several ctificates with same subject. policy = policy_any # default policy [ policy_any ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional ########################################
conf/genmyca.conf
[ req ] default_keyfile = /usr/local/nginx/conf/cert/myCA/private/cakey.pem default_md = md5 prompt = no distinguished_name = ca_distinguished_name x509_extensions = ca_extensions [ ca_distinguished_name ] organizationName = TestOrg organizationalUnitName = TestDepartment commonName = TestCA emailAddress = ca_admin@testorg.com [ ca_extensions ] basicConstraints = CA:true
2.生成CA的私钥,生成CA的证书(暂空缺)
3.生成client并签发
生成私钥
openssl genrsa -des3 -out clientkey.pem 2048
去除私钥密码
cp clientkey.pem clientkey.pem.org
openssl rsa -in clientkey.pem.org -out clientkey.pem
生成申请文件
openssl req -new -key clientkey.pem -out clientcsr.pem
使用CA签发
openssl ca -in clientcsr.pem -config ../conf/clients.conf -out clientcert.pem
自签发
openssl x509 -req -days 365 -in clientcsr.pem -signkey clientkey.pem -out clientcert.pem
制作firefox证书
openssl pkcs12 -export -in clientcert.pem -inkey clientkey.pem -out client.p12
此证书签发以后可以导入ff看到验证效果。
参考:
网上很好的一篇文章转过来备忘,老记不住openssl的命令:http://blog.sina.com.cn/s/blog_40d608bb0100t1kx.html
通过OPENSSL建立证书以及CSR证书签名过程
CSR证书签名过程:
1。用户先拥有一个自己的密钥
openssl genrsa -des3 -out my.key 1024
建立密钥,以为1024位加密。
2。通过密钥建立自己的CSR文件,其中cnf文件为配置文件,openssl也自带cnf文件
openssl req -new -config my.cnf -key my.key -out my.csr
建立csr文件
cnf举例:
[req] default_bits=1024 distinguished_name=req_distinguished_name prompt=no string_mask=nombstr req_extensions=v3_req [req_distinguished_name] CN=fin1983@hotmail.com [v3_req] nsCertType=server,client basicConstraints=critical,CA:false
============之后为服务器要做的事=========
3。提交给服务器签名生成证书
openssl ca -batch -config ca.cnf -key 123456 -in my.csr -out my.crt
123456假设为根证书的密码
ca.cnf举例:
[ca] default_ca=default_CA [default_CA] dir=/tmp/sslPath certs=/tmp/sslPath new_certs_dir=/tmp/sslPath database=/tmp/sslPath/dbfile serial=/tmp/sslPath/serialfile certificate=/tmp/sslPath/rootcrtfile private_key=/tmp/sslPath/rootkeyfile default_crl_days=30 default_startdate=070307000000Z default_enddate=371231000000Z default_md=md5 preserve=yes x509_extensions=user_cert policy=policy_anything crl_extensions=crl_ext [policy_anything] commonName=supplied [user_cert] subjectAltName=email:copy basicConstraints=critical,CA:false
预先在sslPath目录下建立dbfile,serialfile,rootcrtfile以及rootkeyfile
dbfile 空
serialfile 自定义,随意设个数字,例如21
rootcrtfile 服务端证书
rootkeyfile 服务端密钥
===============如果csr与私钥在客户端,则此过程无法在服务器端完成========
4。生成PKCS12文件。
openssl pkcs12 -export -in my.crt -inkey my.key -password pass:$userpass -out my.pfx
$userpass为证书的密码保护,可有可无。
另,签名csr文件时似乎不能重复签名。在配置里需要做一点改动,否则会失败。例如serial必须保证unique等等
补充一些文件格式:
在Security编程中,有几种典型的密码交换信息文件格式:
DER-encoded certificate: .cer, .crt
PEM-encoded message: .pem
PKCS#12 Personal Information Exchange: .pfx, .p12
PKCS#10 Certification Request: .p10
PKCS#7 cert request response: .p7r
PKCS#7 binary message: .p7b
.cer/.crt是用于存放证书,它是2进制形式存放的,不含私钥。
.pem跟crt/cer的区别是它以Ascii来表示。
pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式
p10是证书请求
p7r是CA对证书请求的回复,只用于导入
p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥
算法
base64不是加密算法,但也是SSL经常使用的一种算法,它是编码方式,用来把asc码和二进制码转来转去的。
openssl x509部分命令
打印出证书的内容:
openssl x509 -in cert.pem -noout -text
打印出证书的系列号
openssl x509 -in cert.pem -noout -serial
打印出证书的拥有者名字
openssl x509 -in cert.pem -noout -subject
以RFC2253规定的格式打印出证书的拥有者名字
openssl x509 -in cert.pem -noout -subject -nameopt RFC2253
在支持UTF8的终端一行过打印出证书的拥有者名字
openssl x509 -in cert.pem -noout -subject -nameopt oneline -nameopt -escmsb
打印出证书的MD5特征参数
openssl x509 -in cert.pem -noout -fingerprint
打印出证书的SHA特征参数
openssl x509 -sha1 -in cert.pem -noout -fingerprint
把PEM格式的证书转化成DER格式
openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER
把一个证书转化成CSR
openssl x509 -x509toreq -in cert.pem -out req.pem -signkey key.pem
给一个CSR进行处理,颁发字签名证书,增加CA扩展项
openssl x509 -req -in careq.pem -extfile openssl.cnf -extensions v3_ca -signkey key.pem -out cacert.pem
给一个CSR签名,增加用户证书扩展项
openssl x509 -req -in req.pem -extfile openssl.cnf -extensions v3_usr -CA cacert.pem -CAkey key.pem -CAcreateserial
查看csr文件细节:
openssl req -in my.csr -noout -text
老大,看着你的博客又想你们了,希望大家都快乐幸福哈哈
哈哈常来玩玩
过来支持一下 感值得收藏分享
既然看了,顶一个吧,好文章
这个好可爱啊
haosf http://bbs.caipiaodian.com.cn/
找传奇网站http://bbs.caipiaodian.com.cn/
haosf.comhttp://bbs.caipiaodian.com.cn/
sf传奇http://bbs.caipiaodian.com.cn/
好sf发布网http://bbs.caipiaodian.com.cn/
今日新开传奇私服http://bbs.caipiaodian.com.cn/
新开传奇私服发布网http://bbs.caipiaodian.com.cn/
今日新开网页版传奇http://bbs.caipiaodian.com.cn/
搜服http://bbs.caipiaodian.com.cn/
网通私服http://bbs.caipiaodian.com.cn/
刚开一秒http://bbs.caipiaodian.com.cn/
刚开一秒传奇sfhttp://bbs.caipiaodian.com.cn/
最新开的传奇私服http://bbs.caipiaodian.com.cn/
好私服发布网http://bbs.caipiaodian.com.cn/
最新sfhttp://bbs.caipiaodian.com.cn/
传奇私服刚开http://bbs.caipiaodian.com.cn/
传奇私发网http://bbs.caipiaodian.com.cn/
1.76传奇sfhttp://bbs.caipiaodian.com.cn/
网通传奇私服网站http://bbs.caipiaodian.com.cn/
soufuhttp://bbs.caipiaodian.com.cn/
今日刚开传奇私服http://bbs.caipiaodian.com.cn/
176传奇私服发布网http://bbs.caipiaodian.com.cn/
热血传奇sf发布网http://bbs.caipiaodian.com.cn/
新开变态传奇私服http://bbs.caipiaodian.com.cn/
最好玩的传奇私服http://bbs.caipiaodian.com.cn/
新私服http://bbs.caipiaodian.com.cn/
新开传奇私服刚开一秒http://bbs.caipiaodian.com.cn/
sf合击http://bbs.caipiaodian.com.cn/
热血传奇私服发布http://bbs.caipiaodian.com.cn/
新开的私服http://bbs.caipiaodian.com.cn/
传奇私服新开一秒http://bbs.caipiaodian.com.cn/
传奇私服开区http://bbs.caipiaodian.com.cn/
新开网通传奇私服发布网http://bbs.caipiaodian.com.cn/
开传奇sfhttp://bbs.caipiaodian.com.cn/
最新私服传奇http://bbs.caipiaodian.com.cn/
合击私服网站http://bbs.caipiaodian.com.cn/
中国传奇私服http://bbs.caipiaodian.com.cn/
新开sf传奇http://bbs.caipiaodian.com.cn/
传奇私发布网http://bbs.caipiaodian.com.cn/
热血传奇sf发布http://bbs.caipiaodian.com.cn/
私服刚开一秒http://bbs.caipiaodian.com.cn/
1.76传奇私服发布http://bbs.caipiaodian.com.cn/
最好传奇私服http://bbs.caipiaodian.com.cn/
热血传奇新开私服http://bbs.caipiaodian.com.cn/
传奇私发布http://bbs.caipiaodian.com.cn/
刚开一秒sfhttp://bbs.caipiaodian.com.cn/
传奇合击sf网站http://bbs.caipiaodian.com.cn/
中变传奇sf发布网http://bbs.caipiaodian.com.cn/
176传奇发布网http://bbs.caipiaodian.com.cn/
1.76传奇私服发布网站http://bbs.caipiaodian.com.cn/
刚开一秒的传奇私服http://bbs.caipiaodian.com.cn/
新开一秒传奇私服http://bbs.caipiaodian.com.cn/
2合1传奇私服http://bbs.caipiaodian.com.cn/
私服网站http://bbs.caipiaodian.com.cn/
最新传奇网站http://bbs.caipiaodian.com.cn/
合击私服http://bbs.caipiaodian.com.cn/
新开中变传奇私服http://bbs.caipiaodian.com.cn/
新开传奇私服网http://bbs.caipiaodian.com.cn/
最新传奇私服网站http://bbs.caipiaodian.com.cn/
1.76复古传奇发布网http://bbs.caipiaodian.com.cn/
今日新开传奇sfhttp://bbs.caipiaodian.com.cn/
新开网通传奇发布网http://bbs.caipiaodian.com.cn/
新开传奇私服发布http://bbs.caipiaodian.com.cn/
盛大私服http://bbs.caipiaodian.com.cn/
传奇1.76私服http://bbs.caipiaodian.com.cn/
今日新开热血传奇sfhttp://bbs.caipiaodian.com.cn/
传奇sf发布网站http://bbs.caipiaodian.com.cn/
最新热血传奇私服http://bbs.caipiaodian.com.cn/
合击传奇发布网http://bbs.caipiaodian.com.cn/
刚开传奇私服http://bbs.caipiaodian.com.cn/
传奇外传私服发布网http://bbs.caipiaodian.com.cn/
热血传奇1.76私服http://bbs.caipiaodian.com.cn/
999sf传奇网站http://bbs.caipiaodian.com.cn/
新开传奇合击http://bbs.caipiaodian.com.cn/
传奇刚开一秒http://bbs.caipiaodian.com.cn/
网通传奇发布网站http://bbs.caipiaodian.com.cn/
新开合击传奇私服http://bbs.caipiaodian.com.cn/
私服宣传http://bbs.caipiaodian.com.cn/
变态传世sf发布网http://bbs.caipiaodian.com.cn/
新开传奇世界私服网http://bbs.caipiaodian.com.cn/
传奇发布http://bbs.caipiaodian.com.cn/
传奇私服新开http://bbs.caipiaodian.com.cn/
首区sf发布网http://bbs.caipiaodian.com.cn/
复古传奇私服http://bbs.caipiaodian.com.cn/
中变私服http://bbs.caipiaodian.com.cn/
每日新开传奇网http://bbs.caipiaodian.com.cn/
找传奇sfhttp://bbs.caipiaodian.com.cn/
魔兽私服发布网http://bbs.caipiaodian.com.cn/
今日新开传奇发布网http://bbs.caipiaodian.com.cn/
找sf的网站http://bbs.caipiaodian.com.cn/
热血传奇私服1.76http://bbs.caipiaodian.com.cn/
魔兽私服发布http://bbs.caipiaodian.com.cn/
传奇复古http://bbs.caipiaodian.com.cn/
合击传奇sfhttp://bbs.caipiaodian.com.cn/
网通传奇私服发布网站http://bbs.caipiaodian.com.cn/
最好的传奇私服http://bbs.caipiaodian.com.cn/
变态传奇私服发布网http://bbs.caipiaodian.com.cn/
最新开热血传奇私服http://bbs.caipiaodian.com.cn/
变态热血传奇私服http://bbs.caipiaodian.com.cn/
新开魔兽私服http://bbs.caipiaodian.com.cn/
合击传奇私服网站http://bbs.caipiaodian.com.cn/
搜好服http://bbs.caipiaodian.com.cn/
最新传奇sf发布网http://bbs.caipiaodian.com.cn/
网通传奇合击私服http://bbs.caipiaodian.com.cn/
sf网址http://bbs.caipiaodian.com.cn/
新开传奇私服一区http://bbs.caipiaodian.com.cn/
传齐私服http://bbs.caipiaodian.com.cn/
传奇四服http://bbs.caipiaodian.com.cn/
传奇四副http://bbs.caipiaodian.com.cn/
今日新开变态私服http://bbs.caipiaodian.com.cn/
传奇合击私服网http://bbs.caipiaodian.com.cn/
中变合击私服http://bbs.caipiaodian.com.cn/
新开传奇sf发布http://bbs.caipiaodian.com.cn/
最热门传奇私服http://bbs.caipiaodian.com.cn/
新开轻变传奇sfhttp://bbs.caipiaodian.com.cn/
1.76sf发布网http://bbs.caipiaodian.com.cn/
英雄连击传奇私服http://bbs.caipiaodian.com.cn/
新开网通传奇私服网http://bbs.caipiaodian.com.cn/
网通传奇私服网http://bbs.caipiaodian.com.cn/
合击传奇网站http://bbs.caipiaodian.com.cn/
999私服http://bbs.caipiaodian.com.cn/
http://www.haosf.comhttp://bbs.caipiaodian.com.cn/
私服发布网http://bbs.caipiaodian.com.cn/
sf发布网http://bbs.caipiaodian.com.cn/
新开传奇发布网http://bbs.caipiaodian.com.cn/
私服传奇网站http://bbs.caipiaodian.com.cn/