HandshakeType msg_type; uint24
|
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; uint24 length;
|
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; |
|
A.4.1. Сообщения Hello
struct { } HelloRequest;
struct { uint32 gmt_unix_time; opaque random_bytes[28]; } Random;
opaque SessionID;
uint8 CipherSuite[2];
enum { null(0), (255) } CompressionMethod;
struct { ProtocolVersion client_version; Random random;
SessionID session_id;
CipherSuite cipher_suites16-1>;
CompressionMethod compression_methods8-1>;
} ClientHello;
struct { ProtocolVersion server_version;
Random random;
SessionID session_id;
CipherSuite cipher_suite;
CompressionMethod compression_method;
} ServerHello;
A.4.2. Аутентификация сервера и сообщения обмена ключами
opaque ASN.1Cert24-1>;
struct { ASN.1Cert certificate_list24-1>;} Certificate;
enum { rsa, diffie_hellman } KeyExchangeAlgorithm;
struct { opaque RSA_modulus16-1>; opaque RSA_exponent16-1>;
} ServerRSAParams;
struct { opaque DH_p16-1>; opaque DH_g16-1>;
opaque DH_Ys16-1>; ServerDHParams;
struct { select (KeyExchangeAlgorithm) {
case diffie_hellman:
ServerDHParams params;
Signature signed_params;
case rsa:
ServerRSAParams params;
Signature signed_params; };
} ServerKeyExchange;
enum { anonymous, rsa, dsa } SignatureAlgorithm;
select (SignatureAlgorithm)
{ case anonymous: struct { };
case rsa:
digitally-signed struct {
opaque md5_hash[16];
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий