SSL_CTX_set_mode(3) - wariua/manpages-ko GitHub Wiki
SSL_CTX_set_mode, SSL_set_mode, SSL_CTX_get_mode, SSL_get_mode - SSL ์์ง ๋ชจ๋ ์กฐ์ํ๊ธฐ
#include <openssl/ssl.h>
long SSL_CTX_set_mode(SSL_CTX *ctx, long mode);
long SSL_set_mode(SSL *ssl, long mode);
long SSL_CTX_get_mode(SSL_CTX *ctx);
long SSL_get_mode(SSL *ssl);
SSL_CTX_set_mode()
๋ mode
์ ๋นํธ๋ง์คํฌ์ ์ค์ ํ ๋ชจ๋๋ฅผ ctx
์ ์ถ๊ฐํ๋ค. ์ด๋ฏธ ์ค์ ํ ์ต์
๋ค์ ํด์ ๋์ง ์๋๋ค.
SSL_set_mode()
๋ mode
์ ๋นํธ๋ง์คํฌ์ ์ค์ ํ ๋ชจ๋๋ฅผ ssl
์ ์ถ๊ฐํ๋ค. ์ด๋ฏธ ์ค์ ํ ์ต์
๋ค์ ํด์ ๋์ง ์๋๋ค.
SSL_CTX_get_mode()
๋ ctx
์ ์ค์ ๋ ๋ชจ๋๋ฅผ ๋ฐํํ๋ค.
SSL_get_mode()
๋ ssl
์ ์ค์ ๋ ๋ชจ๋๋ฅผ ๋ฐํํ๋ค.
๋ค์ ๋ชจ๋ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
SSL_MODE_ENABLE_PARTIAL_WRITE
-
SSL_write_ex(..., n, &r)
๊ฐ0 < r < n
์ธr
์ ๋ฐํํ๋ ๊ฒ์ (์ฆ ํ ๋ฐ์ดํธ๋ง ์ผ์ ๋์๋ ์ฑ๊ณต์ ๋ณด๊ณ ํ๋ ๊ฒ์) ํ์ฉํ๋ค.SSL_write()
์๋ ๋น์ทํ๊ฒ ๋์ํ๋ค. ์ค์ ๋ผ ์์ง ์์ผ๋ฉด (๊ธฐ๋ณธ ๋์)SSL_write_ex()
๋ด์งSSL_write()
๊ฐ ๋ฉ์ด๋ฆฌ ์ ์ฒด๋ฅผ ์ด ๋ค์์๋ง ์ฑ๊ณต์ ๋ณด๊ณ ํ๋ค.SSL_write_ex()
๋ด์งSSL_write()
๊ฐ ์ฑ๊ณต์ผ๋ก ๋ฐํํ๊ณ ๋๋ฉดr
๋ฐ์ดํธ๋ง ์จ์ง ๊ฒ์ด๋ฏ๋ก ๋ค์SSL_write_ex()
๋ด์งSSL_write()
ํธ์ถ์์๋ ๋จ์ ์๋n-r
๋ฐ์ดํธ๋ง ๋ณด๋ด์ผ ํ๋ค. ์ฆwrite()
์ ๋น์ทํ๋ค. SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER
- ๋ฐ๋ ๋ฒํผ ์์น๋ก
SSL_write_ex()
๋ด์งSSL_write()
๋ฅผ ์ฌ์๋ํ ์ ์๊ฒ ๋ง๋ ๋ค. (๋ฒํผ ๋ด์ฉ๋ฌผ์ ๋์ผํ๊ฒ ์ ์ง๋ผ์ผ ํ๋ค.) ์ด ๋์ ๋ฐฉ์์ด ๊ธฐ๋ณธ์ด ์๋ ๊ฑด ๋ ผ๋ธ๋กํนSSL_write()
๊ฐ ๋ ผ๋ธ๋กํนwrite()
์ฒ๋ผ ๋์ํ๋ค๋ ์ค์ธ์ ํผํ๊ธฐ ์ํด์์ด๋ค. SSL_MODE_AUTO_RETRY
- ์ ์ก์์ ๋ธ๋ก ๋๋ ๊ฒฝ์ฐ์ ์์ฉ์์ ๊ท์ฐฎ๊ฒ ์ฌ์๋ํ ํ์๊ฐ ์๊ฒ ํด ์ค๋ค. ์ ์ ๋์ ์ค ์ฌํ์์ด ์ผ์ด๋๋ฉด
SSL_read_ex(3)
,SSL_read(3)
,SSL_write_ex(3)
,SSL_write(3)
๋SSL_ERROR_WANT_READ
๋ก ์ค๋ฅ๋ฅผ ๋ฐํํ๋ฉฐ ์ฌ์๋ ํ์๋ฅผ ๋ํ๋ธ๋ค. ๋ ผ๋ธ๋กํน ํ๊ฒฝ์์๋ ๋ถ์์ ์ฝ๊ธฐ/์ฐ๊ธฐ ๋์์ ์์ฉ์์ ์ฒ๋ฆฌํ ์ค๋น๊ฐ ๋์ด ์์ด์ผ ํ๋ค. ํ์ง๋ง ๋ธ๋กํน ํ๊ฒฝ์์๋ ์ฝ๊ธฐ/์ฐ๊ธฐ ๋์์ด ์ค๋ฅ ๋ณด๊ณ ์์ด ๋ฐํํ๋ ๊ฑธ ์์ฉ์์ ๋ค๋ฃฐ ์ค๋น๊ฐ ํญ์ ๋์ด ์์ง๊ฐ ์๋ค.SSL_MODE_AUTO_RETRY
ํ๋๊ทธ๋ ํธ๋์ ฐ์ดํฌ ๋ฐ ์ฑ๊ณต ์๋ฃ ํ์๋ง ์ฝ๊ธฐ/์ฐ๊ธฐ ๋์์ด ๋ฐํํ๊ฒ ํ๋ค. SSL_MODE_RELEASE_BUFFERS
- ์ด๋ค SSL์ ๋ํด ์ฝ๊ธฐ ๋ฒํผ๋ ์ฐ๊ธฐ ๋ฒํผ๊ฐ ๋๋ ํ์ํ์ง ์์ผ๋ฉด ๋ฒํผ์ ์ฌ์ฉ ์ค์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ๋ค. ์ด ํ๋๊ทธ๋ฅผ ์ฐ๋ฉด ์ ํด SSL ์ฐ๊ฒฐ๋น 34k ์ ๋๋ฅผ ์ ์ฝํ ์ ์๋ค. ์ด ํ๋๊ทธ๋ SSL v2 ์ฐ๊ฒฐ์ด๋ DTLS ์ฐ๊ฒฐ์๋ ํจ๊ณผ๊ฐ ์๋ค.
SSL_MODE_SEND_FALLBACK_SCSV
-
ClientHello์ TLS_FALLBACK_SCSV๋ฅผ ๋ณด๋ธ๋ค. ํ๋กํ ์ฝ ๋ฒ์ ์ ๋ด๋ ค์ ์ฌ์ฐ๊ฒฐํ๋ ์์ฉ์์๋ง ์ค์ ํ๊ฒ ๋๋ค. ์์ธํ ๋ด์ฉ์ draft-ietf-tls-downgrade-scsv-00์ ๋ณด๋ผ.
์์ฉ์์ ์ผ๋ฐ์ ์ธ ํธ๋์ ฐ์ดํฌ๋ฅผ ์๋ํ๋ ๊ฒฝ์ฐ์๋ ์ ๋ ์ด ํ๋ํฌ๋ฅผ ์ผ์ง ๋ง๋ผ. ๋ช ํํ๊ฒ ํํด ์ฌ์๋๋ฅผ ํ๋ ๊ฒฝ์ฐ์๋ง draft-ietf-tls-downgrade-scsv-00์ ์ง์นจ์ ๋ฐ๋ผ์ ์ฌ์ฉํด์ผ ํ๋ค.
SSL_MODE_ASYNC
- ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ผ ๋ค. ์ด ๋ชจ๋๊ฐ ์ค์ ๋ผ ์์ผ๋ฉด ์ํธ ์ฐ์ฐ ์ํ์ ๋น๋๊ธฐ ์ง์ ์์ง์ ์ฐ๋ ๊ฒฝ์ฐ TLS I/O ๋์์ด
SSL_ERROR_WANT_ASYNC
๋ก ์ฌ์๋ ํ์๋ฅผ ๋ํ๋ผ ์ ์๋ค.SSL_get_error(3)
์ฐธ๊ณ .
SSL_CTX_set_mode()
์ SSL_set_mode()
๋ mode
์ถ๊ฐ ํ์ ์ ๋ชจ๋ ๋นํธ๋ง์คํฌ๋ฅผ ๋ฐํํ๋ค.
SSL_CTX_get_mode()
์ SSL_get_mode()
๋ ํ์ฌ ๋นํธ๋ง์คํฌ๋ฅผ ๋ฐํํ๋ค.
ssl(7)
, SSL_read_ex(3)
, SSL_read(3)
, SSL_write_ex(3)
, SSL_write(3)
, SSL_get_error(3)
OpenSSL 1.1.0์์ SSL_MODE_ASYNC
๊ฐ ์ฒ์ ์ถ๊ฐ๋์๋ค.
Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.
2017-12-31