diff options
author | Piotr Sawicki <p.sawicki2@partner.samsung.com> | 2017-09-05 13:18:42 +0200 |
---|---|---|
committer | Piotr Sawicki <p.sawicki2@partner.samsung.com> | 2017-09-07 10:33:24 +0200 |
commit | ff424816d9f178ef02427ee5632c8e879b34a924 (patch) | |
tree | 3f4cbe0c59adfcac8a75bd030187442897b1b6f3 | |
parent | c2d20285f8f75e43d94a0113260a8c53e4f60921 (diff) | |
download | cert-svc-ff424816d9f178ef02427ee5632c8e879b34a924.tar.gz cert-svc-ff424816d9f178ef02427ee5632c8e879b34a924.tar.bz2 cert-svc-ff424816d9f178ef02427ee5632c8e879b34a924.zip |
Don't ignore alias during the import of certificates from PEM
Change-Id: Ide059aed684845e1875ec32a75c063df5266b888
-rw-r--r-- | src/vcore/pkcs12.cpp | 13 | ||||
-rw-r--r-- | tests/pkcs12/new_test_cases.cpp | 1 |
2 files changed, 8 insertions, 6 deletions
diff --git a/src/vcore/pkcs12.cpp b/src/vcore/pkcs12.cpp index e80c334..d2ec9d8 100644 --- a/src/vcore/pkcs12.cpp +++ b/src/vcore/pkcs12.cpp @@ -244,13 +244,13 @@ int installChainCert(CertStoreType storeType, } int installCert(CertStoreType storeType, const std::string &cert, - const std::string &gname) + const std::string &gname, + const std::string &alias) { - std::string commonName = getCommonName(PEM_CRT, cert); return vcore_client_install_certificate_to_store( storeType, gname.c_str(), - commonName.c_str(), + alias.c_str(), NULL, NULL, cert.c_str(), @@ -653,7 +653,8 @@ int insertToStore(CertStoreType storeTypes, return CERTSVC_SUCCESS; } -int insertToStorePEM(CertStoreType storeTypes, const std::string &path, const std::string &gname) +int insertToStorePEM(CertStoreType storeTypes, const std::string &path, const std::string &gname, + const std::string &alias) { std::string content = readFromFile(path); @@ -674,7 +675,7 @@ int insertToStorePEM(CertStoreType storeTypes, const std::string &path, const st if (!hasStore(storeTypes, storeType)) continue; - int result = installCert(storeType, parsed, gname); + int result = installCert(storeType, parsed, gname, alias); if (result != CERTSVC_SUCCESS) { LogError("Failed to install PEM/CRT to db store : " << storeType << " result : " << result); @@ -730,7 +731,7 @@ int pkcs12_import_from_file_to_store(CertStoreType storeTypes, if (strcasecmp(suffix.c_str(), ".pem") == 0 || strcasecmp(suffix.c_str(), ".crt") == 0) { std::string gnamePEM = generateGname(); - result = insertToStorePEM(storeTypes, path, gnamePEM); + result = insertToStorePEM(storeTypes, path, gnamePEM, alias); if (result != CERTSVC_SUCCESS) LogError("Failed to install PEM/CRT file to store. gname : " << gnamePEM << " result : " << result); diff --git a/tests/pkcs12/new_test_cases.cpp b/tests/pkcs12/new_test_cases.cpp index b16fb03..69ac7b7 100644 --- a/tests/pkcs12/new_test_cases.cpp +++ b/tests/pkcs12/new_test_cases.cpp @@ -951,3 +951,4 @@ RUNNER_TEST(CERTSVC_PKCS12_1028_certsvc_set_cert_to_disabled_and_get_status_for_ FREE_INSTANCE } + |