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