openssl程式用来在命令行模式下使用OpenSSL的密码函数。他的功能有:
a) 创建RSA、DH、DSA密钥
b) 创建X.509证书、CSRs连同CRLs
c) 计算摘要
d) 对称密钥的加解密
e) SSL/TLS的客户端、服务端的测试
f) 处理S/MIME签名或加密标准的邮件
http://www.openssl.org/docs/apps/openssl.html
[bingo]openssl文档笔记一
MSN: lubin_cn@hotmail.com
概述: OpenSSL是个实现了SSL(Secure Sockets Layer v2/v3)和TLS(Transport Layer Security v1)协议连同相关密码标准的工具包。
openssl程式用来在命令行模式下使用OpenSSL的密码函数。他的功能有:
a) 创建RSA、DH、DSA密钥
b) 创建X.509证书、CSRs连同CRLs
c) 计算摘要
d) 对称密钥的加解密
e) SSL/TLS的客户端、服务端的测试
f) 处理S/MIME签名或加密标准的邮件
1. asn1parse 用来解析ASN1编码的数据
asn1parse [options]<infile
-inform DER|TXT|PEM 输入格式
-in filename
-out filename 通常是DER编码
-noout 不输出
-offset number 开始解析的位置
-length number 需要解析的字节数
-i 缩进(indent)
-dump 对不可见数据显示16进制
asn1parse -inform DER -in ca.cer -i
显示结果:xx: 冒号前的代表起始字节数,d: 深度(用于缩进),hl: TLV种的TL,l: TLV中的L
0:d=0 hl=3 l= 137 cons: SEQUENCE
3:d=1 hl=3 l= 129 prim: INTEGER :E5D21E1F5C8D20.....
135:d=1 hl=2 l= 3 prim: INTEGER :010001
2. ca 一个很小的CA应用程式,能够签发证书,产生CRL,将状态等信息保存在TXT中。
ca args
a) CA OPTIONS
-config filename 指定配置文档
-name 指定配置文档中的哪一部分被使用
-in filename 需要被CA签发的证书请求
-infiles file1 file2 对多个文档的处理
-ss_cert filename 用于自签名self signed..
-out filename 默认为标准输出
-outdir directory
-cert filename CA证书文档
-keyfile filename 用于签名的私钥文档
-key password 保护私钥的口令(不推荐使用该参数)
-verbose 打印周详的过程
-startdate date 格式YYMMDDHHMMSSZ
-enddate date 格式YYMMDDHHMMSSZ
-days arg 过期的天数
-md alg 摘要算法。md5,sha1等
-policy arg 指定配置文档中使用哪部分策略
-preserveDN 反转DN。。 :)
-noemailDN DN中去掉email
-batch 系统将不再需要用户干预(输入)自动处理
-extensions section 指定扩展信息使用配置文档中的哪部分
-extfile file 扩展信息从文档中读取
b) CRL OPTIONS
-gencrl
-crldays num 下个CRL发布的时间间隔
-crlhours num
-revoke filename 撤销一个证书
-crl_reason reason 撤销的原因
-crl_hold instruction 撤销的原因代码
3. crl 处理DER和PEM编码的CRL文档
crl [options]
-inform DER|PEM
-outform DER|PEM
-in filename
-out filename
-text 文本方式显示出CRL
-noout
-issuer 输出签发者DN
-lastupdate
-nextupdate
-CAfile file 给出CA验证CRL
-CApath dir 在给定目录下验证CRL,该目录必须是标准的证书目录(x509 -hash)
4. dgst 计算摘要,并用来进行签名和验签。
dgst [-md5|-md4|-md2|-sha1|-sha|-dss1] [options] [file...]
-c 分开显示摘要值,16进制的被使用
-d 打印BIO调试信息
-hex 摘要用16进制输出
-binary 摘要用2进制输出
-out filename
-sign filename 使用该文档(私钥)签名摘要值
-passin arg 私钥的口令
-verify filename 使用该文档(公钥)验证签名。输出验签成功或失败的信息。
-prverify filename 使用该文档(私钥)验证签名。
-signature filename
-rand file(s) 一个或多个用来产生随机数种子的文档数据
file(s)... 需要进行摘要的文档
5. enc 对数据进行对称算法的加解密,连同Base64的编码解码。
enc -ciphername [options]
a) ciphername用来标识算法,支持的算法有base64, bf, cast, des, des3, idea, rc2, rc4, rc5等。
b) options
-in filename
-out filename
-e / -d 加密 / 解密
-a 对输入(加密后)/输出(解密后)的数据进行Base64后再处理
-k password 口令被用来产生密钥
-kfile filename
-K arg 密钥通过16进制输入
-iv arg iv通过16进制输入
-[pP] 打印出key连同iv
6. errstr 解释openssl运行中返回的错误代码。
返回:27594:error:2006D080:lib(32):func(109):reason(128):bss_file.c:107:
解释:openssl errstr 2006D080
7. genrsa 用来产生RSA公私钥对
genrsa [options] numbits
-out filename
-des|-des3|-ides... 保护私钥的方式
-F4|-3 指定e是65537或3
numbits 模长,1024,2048等
8. pkcs12 产生或解析PKCS#12(.pfx)文档
pkcs [options]
a) 解析参数
-in filename 输入P12文档
-out filename 以PEM输出证书和私钥文档
-noout
-clcerts 只输出用户证书
-cacerts 只输出CA证书
-nokeys 不输出私钥
-des / -des3 / -idea 加密输出私钥
-nodes 不加密私钥输出
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




