mirror of
https://github.com/monero-project/monero.git
synced 2025-08-10 03:40:06 -04:00
Merge pull request #8315
1ddb1ee
Give better error messages when missing SSL files (Jeffrey Ryan)
This commit is contained in:
commit
6e60919e6d
2 changed files with 40 additions and 6 deletions
|
@ -350,12 +350,23 @@ namespace cryptonote
|
|||
|
||||
bool store_ssl_key = !restricted && rpc_config->ssl_options && rpc_config->ssl_options.auth.certificate_path.empty();
|
||||
const auto ssl_base_path = (boost::filesystem::path{data_dir} / "rpc_ssl").string();
|
||||
if (store_ssl_key && boost::filesystem::exists(ssl_base_path + ".crt"))
|
||||
const bool ssl_cert_file_exists = boost::filesystem::exists(ssl_base_path + ".crt");
|
||||
const bool ssl_pkey_file_exists = boost::filesystem::exists(ssl_base_path + ".key");
|
||||
if (store_ssl_key)
|
||||
{
|
||||
// load key from previous run, password prompted by OpenSSL
|
||||
store_ssl_key = false;
|
||||
rpc_config->ssl_options.auth =
|
||||
epee::net_utils::ssl_authentication_t{ssl_base_path + ".key", ssl_base_path + ".crt"};
|
||||
// .key files are often given different read permissions as their corresponding .crt files.
|
||||
// Consequently, sometimes the .key file wont't get copied, while the .crt file will.
|
||||
if (ssl_cert_file_exists != ssl_pkey_file_exists)
|
||||
{
|
||||
MFATAL("Certificate (.crt) and private key (.key) files must both exist or both not exist at path: " << ssl_base_path);
|
||||
return false;
|
||||
}
|
||||
else if (ssl_cert_file_exists) { // and ssl_pkey_file_exists
|
||||
// load key from previous run, password prompted by OpenSSL
|
||||
store_ssl_key = false;
|
||||
rpc_config->ssl_options.auth =
|
||||
epee::net_utils::ssl_authentication_t{ssl_base_path + ".key", ssl_base_path + ".crt"};
|
||||
}
|
||||
}
|
||||
|
||||
auto rng = [](size_t len, uint8_t *ptr){ return crypto::rand(len, ptr); };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue