ewmscp  ..
Public Member Functions | Private Attributes | List of all members
davixCfgX509 Class Reference

#include <davixCommon.h>

Collaboration diagram for davixCfgX509:
[legend]

Public Member Functions

 davixCfgX509 (const std::string &parPrefix)
 
void applySingle (Davix::RequestParams &params, bool &accessConfigDone)
 

Private Attributes

options::single< std::string > p12Path
 
options::single< std::string > privKeyPath
 
options::single< std::string > credentialPath
 
options::single< std::string > proxy
 
Davix::X509Credential credential
 

Detailed Description

Definition at line 156 of file davixCommon.h.

Constructor & Destructor Documentation

◆ davixCfgX509()

davixCfgX509::davixCfgX509 ( const std::string &  parPrefix)

Definition at line 12 of file davixCommon.cpp.

12  :
13  p12Path('\0', parPrefix + "X509credP12", "path to X509 cert in .p12 format"),
14  privKeyPath('\0', parPrefix + "X509privKey", "path to X509 key in .pem format"),
15  credentialPath('\0', parPrefix + "X509credPem", "path to X509 cert in .pem format"),
16  proxy('\0', parPrefix + "X509Proxy", "path to proxy credential") {
23 }

References credentialPath, options::base::fForbid(), options::base::fRequire(), p12Path, privKeyPath, and proxy.

Here is the call graph for this function:

Member Function Documentation

◆ applySingle()

void davixCfgX509::applySingle ( Davix::RequestParams &  params,
bool &  accessConfigDone 
)

Definition at line 24 of file davixCommon.cpp.

24  {
25  if (p12Path.fIsSet() || privKeyPath.fIsSet()) {
26  std::string password;
27  davixCommon::getPassword("X509 certificate password:", password);
28  if (p12Path.fIsSet()) {
29  errorReport report(__func__, "load X509 from p12 file", p12Path);
30  if (credential.loadFromFileP12(p12Path, password, report)) {
31  report.throwUp();
32  }
33 
34  } else {
35  errorReport report(__func__, "load X509 from pem files", privKeyPath);
36  if (credential.loadFromFilePEM(privKeyPath, credentialPath, password, report)) {
37  report.throwUp();
38  }
39  }
40  params.setClientCertX509(credential);
41  accessConfigDone = true;
42  } else if (proxy.fIsSet()) {
43  errorReport report(__func__, "load X509 from proxy file", proxy);
44  if (credential.loadFromFilePEM(proxy, proxy, "", report)) {
45  report.throwUp();
46  }
47  params.setClientCertX509(credential);
48  accessConfigDone = true;
49  }
50 }

References credential, credentialPath, options::base::fIsSet(), davixCommon::getPassword(), p12Path, privKeyPath, proxy, and errorReport::throwUp().

Referenced by davixConfigObject::apply().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ credential

Davix::X509Credential davixCfgX509::credential
private

Definition at line 161 of file davixCommon.h.

Referenced by applySingle().

◆ credentialPath

options::single<std::string> davixCfgX509::credentialPath
private

Definition at line 159 of file davixCommon.h.

Referenced by applySingle(), and davixCfgX509().

◆ p12Path

options::single<std::string> davixCfgX509::p12Path
private

Definition at line 157 of file davixCommon.h.

Referenced by applySingle(), and davixCfgX509().

◆ privKeyPath

options::single<std::string> davixCfgX509::privKeyPath
private

Definition at line 158 of file davixCommon.h.

Referenced by applySingle(), and davixCfgX509().

◆ proxy

options::single<std::string> davixCfgX509::proxy
private

Definition at line 160 of file davixCommon.h.

Referenced by applySingle(), and davixCfgX509().


The documentation for this class was generated from the following files:
davixCfgX509::credentialPath
options::single< std::string > credentialPath
Definition: davixCommon.h:159
options::base::fIsSet
virtual bool fIsSet() const
check if this option was set, regardless of from command line or config file
Definition: Options.h:263
davixCommon::getPassword
static void getPassword(const std::string &prompt, std::string &password)
Definition: davixCommon.cpp:125
options::base::fForbid
virtual void fForbid(const base *aOtherOption)
forbid aOtherOption when this option is set
Definition: Options.cpp:617
davixCfgX509::proxy
options::single< std::string > proxy
Definition: davixCommon.h:160
options::base::fRequire
virtual void fRequire(const base *aOtherOption)
require aOtherOption when this option is set
Definition: Options.cpp:611
errorReport
class for easy error handling with davix ensures proper cleanup of the error report when going out of...
Definition: davixCommon.h:12
davixCfgX509::privKeyPath
options::single< std::string > privKeyPath
Definition: davixCommon.h:158
parPrefix
static const std::string parPrefix("dCap")
davixCfgX509::credential
Davix::X509Credential credential
Definition: davixCommon.h:161
davixCfgX509::p12Path
options::single< std::string > p12Path
Definition: davixCommon.h:157