Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Парсинг SSL запросов


Автор: SerGreY 27.10.2008, 16:28
Есть прокси-сервер, работающий на сокетах. Его задача - парсить запросы/ответы в заданную структуру и сохранять в памяти (вести лог).
Возникла проблема с SSL.  
От прокси я получаю буфер данных реквеста или респонза. Необходимо выделить в нем параметры SSL ответа сервера.
Не удается разобраться со структурой сообщения ServerHello.

Согласно спецификации она выглядит так:

Код

       enum {
           hello_request(0), client_hello(1), server_hello(2),
           certificate(11), server_key_exchange (12),
           certificate_request(13), server_hello_done(14),
           certificate_verify(15), client_key_exchange(16),
           finished(20), (255)
       } HandshakeType;

    struct {
            HandshakeType msg_type;         /* type of handshake message */
            uint24 length;  /* # bytes in handshake message body */
            select (HandshakeType) {
                case hello_request: HelloRequest;
                case client_hello: ClientHello;
                case server_hello: ServerHello;
                case certificate: Certificate;
                case server_key_exchange: ServerKeyExchange;
                case certificate_request: CertificateRequest;
                case server_hello_done: ServerHelloDone;
                case certificate_verify: CertificateVerify;
                case client_key_exchange: ClientKeyExchange;
                case finished: Finished;
            } body;
    } Handshake;

    struct 
    {
        ProtocolVersion server_version;                    //2 byte
        Random random;                            //32 byte
        SessionID session_id;                        //32 byte
        CipherSuite cipher_suite;                    //2 byte 
        CompressionMethod compression_method;    //1 byte
    } ServerHello;                                


Но я получаю буфер размером 3640 байт, в котором не могу найти подобной структуры.

Подскажите какова структура SSL сообщений ?
Еще лучше скиньте пример парсера SSL.

Заранее спасибо.

Автор: jonie 30.10.2008, 00:52
могу только посоветовать погуглить на тему "man in the middle+ssl".. исходники точно есть...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)