1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#ifndef NET_BASE_SSL_CIPHER_SUITE_NAMES_H_ 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#define NET_BASE_SSL_CIPHER_SUITE_NAMES_H_ 73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/basictypes.h" 10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace net { 12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// SSLCipherSuiteToStrings returns three strings for a given cipher suite 14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// number, the name of the key exchange algorithm, the name of the cipher and 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// the name of the MAC. The cipher suite number is the number as sent on the 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// wire and recorded at 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// http://www.iana.org/assignments/tls-parameters/tls-parameters.xml 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// If the cipher suite is unknown, the strings are set to "???". 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid SSLCipherSuiteToStrings(const char** key_exchange_str, 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const char** cipher_str, const char** mac_str, 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch uint16 cipher_suite); 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// SSLCompressionToString returns the name of the compression algorithm 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// specified by |compression_method|, which is the TLS compression id. 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// If the algorithm is unknown, |name| is set to "???". 26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid SSLCompressionToString(const char** name, uint8 compression_method); 27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 28513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch// SSLVersionToString returns the name of the SSL protocol version 29513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch// specified by |ssl_version|, which is defined in 30513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch// net/base/ssl_connection_status_flags.h. 31513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch// If the version is unknown, |name| is set to "???". 32513209b27ff55e2841eac0e4120199c23acce758Ben Murdochvoid SSLVersionToString(const char** name, int ssl_version); 33513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} // namespace net 35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif // NET_BASE_SSL_CIPHER_SUITE_NAMES_H_ 37