]> WPIA git - cassiopeia.git/commitdiff
add: configuration of OCSP path
authorFelix Dörre <felix@dogcraft.de>
Thu, 20 Apr 2017 19:46:52 +0000 (19:46 +0000)
committerFelix Dörre <felix@dogcraft.de>
Mon, 1 May 2017 15:51:52 +0000 (15:51 +0000)
Change-Id: Ibb81366d3e93485559ac68103d15b165c74822fd

src/config.cpp
src/crypto/X509.cpp

index a58cc82878acabf16190dcc212bb27e2a617b8f3..ccd2f246aaa3b2b574256266c120dc14e7cda3b1 100644 (file)
@@ -15,6 +15,7 @@ std::string sqlHost, sqlUser, sqlPass, sqlDB;
 std::string serialPath;
 std::string crlPrefix;
 std::string crtPrefix;
+std::string ocspPath;
 
 std::shared_ptr<std::unordered_map<std::string, std::string>> parseConf( std::string path ) {
     auto map = std::make_shared<std::unordered_map<std::string, std::string>>();
@@ -147,6 +148,14 @@ int parseConfig( std::string path ) {
     crlPrefix = masterConf->at( "crlPrefix" );
     crtPrefix = masterConf->at( "crtPrefix" );
 
+    auto ocspPathEntry = masterConf->find( "ocsp.path" );
+
+    if( ocspPathEntry == masterConf->end() ) {
+        ocspPath = "";
+    } else {
+        ocspPath = ocspPathEntry->second;
+    }
+
     if( keyDir == "" ) {
         logger::error( "Missing config property key.directory" );
         return -1;
index d99ab68302ac2d699fb380bd6a277db755e066e8..ee5621c76f86f56046639990ba907d4050c9f4d4 100644 (file)
@@ -176,6 +176,8 @@ merr:
     throw std::runtime_error( "memerr" );
 }
 
+extern std::string ocspPath;
+
 void X509Cert::setExtensions( std::shared_ptr<X509> caCert, std::vector<std::shared_ptr<SAN>>& sans, Profile& prof, std::string crlURL, std::string crtURL ) {
     add_ext( caCert, target, NID_basic_constraints, "critical,CA:FALSE" );
     add_ext( caCert, target, NID_subject_key_identifier, "hash" );
@@ -183,7 +185,7 @@ void X509Cert::setExtensions( std::shared_ptr<X509> caCert, std::vector<std::sha
     std::string ku = std::string( "critical," ) + prof.ku;
     add_ext( caCert, target, NID_key_usage, ku.c_str() );
     add_ext( caCert, target, NID_ext_key_usage, prof.eku.c_str() );
-    add_ext( caCert, target, NID_info_access, ( "OCSP;URI:http://ocsp.cacert.org,caIssuers;URI:" + crtURL ).c_str() );
+    add_ext( caCert, target, NID_info_access, ( ( ocspPath.empty() ? "" : "OCSP;URI:" + ocspPath + "," ) + "caIssuers;URI:" + crtURL ).c_str() );
     add_ext( caCert, target, NID_crl_distribution_points, ( "URI:" + crlURL ).c_str() );
 
     if( sans.empty() ) {