zoukankan      html  css  js  c++  java
  • OpenSSL命令系列

    openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html


    1.1 ssl命令系列前言

    openssl命令的格式是"openssl command command-options args",command部分有很多种命令,这些命令需要依赖于openssl命令才能执行,所以称为伪命令(pseudo-command),每个伪命令都有各自的功能,大部分command都可以直接man command查看命令的用法和功能。

    1.2 openssl总指挥

    以下是openssl支持的伪命令,常用命令或可能用的上的命令加粗加红显示了,这些命令的用户在后面的文章中会一一介绍。

    [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"指的是传递加密输出文件时的密码。如果不给定密码格式,将提示从终端输入。这一点在后面的文章中将不再细述。

    格式一:pass:password   :password表示传递的明文密码

    格式二:env:var               :从环境变量var获取密码值

    格式三:file:filename        :filename文件中的第一行为要传递的密码。若filename同时传递给"-passin"和"-passout"选项,则filename的第一行为"-passin"的值,第二行为"-passout"的值

    格式四:stdin                   :从标准输入中获取要传递的密码

    例如,要加密某个密钥文件,使得每次使用该密钥文件都需要输入密码,则使用"-passout"指定加密密码,当使用被加密的密钥文件时需要解密,使用"-passin"传递解密密码。

  • 相关阅读:
    C++ std::map::erase用法及其陷阱
    写在分类之首-----to do list!
    Gradle系列教材(译)
    Android进阶-UIL分析
    ArrayList源码解析
    Android进阶-MVP
    高质量代码-树的子结构
    高质量代码-并和链表
    高质量代码-翻转链表
    高质量代码-链表中倒数第k个结点
  • 原文地址:https://www.cnblogs.com/f-ck-need-u/p/6089703.html
Copyright © 2011-2022 走看看