OpenSSL : need help!!!

Тема в разделе "WASM.NETWORKS", создана пользователем Ursus, 8 авг 2007.

  1. Ursus

    Ursus Member

    Публикаций:
    0
    Регистрация:
    15 мар 2006
    Сообщения:
    238
    Адрес:
    Russia
    Добрый день
    Посоветуйте, плиз, (еще лучше - поделитесь примером кода), как мне подружить OpenSSL с IOCP(IO completion ports).
    Точнее, как навернуть OpenSSL поверх Win sockets, работа с которыми ведется с применением IOCP.
    Пориветствуются любые мысли по поводу, в т.ч. ссылки на существующие open-source проекты.
     
  2. hybrid

    hybrid New Member

    Публикаций:
    0
    Регистрация:
    2 авг 2007
    Сообщения:
    42
    Ну если просто надо SSL поверх сокета, то примерно так:
    Код (Text):
    1. int sockfd = socket();
    2. ...
    3. SSL_load_error_strings();
    4. SSL_library_init();
    5. ...
    6. SSL_CTX * ssl_ctx = SSL_CTX_new(SSLv23_client_method());
    7. SSL_CTX_set_verify(ssl_ctx, SSL_VERIFY_PEER, VerifyCallback);
    8. SSL_CTX_ctrl(ssl_ctx, SSL_CTRL_OPTIONS, SSL_OP_ALL or SSL_OP_NO_SSLv2, nil);
    9. SSL * ssl = SSL_new(ssl_ctx);
    10. BIO * bio = BIO_new_socket(sockfd, BIO_NOCLOSE);
    11. SSL_set_bio(ssl, bio, bio);
    12. SSL_set_connect_state(ssl);
    13. if(1 != SSL_do_handshake(ssl))
    14. {
    15.      error();
    16. }
    17. //далее читаешь/пишешь через SSL-read/SSL_write
    ну а подробнее - google.com

    если я ответил не совсем так, как ожидалось - уточняй