summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Sawicki <p.sawicki2@partner.samsung.com>2017-09-05 13:18:42 +0200
committerPiotr Sawicki <p.sawicki2@partner.samsung.com>2017-09-07 10:33:24 +0200
commitff424816d9f178ef02427ee5632c8e879b34a924 (patch)
tree3f4cbe0c59adfcac8a75bd030187442897b1b6f3
parentc2d20285f8f75e43d94a0113260a8c53e4f60921 (diff)
downloadcert-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.cpp13
-rw-r--r--tests/pkcs12/new_test_cases.cpp1
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
}
+