Сообщение Re[9]: Вопрос про TLS 1.2 (https) от 10.12.2024 9:46
Изменено 10.12.2024 9:49 netch80
N>>Если он смог корректно подписать свои сообщения ключом сервера, то он знает приватный ключ и поэтому он и есть сервер.
TW>Какой конкретно ключ вы имеете в виду?
TW>Там их несколько
TW>Если от эллиптической кривой, то это не поможет
struct {
select (KeyExchangeAlgorithm) {
case dh_anon:
ServerDHParams params;
case dhe_dss:
case dhe_rsa:
ServerDHParams params;
digitally-signed struct {
opaque client_random[32];
opaque server_random[32];
ServerDHParams params;
} signed_params;
case rsa:
case dh_dss:
case dh_rsa:
struct {} ;
/* message is omitted for rsa, dh_dss, and dh_rsa */
/* may be extended, e.g., for ECDH -- see [TLSECC] */
} ServerKeyExchange;
signed_params передаётся подписанным. А чем именно оно подписано?
Как раз публичным ключом, который указан в конечном сертификате.
N>>Если он смог корректно подписать свои сообщения ключом сервера, то он знает приватный ключ и поэтому он и есть сервер.
TW>Какой конкретно ключ вы имеете в виду?
TW>Там их несколько
TW>Если от эллиптической кривой, то это не поможет
struct {
select (KeyExchangeAlgorithm) {
case dh_anon:
ServerDHParams params;
case dhe_dss:
case dhe_rsa:
ServerDHParams params;
digitally-signed struct {
opaque client_random[32];
opaque server_random[32];
ServerDHParams params;
} signed_params;
case rsa:
case dh_dss:
case dh_rsa:
struct {} ;
/* message is omitted for rsa, dh_dss, and dh_rsa */
/* may be extended, e.g., for ECDH -- see [TLSECC] */
} ServerKeyExchange;
signed_params передаётся подписанным. А чем именно оно подписано?
Как раз приватным ключом, который указан в конечном сертификате.