繼真的過時的教程中,我成功地創建使用OpenSSL與TLS1.2 HTTPS服務器,我很驕傲;)的OpenSSL讓服務器和客戶端協商方法
但是TLS 1.2只在最新的瀏覽器中支持,我想在客戶端和服務器之間進行某種協議的協商,我確信它可以完成,但我無法找到它!所以如果客戶端只支持TLS1.0,那就使用它。如果它只支持SSLv3,請使用它。不知道的SSLv2,也許更好的留下...
我現在使用的代碼是:
SSL_library_init();
OpenSSL_add_all_algorithms();
SSL_load_error_strings();
ssl_method = TLSv1_2_server_method();
ssl_ctx = SSL_CTX_new(ssl_method);
然後將服務器證書加載和ssl_ctx
的所有連接共享。當客戶端是accept
版服務器套接字它被封裝在一個SSL對象(無論它代表):
ssl = SSL_new(ssl_ctx);
SSL_set_fd(ssl, client_socket);
SSL_accept(ssl);
所以我想有什麼東西在SSL_CTX創造改變,讓更多的方法...任何想法?
<rant>沒有體面的,廣泛的文檔可以找到OpenSSL,最好的可用是一個10歲的教程! </rant >
在此先感謝。
「沒有體面的,廣泛的文檔可以找到OpenSSL ......」 - 是的,文檔吸吮在時間。但是您應該從OpenSSL wiki中查看[SSL/TLS Client](http://wiki.openssl.org/index.php/SSL/TLS_Client)。 – jww