diff --git a/src/server/AuthorizationManager.cpp b/src/server/AuthorizationManager.cpp index 8336c2e..edffeeb 100644 --- a/src/server/AuthorizationManager.cpp +++ b/src/server/AuthorizationManager.cpp @@ -86,6 +86,13 @@ bool AuthorizationManager::RegisterCertificate(QString token, QString pubkey, QS CONFIG->setValue("RegisteredCerts/"+user+"/"+pubkey, "Nickname: "+nickname+"\nEmail: "+email+"\nDate Registered: "+QDateTime::currentDateTime().toString(Qt::ISODate) ); return true; } +// +bool AuthorizationManager::RegisterCertificateInternal(QString user, QByteArray pubkey, QString nickname, QString email){ + pubkey = pubkey.toBase64(); + //NOTE: The public key should be saved as a base64 encoded string + CONFIG->setValue("RegisteredCerts/"+user+"/"+pubkey, "Nickname: "+nickname+"\nEmail: "+email+"\nDate Registered: "+QDateTime::currentDateTime().toString(Qt::ISODate) ); + return true; +} bool AuthorizationManager::RevokeCertificate(QString token, QString key, QString user){ //user will be the current user if not empty - cannot touch other user's certs without full perms on current session diff --git a/src/server/AuthorizationManager.h b/src/server/AuthorizationManager.h index bcbcca2..1bdc8aa 100644 --- a/src/server/AuthorizationManager.h +++ b/src/server/AuthorizationManager.h @@ -21,6 +21,7 @@ public: //SSL Certificate register/revoke/list (should only run if the current token is valid) bool RegisterCertificate(QString token, QString pubkey, QString nickname, QString email); //if token is valid, register the given cert for future logins + static bool RegisterCertificateInternal(QString user, QByteArray pubkey, QString nickname, QString email); //INTERNAL ONLY bool RevokeCertificate(QString token, QString key, QString user=""); //user will be the current user if not empty - cannot touch other user's certs without full perms on current session void ListCertificates(QString token, QJsonObject *out); void ListCertificateChecksums(QJsonObject *out); diff --git a/src/server/main.cpp b/src/server/main.cpp index f12e880..2c63cc3 100644 --- a/src/server/main.cpp +++ b/src/server/main.cpp @@ -107,6 +107,22 @@ int main( int argc, char ** argv ) qDebug() << "Unknown option:" << argv[i]; return 1; } + }else if(QString(argv[i])=="-import_ssl_key" && i+3>argc){ + i++; QString user(argv[i]); + i++; QByteArray key(argv[i]); + i++; QString nickname(argv[i]); + QString email; + if(i+1