openssl命令分类(最完整)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

声明:1.此文档中,证书生成时口令、密码一律是:12345.方便排查;2.另外,所有命令均可在Openssl在线文档中查询;3.本文档,支持命令检索,所有命令首字母大写;一、证书类1.1证书申请:Req1)Req生成和处理PKCS10证书,证书申请文件;用法:Opensslreq[-informPEM|DER][-infilenames][-passinarg][-configfilename][batch][-newkeyrsa:bits][-new][-randfile:randdat][-text][-days][-x509][-subjarg/CN=china/OU=tt/O=ab/CN=fxx][-utf8][-noout][-keyout][-pubkey]其中,-inform指定输入格式;-newkeyrsa:bits用于生成新的rsa密钥以及证书请求;默认名称为privkey.pem;-new生成新的证书请求以及私钥,默认1024bits-rand随机数种子文件;-randfile:rand.dat;-configfile指定证书请求模板,默认为openssl.cnf;-subjarg制定证书请求的用户信息;不指定,则要求输入;-subj/CN=cn/OU=t/O=a;-utf8指定为utf8,默认为ASCII编码;-batch不询问用户请求;-newhdr在生成的PEM证书请求文件头尾包含NEW字样;有些CA需要;-pubkey获取证书请求中的公钥信息;-modulus输出请求中的模数;-text打印证书信息;-verify验证证书请求;-x509生成自签名证书;-md5/4/2/sha1/mdc2生成自签名证书时,指定摘要算法;-days生成自签名证书的有效期;例子:#生成证书申请和私钥req-new-batch-outmyreq.pem#只有-new需要输入subj等;加入-batch则不需要输入;req-newkeyrsa:1024-outmyreq1.pem-keyoutreqkey.pemreq-new-subj/CN=china/OU=tt/O=ab/CN=dzr#查看公钥信息;可见其中包含证书请求;req-inmyreq.pem-pubkey-outpubkey.pemreq-inmyreq.pem-pubkey-textreq-inmyreq.pem-textreq-inmyreq.pem-modulus#所谓模数req-inpubkey.pem-modulusreq-inpubkey.pem-text#生成自签名证书req-inmyreq.pem-x509-keyreqkey.pem-outmycert.pem-days300-text-md51.2消息格式:PKCS71)pkcs7加密消息语法,各种消息存放的格式标准;包括数据、签名、摘要、数字信封等;用于处理DER或者PEM格式的pkcs7文件用法:Opensslpkcs7[-informPEM][-outform][-in][-print_certs][-text][noout]其中,-print_certs打印证书或CRL,每行打出持有者和颁布者;-text打印相关信息;例子:#没有pkcs7文件,可通过crltopkcs7生成;Opensslpkcs7-inmyreq.pem-outformDER-outmyreq_pkcs7.derOpensslpkcs7-infile.pemprint_certs-outcerts.pem1.3个人证书:PKCS121)pkcs12工具,用于生成和分析pkcs12文件用法:Opensslpkcs12[export][chain][inkey][cedrtfile][CApath][CAfile][name][out][aes128][des3][password][rand]其中,-export输出pkcs12文件;-chain添加证书链;-inkey指定私钥文件;-certfilefile添加file中所有证书文件;-CApatharg指定CA文件目录;-CAfilearg指定CA文件;-name指定证书和私钥的友好名;-in指定私钥和证书读取的文件,为PEM格式;-out指定输出的pkcs12文件,默认为标准输出;-nomacver读取时不验证MAC;-clcerts只输出客户证书,不包含CA证书;-nokeys不输出私钥;-info输出pkcs12结构信息;-des3/ase128私钥加密算法;-nodes不对私钥加密;-maciter加强完整性保护,多次计算MAC;-descert用3DES加密pkcs12文件,默认RC2-40;-keysig设置私钥只能用于签名;例子:#生成pkcs12,不带CA证书pkcs12-export-inkeyreqkey.pem-inmycert.pem-outmypkcs12.pfxpkcs12-export-inkeyCA_key.pem-inCAreq_cert.pem-outmyPkcs12.pfx#生成,带CA证书pkcs12-export-inkeyCA_key.pem-inCAreq_cert.pem-CAfile../cacert.pem-chain-outocsp1.pfx#信息分离出来写入文件;pkcs12-inmyPkcs12.pfx-outcertandkey.pem#显示pkcs12信息pkcs12-inmyPkcs12.pfx-info1.3转换证书:PKCS810.pkcs8私钥转换工具,pkcs8格式用法:Opensslpkcs8[inform][outform][in][passin][out][topk8][noiter][v2][embed]其中,-topk8输出pkcs8文件;-noiterMAC保护计算次数为1;-nooct不采用8位组表示私钥;-embed采用嵌入式DSA参数格式;-v2alg采用PKCS5v2.0并指定加密算法;例子:#私钥转换为pkcs8文件;比较前后文件内容,的确不同的格式;Opensslpkcs8-inCA_key.pem-topk8-outmypkcs8key.pem#以明文存放pkcs8-inCA_key.pem-topk8-nocrypt-outmy8key_plain.pem1.5证书中心:Ca1)Ca一个小型的CA系统,签发证书请求和生成CRL,维护一个已签发证书状态的文本数据库。用法:Opensslca[verbose][config][name][gendcrl][revoke][crl_reason][crl_hold][crl_compromise][crl_CA_compromise][subj][crldays][crlhousrs][days][md][policy]其中,-verbose打印附加信息;-config指定配置文件;默认安装,配置文件在/usr/local/ssl路径下;-namesection替换配置文件default_ca所代表的内容;-gencrl生成CRL文件;-revokefile撤销证书,file文件中包含了证书;-crl_reasonreason设置CRLv2撤销原因;-policyarg指定CA策略;-utf8表明输入必须是utf8编码;-keyfile指定签发证书的私钥文件;-key指定私钥解密口令;-certfile指定CA文件;-in输入证书请求文件;-out输出文件名;-notext不输出文本格式证书信息;-outdir设置输出路径;-infiles处理多个路径请求文件,必须放在最后;-ss_certfile指定需要由CA签发的自签名证书;-preserveDN将证书中的DN顺序由配置文件来决定;如设置此项,则顺序与请求文件一致;-noemailDN设置此项,则生成证书不会包含持有者DN,而是放在了扩展项里;-batch批处理,不询问客户信息;-mdarg设置摘要算法,md5/sha/sha1/mdc2;-utf8表示输入必须为utf8编码,默认为ASCII编码;例子:#/以下所有命令必须在apps目录下运行;(不看清,后面有教训!)#1.建立CACA.sh-newca,默认,配置文件在/usr/local/ssl,可先在apps目录的CA.sh建立环境#可以生成的demoCA/目录结构,包含项目较多;#其中CAindex:#2.生成证书请求#用-batch属性,导致后来签发失败;且看;(以后务必在apps目录进行)Opensslreq-new-batch-outCA_req.pem-keyoutCA_key.pem#参考Req一节,执行如下req-inCA_req.pem-text#证书申请自签名后的样子;比较可以发现,自签名证书和证书请求间的区别;req-inCA_req.pem-x509-keyCA_key.pem-outCAreq_cert.pem-days300-text-md5#3签发证书Opensslca-config/usr/local/ssl/openssl.cnf-nameCA_default-days365-mdsha1-policypolicy_anything-certdemoCA/cacert.pem-inCA_req.pem-outCA_cert.pem-preserveDN-noemailDN-subj/CN=Cn/O=JS/OU=WmX/cn=michaDong-extenstionsmyexts(好长)#简洁版:#正确执行签发;ca-inCA_req1.pem-cert./demoCA/cacert.pem-outCA_cert.pem#比较签发前的证书请求,可见签发加入了X509v3extensions;和自签名证书类似;#4.撤销证书#按上面步骤,在生成一个CA_cert2.pem证书;req-new-outCA_req2.pem-keyoutCA_key2.pemca-inCA_req2.pem-outCA_cert2.pem#可以查看文本数据库indextxt,比较前后变化ca-revokeCA_cert2.pem#生成CRL,设置原因、挂起处理方法;ca-gencrl-outCA_crl.crl1.6证书吊销:Crl/Crl2pkcs71)Crl工具,用于处理PEM或DER格式的CRL文件用法:Opensslcrl[inform][text][in][hash][issuer][lastupdate][CAfile][CApathdir]其中,-noout不打印CRL文件内容;-hash打印值;-issuer打印颁布者DN;-lastupdate上次发布时间;-CAfile指定CA文件;-CApathdir指定多个CA文件路径,文件名为xxx.0,xxx为特有摘要值;例子:#参考CA,生成CRL文件继续#在apps目录下进行;ca-gencrl-outCA_crl.pem---------------------------------------#没有文件demoCA/crlnumber;CA自动建立时,并没有生成该文件;#手动创建一个试试;$sudotouchdemoCA/crlnumber$chmoda+wdemoCA/crlnumber$sudocat2demoCA/crlnumberca-gencrl-outCA_crl.pem#设置2太短,出错,最好是两位数如23就可以了(有待更多探索);还有格式是crl;----------------------------------------ca-gencrl-outCA_crl1.crl#显示CRL信息Opensslcrl-inCA_crl1.crl-text-issuer-hash-lastupdate-nextupdate#验证CRLcr

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功