<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    捕風(fēng)之巢

    統(tǒng)計

    留言簿(3)

    java友情鏈接

    閱讀排行榜

    評論排行榜

    openssl簡介(二十一)--指令s_client

    ?

    二十一.???? 指令 s_client

    用法:
    ? ?
    ? ? openssl s_client [-connect host:port>;] [-verify depth] [-cert filename]
    ? ?
    ? ? [-key filename] [-CApath directory] [-CAfile filename] [-reconnect]
    ? ?
    ? ? [-pause] [-showcerts] [-debug] [-nbio_test] [-state] [-nbio] [-crlf]
    ? ?
    ? ? [-ign_eof] [-quiet] [-ssl2] [-ssl3] [-tls1] [-no_ssl2] [-no_ssl3]
    ? ?
    ? ? [-no_tls1] [-bugs] [-cipher cipherlist]
    ? ?
    ? ?
    描述:
    ? ?
    用于模擬一個普通的 SSL/TLS client, 對于調(diào)試和診斷 SSL server 很有用。
    ? ?
    ? ? OPTIONS
    ? ? -connect host:port
    ? ?
    這個不用解釋了吧, 連接的 ip:port.
    ? ? -cert certname
    ? ?
    使用的證書文件。如果 server 不要求要證書,這個可以省略。
    ? ? -key keyfile
    ? ?
    使用的私有密鑰文件
    ? ? -verify depth
    ? ?
    指定驗(yàn)證深度。記得 CA 也是分層次的吧?如果對方的證書的簽名 CA 不是 Root CA, 那么你可以再去驗(yàn)證給該 CA 的證書簽名的 CA 一直到 Root CA. 目前的驗(yàn)證操作即使這條 CA 鏈上的某一個證書驗(yàn)證有問題也不會影響對更深層的 CA 的身份的驗(yàn)證。所以整個 CA 鏈上的問題都可以檢查出來。當(dāng)然 CA 的驗(yàn)證出 問題并不會直接造成連接馬上斷開,好的應(yīng)用程序可以讓你根據(jù)驗(yàn)證結(jié)果決定下一步怎么走。
    ? ? -CApath directory
    ? ?
    一個目錄。里面全是 CA 的驗(yàn)證資料,該目錄必須是 " 哈希結(jié)構(gòu) ". verify 指令里會詳細(xì)說明。在建立 client 的證書鏈的時候也有用到這個指令。
    ? ? -CAfile file
    ? ?
    某文件,里面是所有你信任的 CA 的證書的內(nèi)容。當(dāng)你要建立 client 的證書鏈的時候也需要用到這個文件。
    ? ? -reconnect
    ? ?
    使用同樣的 session-id 連接同一個 server 五次,用來測試 server session 緩沖功能是否有問題。
    ? ? -pause
    ? ?
    每次讀寫操作后都挺頓一秒。
    ? ? -showcerts
    ? ?
    顯示整條 server 的證書的 CA 的證書鏈。否則只顯示 server 的證書。
    ? ? -prexit
    ? ?
    當(dāng)程序退出的時候打印 session 的信息。即使連接失敗,也會打印出調(diào)試信息。一般如果連接成功的話,調(diào)試信息將只被打出來一次。本 option 比較有 用,因?yàn)樵谝淮?/span> SSL 連接中, cipher 也可能改變,或者連接可能失敗。要注意的是:有時候打印出來的東西并不一定準(zhǔn)確。 ( 這樣也行?? eric, 言重了 .)
    ? ? -state
    ? ?
    打印 SSL session 的狀態(tài), ssl 也是一個協(xié)議,當(dāng)然有狀態(tài)。
    ? ? -debug
    ? ?
    打印所有的調(diào)試信息。
    ? ? -nbio_test
    ? ?
    檢查非阻塞 socket I/O 運(yùn)行情況。
    ? ? -nbio
    ? ?
    使用非阻塞 socket
    ? ? -crlf
    ? ?
    回把你在終端輸入的換行回車轉(zhuǎn)化成 /r/n 送出去。
    ? ? -ign_eof
    ? ?
    當(dāng)輸入文件到達(dá)文件尾的時候并不斷開連接。
    ? ?-quiet
    ? ?
    不打印出 session 和證書的信息。同時會打開 -ign_eof 這個 option.
    ? ?-ssl2, -ssl3, -tls1, -no_ssl2, -no_ssl3, -no_tls1
    ? ?
    選擇用什么版本的協(xié)議。很容易理解,不用多解釋了吧。
    ? ?
    注意,有些很古老的 server 就是不能處理 TLS1, 所以這個時候要關(guān)掉 TLS1.n.
    ? ?-bugs
    ? ?SSL/TLS
    有幾處眾所周知的 bug, set 了這個 option 使出錯的可能性縮小。
    ? ?-cipher cipherlist
    ? ?
    由我們自己來決定選用什么 cipher ,盡管是由 server 來決定使用什么 cipher, 但它一般都會采用我們送過去的 cipher 列表里的第一個 cipher.
    ? ?
    有哪些 cipher 可用?指令 cipher 對這個解釋的更清楚。
    ? ?
    一旦和某個 SSL server 建立連接之后,所有從 server 得到的數(shù)據(jù)都會被打印出來,所有你在終端上輸入的東西也會被送給 server. 這是人機(jī)交互式的。這時候不能 set -quiet -ign_eof 這倆個 option 。如果輸入的某行開頭字母是 R, 那么在這里 session renegociate, 如果輸入的某行開頭是 Q, 那么連接會被斷開。你完成整個輸入之后連接也會被斷開。
    ? ? If a connection is established with an SSL server then any data received from the server is displayed and any key presses will be sent to the server. When used interactively (which means neither -quiet nor -ign_eof have been given), the session will be renegociated if the line begins with an R, and if the line begins with a Q or if end of file is reached, the connection will be closed down.
    ? ?
    本指令主要是來 debug 一個 SSL server 的。如果想連接某個 SSL HTTP server, 輸入下一條指令:
    ? ?openssl s_client -connect servername:443
    ? ?
    如果連接成功,你可以用 HTTP 的指令,比如 "GET /" 什么的去獲得網(wǎng)頁了。
    ? ?
    如果握手失敗,原因可能有以下幾種:
    ? ? 1. server
    需要驗(yàn)證你的證書,但你沒有證書
    ? ? 2.
    如果肯定不是原因 1, 那么就慢慢一個一個 set 以下幾個 option
    ? ? -bugs, -ssl2, -ssl3, -tls1, -no_ssl2, -no_ssl3, -no_tls1
    ? ?
    這可能是因?yàn)閷Ψ降?/span> server 處理 SSL bug.
    ? ?
    有的時候, client 會報錯:沒有證書可以使用,或者供選擇的證書列表是空的。這一般是因?yàn)?/span> Server 沒有把給你簽名的 CA 的名字列進(jìn)它自己認(rèn)為可以 信任的 CA 列表 , 你可以用檢查一下 server 的信任 CA 列表。有的 http server 只在 client 給出了一個 URL 之后才驗(yàn)證 client 的證書,這中情況下要 set -prexit 這個 option, 并且送給 server 一個頁面請求。
    ? ?
    即使使用 -cert 指明使用的證書,如果 server 不要求驗(yàn)證 client 的證書,那么該證書也不會被驗(yàn)證。所以不要以為在命令行里加了 -cert 的參數(shù)又連接成功就代表你的證書沒有問題。
    ? ?
    如果驗(yàn)證 server 的證書沒有問題,就可以 set -showcerts 來看看 server 的證書的 CA 鏈了。
    ? ?
    其實(shí)這個工具并不好用, 自己寫一個 client 的會方便很多。
    ? ?
    舉例時間:
    ? ?
    注意,中間的 pop3 協(xié)議的指令是我通過終端輸入的。其他都是程序輸出的對話
    ? ?
    過程。具體的每行意義不用解釋了。


    openssl s_client -key server.key -verify 1 -showcerts -prexit -state \
    ? ? -crlf -connect 127.0.0.1:5995
    ? ? verify depth is 1
    ? ? CONNECTED(00000003)
    ? ? SSL_connect:before/connect initialization
    ? ? SSL_connect:SSLv2/v3 write client hello A
    ? ? SSL_connect:SSLv3 read server hello A
    ? ? depth=0 /C=AU/ST=Some-State/L=gz/O=ai ltd/OU=sw/CN=fordesign/
    ? ? Email=xxx@xxx.xom
    ? ? verify error:num=20:unable to get local issuer certificate
    ? ? verify return:1
    ? ? depth=0 /C=AU/ST=Some-State/L=gz/O=ai ltd/OU=sw/CN=fordesign/
    ? ? Email=xxx@xxx.xom
    ? ? verify error:num=27:certificate not trusted
    ? ? verify return:1
    ? ? depth=0 /C=AU/ST=Some-State/L=gz/O=ai ltd/OU=sw/CN=fordesign/
    ? ? Email=xxx@xxx.xom
    ? ? verify error:num=21:unable to verify the first certificate
    ? ? verify return:1
    ? ? SSL_connect:SSLv3 read server certificate A
    ? ? SSL_connect:SSLv3 read server done A
    ? ? SSL_connect:SSLv3 write client key exchange A
    ? ? SSL_connect:SSLv3 write change cipher spec A
    ? ? SSL_connect:SSLv3 write finished A
    ? ? SSL_connect:SSLv3 flush data
    ? ? SSL_connect:SSLv3 read finished A
    ? ? Certificate chain
    ? ? 0 s:/C=AU/ST=Some-State/L=gz/O=ai ltd/OU=sw/CN=fordesign/Email=xxx@xxx.xom
    ? ? i:/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=fordesign/
    ? ? Email=fordeisgn@21cn.com
    ? ? ----BEGIN CERTIFICATE-----
    ? ? MIIDdzCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQQFADB8MQswCQYDVQQGEwJBVTET
    ? ? MBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQ
    ? ? dHkgTHRkMRIwEAYDVQQDEwlmb3JkZXNpZ24xITAfBgkqhkiG9w0BCQEWEmZvcmRl
    ? ? aXNnbkAyMWNuLmNvbTAeFw0wMDExMTIwNjE5MDNaFw0wMTExMTIwNjE5MDNaMH0x
    ? ? CzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMQswCQYDVQQHEwJnejEP
    ? ? MA0GA1UEChMGYWkgbHRkMQswCQYDVQQLEwJzdzESMBAGA1UEAxMJZm9yZGVzaWdu
    ? ? MRowGAYJKoZIhvcNAQkBFgt4eHhAeHh4LnhvbTCBnzANBgkqhkiG9w0BAQEFAAOB
    ? ? jQAwgYkCgYEAuQVRVaCyF+a8/927cA9CjlrSEGOL17+Fk1U6rqZ8fJ6UR+kvhUUk
    ? ? fgyMmzrw4bhnZlk2NV5afZEhiiNdRri9f8loklGRXRkDfmhyUWtjiFWUDtzkuQoT
    ? ? 6jhWfoqGNCKh/92cjq2wicJpp40wZGlfwTwSnmjN9/eNVwEoXigSy5ECAwEAAaOC
    ? ? AQYwggECMAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJh
    ? ? dGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBS+WovE66PrvCAtojYMV5pEUYZtjzCB
    ? ? pwYDVR0jBIGfMIGcgBRpQYdVvVKZ0PXsEX8KAVNYTgt896GBgKR+MHwxCzAJBgNV
    ? ? BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
    ? ? aWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMTCWZvcmRlc2lnbjEhMB8GCSqGSIb3DQEJ
    ? ? ARYSZm9yZGVpc2duQDIxY24uY29tggEAMA0GCSqGSIb3DQEBBAUAA4GBADDOp/O/
    ? ? o3mBZV4vc3mm2C6CcnB7rRSYEoGm6T6OZsi8mxyF5w1NOK5oI5fJU8xcf8aYFVoi
    ? ? 0i4LlsiQw+EwpnjUXfUBxp/g4Cazlv57mSS6h1t4a/BPOIwzcZGpo/R3g/fOPwsF
    ? ? F/2RC++81s6k78iezFrTs9vnsm/G4vRjngLI
    ? ? -----END CERTIFICATE-----
    ? ? ---
    ? ? Server certificate
    ? ? subject=/C=AU/ST=Some-State/L=gz/O=ai ltd/OU=sw/CN=fordesign/
    ? ? Email=xxx@xxx.xom
    ? ? issuer=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=fordesign/
    ? ? Email=fordeisgn@21cn.com
    ? ? ---
    ? ? No client certificate CA names sent
    ? ? ---
    ? ? SSL handshake has read 1069 bytes and written 342 bytes
    ? ? ---
    ? ? New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA
    ? ? Server public key is 1024 bit
    ? ? SSL-Session:
    ? ? Protocol : SSLv3
    ? ? Cipher : DES-CBC3-SHA
    ? ? Session-ID: E1EC3B051F5DB8E2E3D3CD10E4C0412501DDD6641ACA932B65
    ? ? DC25DCD0A3A86E
    ? ? Session-ID-ctx:
    ? ? Master-Key: 47DB3A86375DB2E99982AFD8F5B382B4316385694B01B74BFC3
    ? ? FA26C7DBD489CABE0EE1B20CE8E95E4ABF930099084B0
    ? ? Key-Arg : None
    ? ? Start Time: 974010506
    ? ? Timeout : 300 (sec)
    ? ? Verify return code: 0 (ok)
    ? ? ---
    ? ? +OK AIMC POP service (sol7.gzai.com) is ready.
    ? ? user ssltest0
    ? ? +OK Please enter password for user <ssltest0>;.
    ? ? pass ssltest0
    ? ? +OK ssltest0 has 12 message (282948 octets)
    ? ? list
    ? ? +OK 12 messages (282948 octets)
    ? ? 1 21230
    ? ? 2 21230
    ? ? 3 21230
    ? ? 4 21230
    ? ? 5 21229
    ? ? 6 21230
    ? ? 7 21230
    ? ? 8 21230
    ? ? 9 111511
    ? ? 10 136
    ? ? 11 141
    ? ? 12 1321
    ? ???.
    ? ? quit
    ? ? +OK Pop server at (sol7.gzai.com) signing off.
    ? ? read:errno=0
    ? ? SSL3 alert write:warning:close notify
    ? ? ---
    ? ? Certificate chain
    ? ? 0 s:/C=AU/ST=Some-State/L=gz/O=ai ltd/OU=sw/CN=fordesign/
    ? ? Email=xxx@xxx.xom
    ? ? i:/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=fordesign/
    ? ? Email=fordeisgn@21cn.com
    ? ? -----BEGIN CERTIFICATE-----
    ? ? MIIDdzCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQQFADB8MQswCQYDVQQGEwJBVTET
    ? ? MBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQ
    ? ? dHkgTHRkMRIwEAYDVQQDEwlmb3JkZXNpZ24xITAfBgkqhkiG9w0BCQEWEmZvcmRl
    ? ? aXNnbkAyMWNuLmNvbTAeFw0wMDExMTIwNjE5MDNaFw0wMTExMTIwNjE5MDNaMH0x
    ? ? CzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMQswCQYDVQQHEwJnejEP
    ? ? MA0GA1UEChMGYWkgbHRkMQswCQYDVQQLEwJzdzESMBAGA1UEAxMJZm9yZGVzaWdu
    ? ? MRowGAYJKoZIhvcNAQkBFgt4eHhAeHh4LnhvbTCBnzANBgkqhkiG9w0BAQEFAAOB
    ? ? jQAwgYkCgYEAuQVRVaCyF+a8/927cA9CjlrSEGOL17+Fk1U6rqZ8fJ6UR+kvhUUk
    ? ? fgyMmzrw4bhnZlk2NV5afZEhiiNdRri9f8loklGRXRkDfmhyUWtjiFWUDtzkuQoT
    ? ? 6jhWfoqGNCKh/92cjq2wicJpp40wZGlfwTwSnmjN9/eNVwEoXigSy5ECAwEAAaOC
    ? ? AQYwggECMAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJh
    ? ? dGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBS+WovE66PrvCAtojYMV5pEUYZtjzCB
    ? ? pwYDVR0jBIGfMIGcgBRpQYdVvVKZ0PXsEX8KAVNYTgt896GBgKR+MHwxCzAJBgNV
    ? ? BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
    ? ? aWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMTCWZvcmRlc2lnbjEhMB8GCSqGSIb3DQEJ
    ? ? ARYSZm9yZGVpc2duQDIxY24uY29tggEAMA0GCSqGSIb3DQEBBAUAA4GBADDOp/O/
    ? ? o3mBZV4vc3mm2C6CcnB7rRSYEoGm6T6OZsi8mxyF5w1NOK5oI5fJU8xcf8aYFVoi
    ? ? 0i4LlsiQw+EwpnjUXfUBxp/g4Cazlv57mSS6h1t4a/BPOIwzcZGpo/R3g/fOPwsF
    ? ? F/2RC++81s6k78iezFrTs9vnsm/G4vRjngLI
    ? ? -----END CERTIFICATE-----
    ? ? ---
    ? ? Server certificate
    ? ? subject=/C=AU/ST=Some-State/L=gz/O=ai ltd/OU=sw/CN=fordesign/
    ? ? Email=xxx@xxx.xom
    ? ? issuer=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=fordesign/
    ? ? Email=fordeisgn@21cn.com
    ? ? ---
    ? ? No client certificate CA names sent
    ? ? ---
    ? ? SSL handshake has read 1579 bytes and written 535 bytes
    ? ? ---
    ? ? New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA
    ? ? Server public key is 1024 bit
    ? ? SSL-Session:
    ? ? Protocol : SSLv3
    ? ? Cipher : DES-CBC3-SHA
    ? ? Session-ID: E1EC3B051F5DB8E2E3D3CD10E4C0412501DDD6641ACA932B65DC2
    ? ? 5DCD0A3A86E
    ? ? Session-ID-ctx:
    ? ? Master-Key: 47DB3A86375DB2E99982AFD8F5B382B4316385694B01B74BFC3FA
    ? ? 26C7DBD489CABE0EE1B20CE8E95E4ABF930099084B0
    ? ? Key-Arg : None
    ? ? Start Time: 974010506
    ? ? Timeout : 300 (sec)
    ? ? Verify return code: 0 (ok)

    posted on 2006-10-17 15:46 捕風(fēng) 閱讀(1847) 評論(0)  編輯  收藏 所屬分類: java安全

    主站蜘蛛池模板: 亚洲高清无码综合性爱视频| 久久青青草原亚洲av无码| 456亚洲人成影院在线观| 女人张开腿等男人桶免费视频| 日本系列1页亚洲系列| 亚洲性在线看高清h片| 亚洲av无码专区国产乱码在线观看| 日本在线看片免费人成视频1000 | 国产在线ts人妖免费视频| 亚欧乱色国产精品免费视频| 亚洲成在人线中文字幕| 99re在线免费视频| 亚洲精品无码aⅴ中文字幕蜜桃| 国产午夜亚洲精品国产成人小说| 在线观看免费视频资源| 瑟瑟网站免费网站入口| 亚洲女人影院想要爱| 亚洲精品无码av天堂| 日韩在线免费视频| 一区二区三区免费电影| 久久精品国产亚洲AV蜜臀色欲| 亚洲一区二区三区国产精品| 亚洲成在人线aⅴ免费毛片| 亚洲欧洲国产精品久久| 亚洲国产中文字幕在线观看 | 亚洲人成网站免费播放| 国产日韩一区二区三免费高清| 伊人久久五月丁香综合中文亚洲| 国产AV无码专区亚洲A∨毛片| 日韩视频免费一区二区三区| 久久久久高潮毛片免费全部播放| 污污视频免费观看网站| 亚洲粉嫩美白在线| 亚洲成人中文字幕| 久久亚洲国产精品123区| 好男人看视频免费2019中文 | 无码人妻精品一二三区免费| 久久久久免费看成人影片| 一区二区三区免费视频网站| 美女视频免费看一区二区| 亚洲一区二区三区在线观看蜜桃|