-
- if( CAs.find( map->at( "ca" ) ) == CAs.end() ) {
- std::shared_ptr<CAConfig> ca( new CAConfig( map->at( "ca" ) ) );
- CAs.emplace( map->at( "ca" ), ca );
+ prof.maxValidity = std::stoi( map->at( "days" ) ) * /* DAYS */24 * 60 * 60;
+
+ std::string cas = map->at( "ca" );
+
+ DIR *dir;
+ struct dirent *ent;
+ if ((dir = opendir ("ca")) != NULL) {
+ while ((ent = readdir (dir)) != NULL) {
+ std::string caName = std::string(ent->d_name);
+ if( caName.find( cas ) != 0 ){
+ continue;
+ }
+
+ if( CAs.find( caName ) == CAs.end() ) {
+ std::shared_ptr<CAConfig> ca( new CAConfig( caName ) );
+ CAs.emplace( caName, ca );
+ }
+
+ prof.ca.push_back( CAs.at( caName ) );
+ std::cout << "Adding CA: " << caName << std::endl;
+ }
+ closedir (dir);
+ } else {
+ throw "Directory with CAConfigs not found";