From 1e166c13aaabe8d2aad1d604c77020a14dc577cd Mon Sep 17 00:00:00 2001 From: open-license-manager <rillf@maildrop.cc> Date: 周二, 16 9月 2014 06:22:21 +0800 Subject: [PATCH] refactorings --- src/tools/license-generator/license-generator.cpp | 48 +++++++++++++++++++++++------------------------- 1 files changed, 23 insertions(+), 25 deletions(-) diff --git a/src/tools/license-generator/license-generator.cpp b/src/tools/license-generator/license-generator.cpp index 846d5d9..ce456cc 100644 --- a/src/tools/license-generator/license-generator.cpp +++ b/src/tools/license-generator/license-generator.cpp @@ -1,7 +1,7 @@ #include <build_properties.h> -#include "LicenseSigner.h" +#include <private-key.h> #include "license-generator.h" -#include "../library/base/StringUtils.h" +#include "../base_lib/CryptoHelper.h" #include <stdlib.h> #include <stdio.h> #include <iostream> @@ -103,22 +103,20 @@ client_signature = vm["client_signature"].as<string>(); //fixme match + and / /*regex e("(A-Za-z0-9){4}-(A-Za-z0-9){4}-(A-Za-z0-9){4}-(A-Za-z0-9){4}"); - if (!regex_match(client_signature, e)) { - cerr << endl << "Client signature not recognized: " - << client_signature - << " Please enter a valid signature in format XXXX-XXXX-XXXX-XXXX" - << endl; - exit(2); - }*/ + if (!regex_match(client_signature, e)) { + cerr << endl << "Client signature not recognized: " + << client_signature + << " Please enter a valid signature in format XXXX-XXXX-XXXX-XXXX" + << endl; + exit(2); + }*/ } string extra_data = ""; if (vm.count("extra_data")) { extra_data = vm["extra_data"].as<string>(); } - unsigned int from_sw_version = vm["start_version"].as< - unsigned int>(); - unsigned int to_sw_version = - vm["end_version"].as<unsigned int>(); + unsigned int from_sw_version = vm["start_version"].as<unsigned int>(); + unsigned int to_sw_version = vm["end_version"].as<unsigned int>(); if (vm.count("product") == 0) { cerr << endl << "Parameter [product] not found. " << endl; exit(2); @@ -140,12 +138,13 @@ void LicenseGenerator::generateAndOutputLicenses(const po::variables_map& vm, ostream& outputFile) { vector<FullLicenseInfo> licenseInfo = parseLicenseInfo(vm); - license::LicenseSigner licSigner = - vm.count("private_key") == 0 ? - license::LicenseSigner() : - license::LicenseSigner(vm["private_key"].as<string>()); + unique_ptr<CryptoHelper> helper = CryptoHelper::getInstance(); + const char pkey[] = PRIVATE_KEY; + size_t len = sizeof(pkey); for (auto it = licenseInfo.begin(); it != licenseInfo.end(); ++it) { - licSigner.signLicense(*it); + const string license = it->printForSign(); + string signature = helper->signString((const void *)pkey,len,license); + it->license_signature = signature; it->printAsIni(outputFile); } } @@ -188,25 +187,24 @@ return 0; } - -const std::string formats[] = { "%4u-%2u-%2u","%4u/%2u/%2u","%4u%2u%2u" }; +const std::string formats[] = { "%4u-%2u-%2u", "%4u/%2u/%2u", "%4u%2u%2u" }; const size_t formats_n = 3; string LicenseGenerator::normalize_date(const char * s) { unsigned int year, month, day; int chread; bool found = false; - for (size_t i = 0; i < formats_n &&!found; ++i) { - chread = sscanf(s, formats[i].c_str(),&year, &month, &day); - if (chread == 3){ + for (size_t i = 0; i < formats_n && !found; ++i) { + chread = sscanf(s, formats[i].c_str(), &year, &month, &day); + if (chread == 3) { found = true; } } - if (!found){ + if (!found) { throw invalid_argument("Date not recognized."); } ostringstream oss; - oss << year << "-"<<setfill('0') << std::setw(2)<< month<<"-"<<day; + oss << year << "-" << setfill('0') << std::setw(2) << month << "-" << day; //delete (facet); return oss.str(); } -- Gitblit v1.9.1