• OpenSSL 编程 一:基本概念


    一、OpenSSL 基本概念

    /index.html (openssl.org)

    OpenSSL 中文手册 | OpenSSL 中文网

    二、OpenSSL 命令学习

    1、openssl 命令

    onlylove@ubuntu:~$ openssl help
    Standard commands
    asn1parse         ca                ciphers           cms               
    crl               crl2pkcs7         dgst              dhparam           
    dsa               dsaparam          ec                ecparam           
    enc               engine            errstr            gendsa            
    genpkey           genrsa            help              list              
    nseq              ocsp              passwd            pkcs12            
    pkcs7             pkcs8             pkey              pkeyparam         
    pkeyutl           prime             rand              rehash            
    req               rsa               rsautl            s_client          
    s_server          s_time            sess_id           smime             
    speed             spkac             srp               storeutl          
    ts                verify            version           x509              
    
    Message Digest commands (see the `dgst' command for more details)
    blake2b512        blake2s256        gost              md4               
    md5               rmd160            sha1              sha224            
    sha256            sha3-224          sha3-256          sha3-384          
    sha3-512          sha384            sha512            sha512-224        
    sha512-256        shake128          shake256          sm3               
    
    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       aria-128-cbc      aria-128-cfb      
    aria-128-cfb1     aria-128-cfb8     aria-128-ctr      aria-128-ecb      
    aria-128-ofb      aria-192-cbc      aria-192-cfb      aria-192-cfb1     
    aria-192-cfb8     aria-192-ctr      aria-192-ecb      aria-192-ofb      
    aria-256-cbc      aria-256-cfb      aria-256-cfb1     aria-256-cfb8     
    aria-256-ctr      aria-256-ecb      aria-256-ofb      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              
    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          sm4-cbc           sm4-cfb           
    sm4-ctr           sm4-ecb           sm4-ofb           
    
    onlylove@ubuntu:~$
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    命令说明
    asn1parse一种用来诊断ASN.1结构的工具,也能用于从ASN1.1数据中提取数据。
    ca一个小型CA系统。它能签发证书请求和生成CRL。它维护一个已签发证书状态的文本数据库。
    ciphers显示支持的加密套件。
    cms
    crl用于处里PME或DER格式的CRL文件。
    crl2pkcs7根据CRL或证书来生成pkcs#7消息。
    dgst用于数据摘要。
    dhparamdhparam为dh参数操作和生成工具。
    dsa用于处理DSA密钥、格式转换和打印信息。
    dsaparam用于生成和操作dsa参数。
    ec椭圆曲线密钥处理工具。
    ecparam椭圆曲线密钥参数生成及操作。
    encenc为对称加解密工具,还可以进行base64编码转换。
    engine
    errstr用于查询错误代码。
    gendsa根据DSA密钥参数生成DSA密钥,dsa密钥参数可用dsaparam命令生成。
    genpkey
    genrsa生成RSA密钥。
    help
    list
    nseq用于多个证书与netscape证书序列间相互转化。
    ocsp
    passwd生成各种口令密文。
    pkcs12pkcs12文件工具,能生成和分析pkcs12文件。
    pkcs7用于处理DER或者PEM格式的pkcs#7文件。
    pkcs8pkcs8格式的私钥转换工具。
    pkey
    pkeyparam
    pkeyutl
    prime检查一个数是否为素数。
    rand生成随机数。
    rehash
    req用于生成和处理PKCS#10证书请求。
    rsa用于处理RSA密钥、格式转换和打印信息。
    rsautl使用RSA算法签名,验证身份, 加密/解密数据。
    s_clients_client为一个SSL/TLS客户端程序,与s_server对应,它不仅能与s_server进行通信,也能与任何使用ssl协议的其他服务程序进行通信。
    s_servers_server是openssl提供的一个SSL服务程序。使用此程序前,需要生成各种证书。
    s_times_time是openss提供的SSL/TLS性能测试工具,用于测试SSL/TSL服务。
    sess_idsess_id为SSL/TLS协议的session处理工具。
    smimeS/MIME工具,用于处理S/MIME邮件,它能加密、解密、签名和验证S/MIME消息。
    speed用于测试库的性能。
    spkac
    srp
    storeutl
    ts
    verify证书验证工具。
    version用来打印版本以及openssl其他各种信息。
    x509X509命令是一个多用途的证书工具。它可以显示证书信息、转换证书格式、签名证书请求以及改变证书的信任设置等。

    2、命令格式查询

    查看命令具体用法,使用 -help 命令查看。以 ciphers 为例:

    onlylove@ubuntu:~$ openssl ciphers -help
    Usage: ciphers [options]
    Valid options are:
     -help              Display this summary
     -v                 Verbose listing of the SSL/TLS ciphers
     -V                 Even more verbose
     -s                 Only supported ciphers
     -tls1              TLS1 mode
     -tls1_1            TLS1.1 mode
     -tls1_2            TLS1.2 mode
     -tls1_3            TLS1.3 mode
     -stdname           Show standard cipher names
     -psk               include ciphersuites requiring PSK
     -srp               include ciphersuites requiring SRP
     -convert val       Convert standard name into OpenSSL name
     -ciphersuites val  Configure the TLSv1.3 ciphersuites to use
    onlylove@ubuntu:~$
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
  • 相关阅读:
    卡口车辆智能检索系统
    【Linux】进程控制,进程替换
    LeetCode(力扣)491. 递增子序列Python
    一篇文章教你自动化测试如何解析excel文件?
    1.< tag-动态规划和路径组合问题>lt.62. 不同路径 + lt.63. 不同路径 II
    【数字电路】Y图 | 逻辑操作符 | 布尔函数 | Combinational systems
    LNMP编译安装
    利用capabilities提权(setuid、cap_setuid)
    java命名那些事儿一(命名规范).md
    基于JAVA的网上拍卖秒杀系统,拿去参考【数据库设计、源码、开题报告】
  • 原文地址:https://blog.csdn.net/OnlyLove_/article/details/125454929