반응형
WAPPLES code에 34, 36기준으로 4가지 class면 SSL 완전 정복!
- SSL_DATA : SSL 관련된 모든 함수가 있다.
- SSL_BIO : callBack 관련 (사실 calss 아님:))
- WAPPLES SSL : WAPPLES SSL Manager
- SSL ResumptionStore : Session Reuse 관리
SSL통신을 하기 위한 HandShake과정에서 필요한 정보들
- TLS 버전
- 인증서
- 암호화 방식
- Hash Function 뭐쓸지에 대한 정보.
*암호화 방식과 Hash Function을 합쳐 cipher suit로 묶을 수 있다.
*이런 정보들은 변경되지 않음으로 처음에 한번 만들고 재사용해야함으로 들고 있어야한다.
위와 같은 Handshake하기에 필요한 정보들을 SSL_CTX라고 한다.
- 참고 : CTX는 context의 줄임말. 정보를 들고있다는 뜻.
SSL은 객체 자체가 세션이다. (세션 객체)
.png)
BIO : Buffered Input Output
SSL은 단일 크기가 있다.(암복호화시)
패킷 여러개를 붙여야 할 경우가 있음으로 버퍼링을 할 수 있기때문에 BIO사용.
BIO 사용 이유는 mmap에 쓰려고 기존 socket통신처럼 메모리 많이 사용하지 않으려고.
SSL Termination
.png)
== code ==
WapplesSSL.cpp ( Wapples SSL Manager )
- Find SSL Server (SSL 서버인지 아닌지 알려준다)
WapplesMain.cpp
g_pendingWpPacketQue 가 오는 경우는 두가지
- SSL
- TrainPacket(한 패킷안에 req가 2개 온 경우)
반응형
'study > BAB 스터디' 카테고리의 다른 글
| NP와 DE는 어떻게 통신하는가? (0) | 2022.09.21 |
|---|