openssl ca 证书管理
来源:互联网 发布:张伯伦季后赛数据统计 编辑:程序博客网 时间:2024/04/27 23:48
<openssl ca> <fym0121@163.com>
介绍
openssl ca 用于对生成,撤销等管理证书,其维护一个文本数据库。对openssl ca命令的使用需要用到配置文件格式,请参见<conf>。主要用到的配置项有
[ ca ] default_ca = CA_default # The default ca section [ CA_default ] dir = ./demoCA # top dir 工作目录 database = $dir/index.txt # index file. 初始状态,这是一个空文件 new_certs_dir = $dir/newcerts # new certs dir 新产生的证书存放的目录 certificate = $dir/cacert.pem # The CA cert CA自己的证书 serial = $dir/serial # serial no file 序列号文件,CA对每个证书分配一个序列号 private_key = $dir/private/cakey.pem# CA private key 签发证书的私钥。以上是最主要的 RANDFILE = $dir/private/.rand # random number file 随机数文件,这个文件是openssl自己生成 default_days = 365 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = md5 # md to use policy = policy_any # default policy email_in_dn = no # Don't add the email into cert DN name_opt = ca_default # Subject name display option cert_opt = ca_default # Certificate display option copy_extensions = none # Don't copy extensions from request [ policy_any ] countryName = supplied stateOrProvinceName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional
配置文件所在的路径,可以由环境变量确定
echo %OPENSSL_CONF% # windowsecho $OPENSSL_CONF # linux
我们使用默认配置文件,就可以完成对ca命令的测试,所以目录结构安装默认进行建立。
环境
我是Windows上学习openssl的,顶层目录是e:\openssl\foo\ ,我们在此目录下建立3个目录,结构为
├─demoCA
│ ├─newcerts
│ └─private
其中,newcerts目录下存放新签发的证书,private目录下存放ca私钥文件。demoCA是顶层目录,在其下,还有ca自己的证书文件cacert.pem,文件数据库index.txt,序列号文件serial,以及index.txt和serial的old文件。
生成自签名的root ca
E:\OpenSSL\foo>openssl req -new -x509 -out demoCA\cacert.pem -keyout demoCA\private\cakey.pem然后在demoCA目录下建立两个空文件index.txt和serial,并想serial中写入“01”字符串。至此,我们已经按照默认配置文件打好了环境。
语法
openssl ca[-verbose] [-config filename] [-name section] [-gencrl] [-revoke file] [-crl_reason reason] [-crl_hold instruction] [-crl_compromise time] [-crl_CA_compromise time] [-crldays days] [-crlhours hours] [-crlexts section] [-startdate date] [-enddate date] [-days arg] [-md arg] [-policy arg] [-keyfile arg] [-key arg] [-passin arg] [-cert file] [-selfsign] [-in file] [-out file] [-notext] [-outdir dir] [-infiles] [-spkac file] [-ss_cert file] [-preserveDN] [-noemailDN] [-batch] [-msie_hack] [-extensions section] [-extfile section] [-engine id] [-subj arg] [-utf8] [-multivalue-rdn]
-in / -out 输入证书请求,并输出证书。(最常用)
E:\OpenSSL\foo>openssl ca -in req.pem -out newcert.pem
其中req.pem文件的生成,请参加<openssl req 证书请求>。在证书生成过程中可能需要输入ca自己私钥的密码和两次y(确定)。偶尔在网上看见高人指点,证书请求的DN(Distinguished Name)信息要和自建root ca的DN信息中的Country Name, Locality Name, Organizational Name, Organizational Unit Name保持一直,貌似是自建CA只能对自己单位的同志建立证书吧。Common Name,emailAddress可以标识个人信息。
给别人签发证书后,ca自己当然保留了一个备份,看一下newcerts目录下是不是多了一个文件,这个文件的命名是由serial文件决定的。再看一下serial文件,其中保存的序列号加一了。以前的serial重新命名为serial.old。我们的index.txt文件,现在也有内容了。
-revoke 吊销证书
E:\OpenSSL\foo>openssl ca -revoke newcert.pem-gencrl 产生证书吊销列表。产生时,需要在demoCA目录下存在crlnumber文件(这个我不清楚)
E:\OpenSSL\foo>openssl ca -gencrl -crldays 7 -out ccsec.crl
-startdate / -enddate 指定证书有效期的开始时间和结束时间,时间格式为YYMMDDHHMMSSZ (the same as an ASN1 UTCTime structure)
-days 证书有效时间
crl的东西我还没找见资料,这里就不写了。谁有关于openssl的资料(当然我可以看官方资料,当官方都是reference,我需要的是Getting Start)发给我,fym0121@163.com谢谢!
- openssl ca 证书管理
- openssl命令生成CA证书
- openssl 创建ca&生成证书
- Openssl创建CA证书、服务器、客户端证书
- Openssl生成CA及签发证书方法
- 使用OpenSSL创建CA颁发证书
- openssl部署构建CA及签发证书
- 采用OpenSSL生成Https的证书CA
- openssl自建CA证书(亲验证)
- win64使用openssl生成ca证书
- openssl 自建CA,并签发证书
- Openssl 制作CA证书简易方法
- openSSL命令、PKI、CA、SSL证书原理
- openssl使用自定义CA签名证书
- 使用openssl自建ca和生成证书
- OpenSSL 自建CA及签发证书
- linux ca-certificates维护openssl证书
- openssl 自建ca,颁发客户端证书
- 关于java mail 的端口问题
- android:3种菜单
- eclipse工程名有红色叹号
- 不用安装oracle客户端,PL/SQL也能远程访问数据库
- 类继承和子类型 多继承和虚拟继承
- openssl ca 证书管理
- 怎样做好企业网站设计
- 动态加载XIB 高级应用
- jquery json jsp
- 爱 不说再见
- 倾听色彩的声音
- weblogic在Linux上启动报错【The realm "myrealm" failed to be loaded】
- java深克隆讨论
- 文字设计是网页设计的根本