openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.htmlhtml
openssl命令的格式是"openssl command command-options args",command部分有不少种命令,这些命令须要依赖于openssl命令才能执行,因此称为伪命令(pseudo-command),每一个伪命令都有各自的功能,大部分command均可以直接man command查看命令的用法和功能。算法
如下是openssl支持的伪命令,经常使用命令或可能用的上的命令加粗加红显示了,这些命令的用户在后面的文章中会一一介绍。ide
[root@xuexi ~]# openssl --help openssl:Error: '--help' is an invalid command. # 支持的标准命令,即伪命令 Standard commands asn1parse ca ciphers cms crl crl2pkcs7 dgst dh dhparam dsa dsaparam ec ecparam enc engine errstr gendh gendsa genpkey genrsa nseq ocsp passwd pkcs12 pkcs7 pkcs8 pkey pkeyparam pkeyutl prime rand req rsa rsautl s_client s_server s_time sess_id smime speed spkac ts verify version x509 # 指定"dgst"命令时即单向加密支持的算法,实际上支持更多的算法,具体见dgst命令 Message Digest commands (see the `dgst' command for more details) md2 md4 md5 rmd160 sha sha1 # 指定对称加密"enc"时支持的对称加密算法 Cipher commands (see the `enc' command for more details) aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb aes-256-cbc aes-256-ecb base64 bf bf-cbc bf-cfb bf-ecb bf-ofb camellia-128-cbc camellia-128-ecb camellia-192-cbc camellia-192-ecb camellia-256-cbc camellia-256-ecb cast cast-cbc cast5-cbc cast5-cfb cast5-ecb cast5-ofb des des-cbc des-cfb des-ecb des-ede des-ede-cbc des-ede-cfb des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb des-ofb des3 desx idea idea-cbc idea-cfb idea-ecb idea-ofb rc2 rc2-40-cbc rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb rc4 rc4-40 seed seed-cbc seed-cfb seed-ecb seed-ofb zlib
看上去很是复杂?其实不复杂,只是伪命令多点而已,并且不少伪命令常常用到的选项也就1到两个。加密
如下是各伪命令的选项"-passin"和"-passout"可能使用到的密码传递格式,“-passin”指的是传递解密时的密码,"-passout"指的是传递加密输出文件时的密码。若是不给定密码格式,将提示从终端输入。这一点在后面的文章中将再也不细述。idea
格式一:pass:password :password表示传递的明文密码spa
格式二:env:var :从环境变量var获取密码值code
格式三:file:filename :filename文件中的第一行为要传递的密码。若filename同时传递给"-passin"和"-passout"选项,则filename的第一行为"-passin"的值,第二行为"-passout"的值server
格式四:stdin :从标准输入中获取要传递的密码htm
例如,要加密某个密钥文件,使得每次使用该密钥文件都须要输入密码,则使用"-passout"指定加密密码,当使用被加密的密钥文件时须要解密,使用"-passin"传递解密密码。blog