์๋
SSL์ด ์์ฒญ๊ณผ ํจ๊ป ์๋ํ์ง ์๋๋ค๋ ์ค๋๋ ์ด์ผ๊ธฐ๊ฐ ์์ง๋ง ํ ๊ฑธ์ ๋ ๋์๊ฐ .... Docker ์ปจํ ์ด๋
์์ฒญ์ ์ฌ์ฉํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์๊ณ ๋ด ๋ก์ปฌ ์ปดํจํฐ์์ ์ ๋๋ก ์๋ํ์ง๋ง Docker ์ปจํ ์ด๋์ ๋ฐฐํฌํ ๋ ์์ฒญ ๋ชจ๋์ ์ค๋ฅ๊ฐ ์์ต๋๋ค(SSL ์ค๋ฅ).
[2017-03-31 11:32:29,863] ์ฑ ์ค๋ฅ: /send [POST]์์ ์์ธ
์ญ์ถ์ (๊ฐ์ฅ ์ต๊ทผ ํธ์ถ ๋ง์ง๋ง):
ํ์ผ "/usr/local/lib/python2.7/dist-packages/flask/app.py", ์ค 1982, wsgi_app
์๋ต = self.full_dispatch_request()
full_dispatch_request์ ํ์ผ "/usr/local/lib/python2.7/dist-packages/flask/app.py", 1614ํ
rv = self.handle_user_exception(e)
ํ์ผ "/usr/local/lib/python2.7/dist-packages/flask/app.py", 1517ํ, handle_user_exception
์ฌ์์น(exc_type, exc_value, tb)
full_dispatch_request์ ํ์ผ "/usr/local/lib/python2.7/dist-packages/flask/app.py", 1612ํ
rv = self.dispatch_request()
ํ์ผ "/usr/local/lib/python2.7/dist-packages/flask/app.py", 1598ํ, dispatch_request
self.view_functions rule.endpoint ๋ฐํ
sendrequest์ ํ์ผ "app.py", 62ํ
์๋ต=sess.post(url,params, headers=h,verify=False)
๊ฒ์๋ฌผ์ "/usr/local/lib/python2.7/dist-packages/requests/sessions.py" ํ์ผ, 535ํ
return self.request('POST', url, data=data, json=json, *kwargs)ํ์ผ "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", 488ํ, ์์ฒญresp = self.send(์ค๋น, * send_kwargs)
ํ์ผ "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", 609ํ, ๋ณด๋ด๊ธฐ
r = adapter.send(์์ฒญ, **kwargs)
ํ์ผ "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", 497ํ, ๋ณด๋ด๊ธฐ
SSLError(e, ์์ฒญ=์์ฒญ) ๋ฐ์
SSLError: ("์๋ชป๋ ํธ๋์
ฐ์ดํฌ: SysCallError(-1, '์๊ธฐ์น ์์ EOF')",)
openSSL๊ณผ ๊ด๋ จ์ด ์๋ค๊ณ ๋ค์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ด๋์ด๊ฐ ์์ต๋๊น? ์ข ์์ฑ์ ํฌํจํด์ผ ํฉ๋๊น?
์ปจํ
์ด๋์์ openssl version
๋ฅผ ์คํํ ์ ์์ต๋๊น?
์ด๊ฒ์ ๋ํ Python ๋ฒ์ ๊ณผ ๋งค์ฐ ํ์คํ ๊ด๋ จ๋ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ๋ ์๊ณ ์ถ์ต๋๋ค.
์๋
ํ์ด์ฌ 2.7 (12)
์คํ์ฌ1.0.2g
๊ฐ์ฌ ํด์
์ปจํ ์ด๋์ ์ธ๋ถ์์ ๋์ผํ ๋ฒ์ ์ ์์ฒญ์ ์คํํ๊ณ ์์ต๋๊น? ๋ ๊ฐ์ง ๋ฒ์ ์ด ๋ฌด์์ ๋๊น?
2.11.1 ์์ ์ค, 2..12.5 ์ปจํ ์ด๋ ๋ด๋ถ. ์ฐจ์ด๊ฐ ์๋์?
๋ค, ๋ ๋ฒ์ ์ฌ์ด์ ๊ด์ฐฎ์ ์ฝ๋ ๋ณ๊ฒฝ์ด ์์ต๋๋ค. ์ปจํ ์ด๋์์ 2.11๋ก ๋น ๋ฅด๊ฒ ๋ค์ด๊ทธ๋ ์ด๋ํ์ฌ ์ด๋ค ์ผ์ด ์ผ์ด๋๋์ง ํ์ธํ๊ณ ์ถ์ผ์ญ๋๊น?
์ฌ์ ํ ์คํจํ์ง๋ง ๋ค๋ฅธ ์ค๋ฅ ๋ฉ์์ง์ ํจ๊ป
...
...
ํ์ผ "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", 491ํ, ๋ณด๋ด๊ธฐ
SSLError(e, ์์ฒญ=์์ฒญ) ๋ฐ์
SSLError: ํ๋กํ ์ฝ ์๋ฐ์ผ๋ก EOF๊ฐ ๋ฐ์ํ์ต๋๋ค(_ssl.c:590).
ํ . ๊ทธ ๋ค๋ฅธ ์ค๋ฅ๋ ๊ฑฐ์ ๋์ผํ ์ค๋ฅ์ ๋๋ค. ์ ์ํ๋ ค๋ ์น ์๋ฒ๋ฅผ ์๋ ค์ฃผ์๊ฒ ์ต๋๊น?
์์ฒด ์๋ช ์ธ์ฆ์๊ฐ ์๋ ๋ด ์๋ฒ์ ๋๋ค. SSL์ ๋ฌด์ํ๊ธฐ ์ํด verify=False๋ฅผ ๋ณด๋ด๊ณ ์์ง๋ง ์ข์ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์๋ต=sess.post(url,params, headers=h,verify=False)
์๋ฒ์ TLS ๊ตฌ์ฑ๊ณผ ์ฐ๊ฒฐ๋ OpenSSL ๋ฒ์ ์ ํ์ํ ์ ์์ต๋๊น?
TLS 1.2 ๋ฐ ๋์ผํ openSSL ๋ฒ์ ... ํน๋ณํ ๊ฒ์ ์์ต๋๋ค. ๋๋ ๊ฑฐ๊ธฐ์ ์๊ฐํ์ง ์๋๋ค
๋์ปค ์ธ๋ถ์์ ์ ์๋ํ๋ฏ๋ก ์๋ฒ ์ธก์์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ปจํ
์ด๋
2017๋
3์ 31์ผ ๊ธ์์ผ ์คํ 4:07 Cory Benfield ์๋ฆผ @github.com
์ผ๋ค:
์๋ฒ์ ๋ํ TLS ๊ตฌ์ฑ๊ณผ OpenSSL์ด ๋ฌด์์ธ์ง ๋ณด์ฌ์ค ์ ์์ต๋๊น?
๋งํฌ๋ ๋ฒ์ ์ ๋ฌด์์ ๋๊น?โ
์ค๋ ๋๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kennethreitz/requests/issues/3948#issuecomment-290738188 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AMK55o2K5PaiflW3wHWD_rZYm_WFXXGyks5rrRa6gaJpZM4Mvjzc
.
๋ฐ๋ผ์ ์ฌ๊ธฐ์ "์๋ชป๋"์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ๊ธฐ๋ํ๋ ๊ฒ ์ฌ์ด์ ๋ถ์ผ์น๊ฐ ์๋์ง ์ฌ๋ถ์์๋ง ์ ์๋ฉ๋๋ค. ์๋ฒ๊ฐ SNI๋ฅผ ๊ธฐ๋ํฉ๋๊น? ํธ์คํธ ์ด๋ฆ ๋๋ IP๋ฅผ ํตํด ์๋ฒ์ ์ฐ๊ฒฐํ๊ณ ์์ต๋๊น?
ํด๋น ์ปจํ ์ด๋์์ ๋์ผํ URL๋ก ์๋ฒ๋ฅผ ๋ง๋ฆด ์ ์์ต๋๊น? ์๋๋ฉด ๊ทธ๋ฅ ํ ๋ท์ผ๋ก ์ฐ๊ฒฐํ์๊ฒ ์ต๋๊น? ์ปจํ ์ด๋๋ฅผ ๋ฐฐํฌํ ์๋ฒ์์๋ ์์ฒญ์ด ๋๋ฌํ ์ ์๋์ง ๊ถ๊ธํฉ๋๋ค.
์๋
๋ ๋ค์ ๋ํ ์๋ต์ผ๋ก. ๊ทธ๊ฒ์ SNI๋ฅผ ๊ธฐ๋ํ๊ณ ํธ์คํธ ์ด๋ฆ์ ํตํด ๋๋ฌํฉ๋๋ค.
์ปจํ
์ด๋์์ ์๋ฒ๋ก ํ
๋ทํ ์ ์์ผ๋ฏ๋ก ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ ๊ฒ. http๋ฅผ ํตํด ๋ค๋ฅธ ์๋น์ค๋ฅผ ๋
ธ์ถํ์ผ๋ฉฐ ์ ๋๋ก ์๋ํฉ๋๋ค. ์์ ํ
SSL ํธ๋์
ฐ์ดํฌ ๋ฌด์์ด ์คํจํ๋์ง
2017๋
3์ 31์ผ ๊ธ์์ผ ์คํ 4์ 16๋ถ, Ian Cordasco [email protected]
์ผ๋ค:
ํด๋น ์ปจํ ์ด๋์์ ๋์ผํ URL๋ก ์๋ฒ๋ฅผ ๋ง๋ฆด ์ ์์ต๋๊น? ๋๋
๊ทธ๋ฅ ํ ๋ท? ์์ฒญ์ด ๋ค์์์ ์๋ฒ์ ๋๋ฌํ ์ ์๋์ง ๊ถ๊ธํฉ๋๋ค.
์ปจํ ์ด๋๋ฅผ ๋ฐฐํฌํ ์์น์ ๋๋ค.โ
์ค๋ ๋๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kennethreitz/requests/issues/3948#issuecomment-290740743 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AMK55kVKzprqGA1n1PKJznWX_g_V7nsxks5rrRi-gaJpZM4Mvjzc
.
์, ์ปจํ
์ด๋ ๋ด๋ถ์์ ์๋ฒ๋ก openssl s_client -connect host:port
๋ฅผ ์คํํ ๊ฒฐ๊ณผ๋ ๋ฌด์์
๋๊น?
์๋
๋ฌธ์ ์์ด ์ฐ๊ฒฐ๋ฉ๋๋ค(connected(00003)).
2017๋
3์ 31์ผ ๊ธ์์ผ ์คํ 4์ 19๋ถ, Cory Benfield [email protected]
์ผ๋ค:
์ข์, openssl s_client -connect host:port to๋ฅผ ์คํํ ๊ฒฐ๊ณผ๋ ๋ฌด์์ ๋๊น?
์ปจํ ์ด๋ ๋ด๋ถ์ ์๋ฒ?โ
์ค๋ ๋๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kennethreitz/requests/issues/3948#issuecomment-290741631 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AMK55oeDzw5HhrujLbMFLA6CCowT0umwks5rrRmLgaJpZM4Mvjzc
.
์ฃ์กํฉ๋๋ค. ์ ์ฒด ๊ฒฐ๊ณผ์ ๋๋ค. ํ์ ๊ฒฐ๊ณผ๊ฐ ์ด๋ค์ง ๊ด์ฌ์ด ์ ๋ฆฐ๋ค.
๋ฐํ ์ฝ๋ ํ์ธ: 19(์ธ์ฆ์ ์ฒด์ธ์ ์์ฒด ์๋ช ๋ ์ธ์ฆ์)
2017๋
3์ 31์ผ ๊ธ์์ผ ์คํ 4์ 34๋ถ, Cory Benfield [email protected]
์ผ๋ค:
์ฃ์กํฉ๋๋ค. ์ ์ฒด ๊ฒฐ๊ณผ์ ๋๋ค. ๋๋ ๊ทธ ๊ฒฐ๊ณผ๊ฐ ๋ฌด์์ธ์ง ๊ด์ฌ์ด์๋ค.
ํ์์ด๋ค.โ
์ค๋ ๋๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kennethreitz/requests/issues/3948#issuecomment-290746053 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AMK55o4JyAkpP5h1ZPLBOkRONN2z9Em8ks5rrRz-gaJpZM4Mvjzc
.
๊ทธ๊ฒ์ด ์ ์ฒด ๊ฒฐ๊ณผ๋ ์๋๋๋ค. ํด๋น ๋ช ๋ น์ ๋ชจ๋ ๋ด์ฉ์ ๋ณต์ฌํ์ฌ ๋ถ์ฌ๋ฃ์ผ์ญ์์ค.
์๋์, ์ ์ฒด ๊ฒฐ๊ณผ์ ๋๋ค. ๋ชจ๋ ์ถ๋ ฅ. ๋ชจ๋ ๊ฒ์ด ์ธ์๋ฉ๋๋ค.
๊ฑฐ๊ธฐ์๋ ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ๊ฒ์ด ์์ผ๋ฉฐ tls ๋ฒ์ , ์ธ์ฆ์ ์ ๋ณด ๋ฑ ...
์ปจํ
์ด๋ ์ธ๋ถ์์ ์ ํํ ๋์ผํ ์๋ต์ ๋ฐ๊ณ ์์ต๋๋ค.
El El vie, 2017๋
3์ 31์ผ ์ค์ 16์ 40๋ถ, Cory Benfield [email protected]
๊ธฐ๋ก:
์๋์, ์ ์ฒด ๊ฒฐ๊ณผ์ ๋๋ค. ๋ชจ๋ ์ถ๋ ฅ. ๋ชจ๋ ๊ฒ์ด ์ธ์๋ฉ๋๋ค.
โ
์ค๋ ๋๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kennethreitz/requests/issues/3948#issuecomment-290747930 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AMK55iD8dY2eDxdfz1j0YzpteN8ThFJ3ks5rrR58gaJpZM4Mvjzc
.
๊ทธ ์ ๋ณด๊ฐ ๋ฐ๋ก ๋ด๊ฐ ๊ด์ฌ์ ๊ฐ๋ ๊ฒ์ ๋๋ค. TLS Client Hello์ ์ด๋ค ๊ฒ์ด ๊ทํ์ ์๋ฒ๋ฅผ ํ๋๊ฒ ๋ง๋ค๊ณ ์์ผ๋ฏ๋ก ๊ทํ์ ์๋ฒ๊ฐ ๋ฌด์์ ํ์ํ๋์ง ๋ณด๊ณ ์ถ์ต๋๋ค.
์ข์, ๋ด ์ธ์ฆ์๊ฐ ์๋์ง ํ์ธํ๊ธฐ ์ํด ๋ญ๊ฐ๋ฅผ ํด๋ณด์. ๋๋ ๋ฌด์์ด๋ ๊ฒ์ํ ๊ฒ์ด๋ค
์์ฒด ์๋ช
๋ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ๋ ๋ค๋ฅธ ํ์ด์ง(์๊ณ ์๋ ๊ฒฝ์ฐ
๊ณต์ ) ๊ทธ๋ฆฌ๊ณ ๋๋ ๊ทธ๊ฒ์ ๋ํด ์๋ ํ ๊ฒ์ด๋ฏ๋ก ๋น์ ์ ๊ทธ๊ฒ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค
์๋ฒ๋
El El vie, 2017๋
3์ 31์ผ ์ค์ 16์ 46๋ถ, Cory Benfield [email protected]
๊ธฐ๋ก:
๊ทธ ์ ๋ณด๊ฐ ๋ฐ๋ก ๋ด๊ฐ ๊ด์ฌ์ ๊ฐ๊ณ ์๋ ๊ฒ์
๋๋ค. ์ฐ๋ฆฌ TLS์ ์๋ ๊ฒ
Client Hello๊ฐ ๊ทํ์ ์๋ฒ๋ฅผ ํ๋๊ฒ ๋ง๋ค๊ณ ์์ผ๋ฏ๋ก ๋ณด๊ณ ์ถ์ต๋๋ค.
๋น์ ์ ์๋ฒ๊ฐ ๋ฌด์์ ํ์ํ๊ณ ์๋์ง.
โ
์ค๋ ๋๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๋ ๊ฒ์
๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kennethreitz/requests/issues/3948#issuecomment-290749603 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AMK55oT_6jlrkIO4VlXRsoohjEGzNy3pks5rrR_TgaJpZM4Mvjzc
.
๋น์ ์ ์ธ์ฆ์๊ฐ ์๋๋๋ค. ๋ฌธ์ ์ ์ค๋ฅ ๋ฉ์์ง(์๊ธฐ์น ์์ EOF)๋ TLS ํธ๋์ ฐ์ดํฌ ์ค์ ์๋ฒ๊ฐ TCP FIN ๋๋ RST ํจํท์ ์๋ฒ ๊ฐ ์ฐ๋ฆฌ๊ฐ ์๋๋ผ ์ฐ๊ฒฐ์ ๋ซ๊ธฐ๋ก ์ ํํ์์ ์๋ฏธํฉ๋๋ค. ๊ทธ๊ฒ์ ์๋ฒ ๊ฐ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ฒ์ ํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ์์ ์๋ฏธํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด๊ฒ์ ์ธ์ฆ์์ ์ค๋ฅ๊ฐ ์๋๋๋ค. ์์ง ์ ํจ์ฑ์ ๊ฒ์ฌํ ์ ์๋ ๋จ๊ณ์ ์ด๋ฅด์ง ๋ชปํ์ต๋๋ค.
@javixeneize ์์ฒญํ ์ ๋ณด ์์ด๋ ์ ํฌ๊ฐ ๋ฌด์์ ๋์๋๋ฆด ์ ์์์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์๊ฒ ์ต๋๋ค. ์์์ผ์ ์ ๊ณตํ๊ฒ ์ต๋๋ค.
El El vie, 2017๋
3์ 31์ผ ๋ผ์ค 17:19, Ian Cordasco [email protected]
๊ธฐ๋ก:
@javixeneize ์ ๋ณด ์์ด https://github.com/javixeneize
์ ํฌ๊ฐ ๊ทํ์๊ฒ ์์ฒญํ์ง๋ง ์ ํฌ๊ฐ ๋ฌด์์ ๋ ๋์๋๋ฆด ์ ์์์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kennethreitz/requests/issues/3948#issuecomment-290759070 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AMK55ugTXZp-cZpp9JJJ7WmACcYXho2Rks5rrSeegaJpZM4Mvjzc
.
root<strong i="5">@4f66ccbaef3c</strong>:/# openssl s_client -connect api.quinto.ai:443
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = fbbot.quintoapp.com
verify return:1
---
Certificate chain
0 s:/CN=fbbot.quintoapp.com
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFCjCCA/KgAwIBAgISA1Bg18LrjA3qyyrEDmzE+5YSMA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAzMTQwNzMyMDBaFw0x
NzA2MTIwNzMyMDBaMB4xHDAaBgNVBAMTE2ZiYm90LnF1aW50b2FwcC5jb20wggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD0xbEa4W4k4BlPrIxeVX+ekPl1
Od4OuwepY5Ha2BQd6YMiphh+we5H6JVu2XDuPbQnmQMtEwGa2T2Adhic4bGPPC7+
0j+utJuqGBRIbYJ09A5EQOhB4HhOSI82l1ZpPkHpvOiC4UoEgG4KOLnqBX0JydI3
8vhiV4EgbLr77wARsEeinK+Zj+7bpsEK8q+B7mR5km6f6tKT/i++Wd4Fx3Pz7iuK
aCulKzG4IMxopE/9DDf608H/3cFcSHvg/4IguPoOCx2ArNKE7QCNFGYAx9HhnV2y
AYVbd2WGWeJKuNWEwCF+nvxGDo4cHdT6kq9HHB6kPTYrZb7PrKtkq1C3MNB/AgMB
AAGjggIUMIICEDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG
CCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFENiqFyUkXGaxd/woyxi
6SqQz2WqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAGCCsGAQUF
BwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxldHNlbmNy
eXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5sZXRzZW5j
cnlwdC5vcmcvMB4GA1UdEQQXMBWCE2ZiYm90LnF1aW50b2FwcC5jb20wgf4GA1Ud
IASB9jCB8zAIBgZngQwBAgEwgeYGCysGAQQBgt8TAQEBMIHWMCYGCCsGAQUFBwIB
FhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYBBQUHAgIwgZ4MgZtU
aGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1cG9uIGJ5IFJlbHlp
bmcgUGFydGllcyBhbmQgb25seSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIENlcnRp
ZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNlbmNyeXB0Lm9yZy9y
ZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAf80at95dsb9WsSMaChtKNEJR
FfuPd/5MZaqFxWM6+AtEGZt2qbeOExIShEHFehUSWQnrCBTiPY6ildK1E5nhduap
4K0O7FrnMVaNBhnoBT7jsZMs7ivLpaKCT6imR71hQTUv07xw1kQJMu/jrHHtVjNi
9iI+VryZeETIVBtCXbirwKxT0JYLicdS/9M9m9wC7/H8xWVkcRR5dMI2Im+4klX4
eGmgi+XCJPkDZZEpfQHmIqQQ9ccCpP0BFs0JqfwLich71NdPihVnJDhVZrEVMcgs
+412WdWCOTIXrEzsL6xddypVETY2k5Z3S8sZTInWA9nYOGHW82xwh6/tRU+yiQ==
-----END CERTIFICATE-----
subject=/CN=fbbot.quintoapp.com
issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
---
No client certificate CA names sent
Peer signing digest: SHA512
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 3157 bytes and written 433 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
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-AES128-GCM-SHA256
Session-ID: 78B1ABFE5A7BF1E698FB5D43D1A75D6F874DD9D2E12816E3276B349FC0C4B96B
Session-ID-ctx:
Master-Key: B6EE0F224CB1A93379B86524E9F01D618A018E2F1D68F5AB29F7570611F0D9CF4210F9946335A9FAAEEA143B0BC98D26
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 300 (seconds)
TLS session ticket:
0000 - 00 39 b1 81 4d f9 90 0a-b2 dd a8 e7 b5 6b 74 7c .9..M........kt|
0010 - ba 4e 8b 51 75 df c4 ae-e1 6c dc 3e 05 a1 0e fc .N.Qu....l.>....
0020 - 4e 61 83 34 f4 ea 06 b7-8d 54 82 01 a8 b2 fa 2a Na.4.....T.....*
0030 - 48 69 01 b5 06 6b ee 18-3d 93 f5 d7 31 d8 66 8f Hi...k..=...1.f.
0040 - a4 6f f4 6c 2d 48 37 9f-33 b7 36 49 39 1f 2f 31 .o.l-H7.3.6I9./1
0050 - 1a 0d 8f 8e 34 36 3d d1-09 fb 6b 5b 5d 68 80 3e ....46=...k[]h.>
0060 - 66 d9 44 11 4d 12 d5 cc-df eb c3 45 ae 04 10 56 f.D.M......E...V
0070 - 34 ad 98 8f f9 1b f2 33-00 a4 b3 3c a5 40 80 8e 4......3...<.@..
0080 - 9b f1 b5 40 e5 2b 29 86-7e 2b f6 95 03 4b e3 b4 ...@.+).~+...K..
0090 - ab 16 25 bc 47 bf fb 87-dc 13 0e 10 a8 1b 18 fb ..%.G...........
00a0 - 3b 65 07 96 05 ce 1a c2-9a d4 d8 73 fd 38 40 8b ;e.........s.8@.
00b0 - 0e 52 df 26 19 fc 9f 04-06 28 b3 25 5c e2 64 51 .R.&.....(.%\.dQ
Start Time: 1496212705
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
read:errno=0
@harry1064์ ์ค์ ๋ฌธ์ ๋ ๋ฌด์์ ๋๊น?
@Lukasa ๋ด ์๋ฒ์์ ์คํ๋๋ ๋์ปค ์ปจํ
์ด๋ ๋ด๋ถ์์ ์คํํ openssl s_client -connect api.quinto.ai:443
๋ช
๋ น์ ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด CN์ด ๋ด ๋์ปค ์ปจํ
์ด๋๊ฐ ์คํ ์ค์ธ ํธ์คํธ ์๋ฒ๋ฅผ ๊ฐ๋ฆฌํค๋ fbbot.quintoapp.com์์ ๋ณผ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ด๊ฐ ํธ์คํธ ์๋ฒ์์ ์คํํ ๋์ผํ ๋ช
๋ น์ธ CN์ api.quinto.ai์์ต๋๋ค.
๊ทธ๋์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ปค ์ปจํ
์ด๋์์ ์คํ ์ค์ธ ํ์ด์ฌ ์๋ฒ๊ฐ ์๊ณ ๋ค๋ฅธ ์๋ฒ api.quinto.ai์ ์์ฒญ์ ํ๊ณ ์ถ์ง๋ง ์์ฒญ์ ์ฌ์ฉํ์ฌ ๊ทธ๋ ๊ฒ ํ ์ ์์ต๋๋ค. ํธ์คํธ ์ปดํจํฐ์ ์ธํฐํ๋ฆฌํฐ์์ ์คํํ ๋์ผํ ํ์ด์ฌ ์ฝ๋, ์ ๋๋ก ์๋ํ์ง๋ง ๋์ปค ์ปจํ
์ด๋์ ๋ก๊ทธ์ธํ๊ณ ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ ๋ด๋ถ์์ ๋์ผํ ์ฝ๋๋ฅผ ์คํํ๋ฉด ์๋ํ์ง ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก OpenSSL s_client๋ ์๋ฒ ์ด๋ฆ ํ์ ํ๋๋ฅผ ํ์ํ์ง ์์ต๋๋ค. ์ฆ, ์๊ฒฉ ์๋ฒ๊ฐ ์ ํํ ์ธ์ฆ์๋ฅผ ํ์ํฉ๋๋ค. ๋ช ๋ น์ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํ๋ฉด ๋ ๊ฒฝ์ฐ ๋ชจ๋ ๋์ผํ ์ถ๋ ฅ์ ์ป์ต๋๊น?
openssl s_client -connect api.quinto.ai:443 -servername api.quinto.ai
๊ทธ๋ ์ง ์๋๋ผ๋ ์ด๊ฒ์ ์์ฒญ์ด ์๋ ๋์ปค์ ๋ฌธ์ ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค. ์์ฒญ์ ์ฌ์ฉํ์ง ์๋ openssl ๋ช ๋ น์ค์ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ์ฌํํ๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ๊ทธ๋์ ๋๋ ๋น์ ์ด ์ฐ๋ฆฌ๊ฐ ๋น์ ์ ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ๊ธฐ๋ฅผ ์ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋ ๊ฒฝ์ฐ ๋ชจ๋ ๋์ผํ ๋ต๋ณ์ ๋ฐ์์ต๋๋ค. ๊ทธ๋์ iptables ๊ฐ์ ๋งคํ์ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด docker์ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ด์ฉ๋ฉด ์ด๊ฒ์ ๋๊ตฐ๊ฐ๋ฅผ ๋์ธ ์ ์์ต๋๋ค. ๋๋ฅผ ์ํด ๋๋ ์ด๊ฒ์ ์ค์นํด์ผํ์ต๋๋ค.
OpenSSL 1.0.2g 2016๋ 3์ 1์ผ
requests[security]==2.7.0 # not 2.18.x
cryptography==1.9 # not 2.0
์ด ํ ๋ก ์ ๋ช ๋ฌ ์ ์ ์ง๋ถํ์ต๋๋ค. ๋๋ ์ด๊ฒ์ ๋ซ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ๋ค์ ์ด ์ ์์ต๋๋ค.
@harry1064 @javixeneize ์ด๊ฒ์ ๋ํ ํด๊ฒฐ์ฑ ์ ์ฐพ์์ต๋๊น? ๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ผ๋ฉฐ ์๋ง๋ ์ด๊ฒ์ด Docker ๋ฌธ์ ์ผ ์ ์์ต๋๋ค. ๊ทผ๋ฐ ์ด๊ฑธ ์ด๋ป๊ฒ ๊ทน๋ณตํด์ผํ ์ง ์ ๋ง ๋ชจ๋ฅด๊ฒ ์ด...
๊ฐ์ฌ ํด์!
์๋์...
El El jue, 11 ene 2018 a las 14:11, Gabriel Gularte <
์๋ฆผ@github.com> ์ค๋ช
:
@harry1064 https://github.com/harry1064 @javixeneize
https://github.com/javixeneize ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๊น?
์ด๊ฒ? ๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ผ๋ฉฐ ์๋ง๋ ์ด๊ฒ์ด Docker ๋ฌธ์ ์ผ ์ ์์ต๋๋ค. ํ์ง๋ง
์ด๊ฑธ ์ด๋ป๊ฒ ๊ทน๋ณตํด์ผ ํ ์ง ์ ๋ง ๋ชจ๋ฅด๊ฒ ์ด...๊ฐ์ฌ ํด์!
โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/requests/requests/issues/3948#issuecomment-356944272 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AMK55roWfMLccuizdHKWQTTOq2gU3BXMks5tJhYegaJpZM4Mvjzc
.
๋ค์ ๋ฒ์ ์ ์ค์นํด ๋ณด์ญ์์ค.
requests[security]==2.7.0
cryptography==1.9
pyOpenSSL==17.4.0
์๋
ํ์ธ์ ,
๋น์ทํ ๋ฌธ์ ๊ฐ ์์๋๋ฐ ์์์ ์ธ๊ธํ ๋ฒ์ ์ผ๋ก ์ ํ๋ ํ ๋ชจ๋ ๊ฒ์ด ์ํํ๊ฒ ์งํ๋์์ต๋๋ค( python 3.6
).
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ค์ ๋ฒ์ ์ ์ค์นํด ๋ณด์ญ์์ค.