2017-11-20 12 views
0

클라이언트 hello에서 사용자 정의 클라이언트 확장을 얻으려고했지만 get_custom_ext 또는 이와 유사한 메소드를 발행하는 방법을 알지 못합니다. 클라이언트가 추가 한 OpenSSL 사용자 정의 확장 가져 오기

는 첫째로 우리는 이제 클라이언트가 모든 클라이언트 인사에 하나의 내선 번호를 추가
int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx, unsigned int ext_type, 
              custom_ext_add_cb add_cb, 
              custom_ext_free_cb free_cb, void *add_arg, 
              custom_ext_parse_cb parse_cb, 
              void *parse_arg) 

SSL_CTX_set_custom_cli_ext

와 클라이언트 측 확장을 추가 할 수 있지만 어떻게 서버는 사용자 정의가 제대로 확장을 추가 얻을 수 있을까?

답변

0

서버에 동일한 사용자 지정 확장을 등록 할 수 있고 클라이언트가 확장을 제안했는지 여부를 감지하기 위해 add_cb 콜백을 호출하는지 여부를 사용하는 것처럼 보입니다. 지정된 상황의 경우에만 요건을 충족하고 해당 확장이 의 ClientHello 수신 되었다면 모든 등록 add_cb 번 호출 될 ServerHello 및 EncryptedExtension 메시지 내용

. 즉, 클라이언트 확장자가 인 경우 해당 확장이 수신되지 않으면 add_cb가 호출되지 않습니다.

(https://www.openssl.org/docs/manmaster/man3/SSL_CTX_add_server_custom_ext.html#EXTENSION-CALLBACKS)

는, 즉
int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx, unsigned int ext_type, 
            custom_ext_add_cb add_cb, 
            custom_ext_free_cb free_cb, void *add_arg, 
            custom_ext_parse_cb parse_cb, 
            void *parse_arg); 

대응하고 add_cb 콜백이 연결은 사용자 정의 확장자를 사용하는 것을 나타 내기 위해서 컨텍스트 (또는 다른 데이터 구조)를 표시 할 수 없습니다.

+0

콜백을 사용하는 올바른 사이클을 구현하려고하지만 모양이 그런 식으로 보입니다. – Mzdp