zoukankan      html  css  js  c++  java
  • [openssl][nginx] 使用openssl模拟ssl/tls客户端测试nginx stream

    一 server的配置

    nginx

    # cat conf/nginx.conf
    daemon off;
    events {
            debug_connection 0.0.0.0/0;
    }
    stream {
            upstream test {
                    server 127.0.0.1:50001;
            }
            server {
                    listen 444 ssl;
                    ssl_certificate /data/sni/sni_test1.cer;
                    ssl_certificate_key /data/sni/sni_test1.key;
                    proxy_pass test;
            }
    }

    backend 服务

    [root@T9 ~]# nc -l 127.0.0.1 50001

    二 client

    客户端是openssl模拟链接

    ┬─[tong@T7:~/Src/thirdparty/nginx.git]─[10:48:40 AM]
    ╰─>$ openssl s_client -connect t9:444 -CAfile ~/Keys/https/root/root.cer
    CONNECTED(00000003)
    Can't use SSL_get_servername
    depth=1 C = CN, ST = BeiJing, L = BeiJing, O = Tartaglia, CN = TTTrust, emailAddress = ca@tartaglia.org
    verify return:1
    depth=0 C = CN, ST = BeiJing, L = BeiJing, O = tong.com, OU = tong, CN = caotong_test1, emailAddress = tong@local
    verify return:1
    ---
    Certificate chain
     0 s:C = CN, ST = BeiJing, L = BeiJing, O = tong.com, OU = tong, CN = caotong_test1, emailAddress = tong@local
       i:C = CN, ST = BeiJing, L = BeiJing, O = Tartaglia, CN = TTTrust, emailAddress = ca@tartaglia.org
    ---
    Server certificate
    -----BEGIN CERTIFICATE-----
    wPPQSnUlyNwsbAJLpynb
    -----END CERTIFICATE-----
    subject=C = CN, ST = BeiJing, L = BeiJing, O = tong.com, OU = tong, CN = caotong_test1, emailAddress = tong@local
    
    issuer=C = CN, ST = BeiJing, L = BeiJing, O = Tartaglia, CN = TTTrust, emailAddress = ca@tartaglia.org
    
    ---
    No client certificate CA names sent
    Peer signing digest: SHA256
    Peer signature type: RSA
    Server Temp Key: ECDH, P-256, 256 bits
    ---
    SSL handshake has read 1630 bytes and written 419 bytes
    Verification: OK
    ---
    New, TLSv1.2, Cipher is ECDHE-RSA-AES256-GCM-SHA384
    Server public key is 2048 bit
    Secure Renegotiation IS supported
    Compression: NONE
    Expansion: NONE
    No ALPN negotiated
    SSL-Session:
        Protocol  : TLSv1.2
        Cipher    : ECDHE-RSA-AES256-GCM-SHA384
        Session-ID: AD51CAE512036C290A3BA8E5F6CE1EA37F7C15B9735B66B832E1708AF34C50B4
        Session-ID-ctx: 
        Master-Key: 3CCECD6ABCA047228626ED57CFE77AB2C1BAFB106FAB44B7C7AE71E0A918F43412359A2EAAEA367694E617B7BF7191A0
        PSK identity: None
        PSK identity hint: None
        SRP username: None
        TLS session ticket lifetime hint: 300 (seconds)
        TLS session ticket:
    。。。
        Start Time: 1569379721
        Timeout   : 7200 (sec)
        Verify return code: 0 (ok)
        Extended master secret: no
    ---

    三 总结

    客户端到nginx是tls,nginx到nc是tcp。

    [author: classic_tong, date: 20190925]

  • 相关阅读:
    【javascript基础】cc_on的详解
    【css】怪异模式下的盒模型
    【javascript基础】javascript对象的expando属性
    【javascript基础】之深度克隆(深度拷贝)一个对象
    【javascript基础】toString、valueOf、转换 【译】
    【c++】C++ system函数用法
    【javascript基础】toString valueOf toLocaleString的具体区别
    【javascript基础】Nicholas C. Zakas如何面试前端工程师
    【浏览器兼容性】script的type为text/tpl,写入html IE6,7,8下报错
    从写组件说Xml——背景篇(零)
  • 原文地址:https://www.cnblogs.com/hugetong/p/11582970.html
Copyright © 2011-2022 走看看