Skip to content

Commit

Permalink
Improve error message when loading pkcs12 file failed
Browse files Browse the repository at this point in the history
  • Loading branch information
tatsuhiro-t committed Jan 21, 2016
1 parent 9acd322 commit aaab5bb
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 11 deletions.
13 changes: 10 additions & 3 deletions src/LibgnutlsTLSContext.cc
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,16 @@ bool GnuTLSContext::addP12CredentialFile(const std::string& p12file)
int err = gnutls_certificate_set_x509_simple_pkcs12_mem(
certCred_, &data, GNUTLS_X509_FMT_DER, "");
if (err != GNUTLS_E_SUCCESS) {
A2_LOG_ERROR("Failed to import PKCS12 file. "
"If you meant to use PEM, you'll also have to specify "
"--rpc-private-key. See the manual.");
if (side_ == TLS_SERVER) {
A2_LOG_ERROR("Failed to import PKCS12 file. "
"If you meant to use PEM, you'll also have to specify "
"--rpc-private-key. See the manual.");
}
else {
A2_LOG_ERROR("Failed to import PKCS12 file. "
"If you meant to use PEM, you'll also have to specify "
"--private-key. See the manual.");
}
return false;
}
return true;
Expand Down
32 changes: 24 additions & 8 deletions src/LibsslTLSContext.cc
Original file line number Diff line number Diff line change
Expand Up @@ -203,20 +203,36 @@ bool OpenSSLTLSContext::addP12CredentialFile(const std::string& p12file)
}
p12_t p12(d2i_PKCS12_bio(bio.get(), nullptr));
if (!p12) {
A2_LOG_ERROR(fmt("Failed to open PKCS12 file: %s. "
"If you meant to use PEM, you'll also have to specify "
"--rpc-private-key. See the manual.",
ERR_error_string(ERR_get_error(), nullptr)));
if (side_ == TLS_SERVER) {
A2_LOG_ERROR(fmt("Failed to open PKCS12 file: %s. "
"If you meant to use PEM, you'll also have to specify "
"--rpc-private-key. See the manual.",
ERR_error_string(ERR_get_error(), nullptr)));
}
else {
A2_LOG_ERROR(fmt("Failed to open PKCS12 file: %s. "
"If you meant to use PEM, you'll also have to specify "
"--private-key. See the manual.",
ERR_error_string(ERR_get_error(), nullptr)));
}
return false;
}
EVP_PKEY* pkey;
X509* cert;
STACK_OF(X509)* ca = nullptr;
if (!PKCS12_parse(p12.get(), "", &pkey, &cert, &ca)) {
A2_LOG_ERROR(fmt("Failed to parse PKCS12 file: %s. "
"If you meant to use PEM, you'll also have to specify "
"--rpc-private-key. See the manual.",
ERR_error_string(ERR_get_error(), nullptr)));
if (side_ == TLS_SERVER) {
A2_LOG_ERROR(fmt("Failed to parse PKCS12 file: %s. "
"If you meant to use PEM, you'll also have to specify "
"--rpc-private-key. See the manual.",
ERR_error_string(ERR_get_error(), nullptr)));
}
else {
A2_LOG_ERROR(fmt("Failed to parse PKCS12 file: %s. "
"If you meant to use PEM, you'll also have to specify "
"--private-key. See the manual.",
ERR_error_string(ERR_get_error(), nullptr)));
}
return false;
}

Expand Down

0 comments on commit aaab5bb

Please sign in to comment.