#include "cert-server-logic.h"
}
-static const std::string gNamePrexif = "gname_sever_";
+static const std::string gNamePrefix = "gname_sever_";
static const std::string commonNamePrefix = "TEST_sever_";
static const std::string systemGname = "002c0b4f.0";
static const std::string largeString = createLargeString(VCORE_MAX_RECV_DATA_SIZE + 100);
for(auto storeType: storeTypeMap)
{
- gName = gNamePrexif + storeType.first + std::to_string(PEM_CRT);
+ gName = gNamePrefix + storeType.first + std::to_string(PEM_CRT);
commonName = commonNamePrefix + storeType.first + std::to_string(PEM_CRT);
result = installCertificateToStore(
storeType.second,
PEM_CRT);
BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
- gNamePKey = gNamePrexif + storeType.first + std::to_string(P12_PKEY);
+ gNamePKey = gNamePrefix + storeType.first + std::to_string(P12_PKEY);
commonNamePKey = commonNamePrefix + storeType.first + std::to_string(P12_PKEY);
result = installCertificateToStore(
storeType.second,
P12_PKEY);
BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
- gName = gNamePrexif + storeType.first + std::to_string(P12_END_USER);
+ gName = gNamePrefix + storeType.first + std::to_string(P12_END_USER);
commonName = commonNamePrefix + storeType.first + std::to_string(P12_END_USER);
result = installCertificateToStore(
storeType.second,
P12_END_USER);
BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
- gName = gNamePrexif + storeType.first + std::to_string(P12_INTERMEDIATE);
+ gName = gNamePrefix + storeType.first + std::to_string(P12_INTERMEDIATE);
commonName = commonNamePrefix + storeType.first + std::to_string(P12_INTERMEDIATE);
result = installCertificateToStore(
storeType.second,
for(auto storeType: storeTypeMap)
{
- gName = gNamePrexif + storeType.first + std::to_string(PEM_CRT);
+ gName = gNamePrefix + storeType.first + std::to_string(PEM_CRT);
commonName = commonNamePrefix + storeType.first + std::to_string(PEM_CRT);
result = installCertificateToStore(
result = installCertificateToStore(
storeType.second,
- gNamePrexif.c_str(),
+ gNamePrefix.c_str(),
commonNamePrefix.c_str(),
NULL,
NULL,
result = installCertificateToStore(
SYSTEM_STORE,
- gNamePrexif.c_str(),
+ gNamePrefix.c_str(),
commonNamePrefix.c_str(),
NULL,
NULL,
result = installCertificateToStore(
NONE_STORE,
- gNamePrexif.c_str(),
+ gNamePrefix.c_str(),
commonNamePrefix.c_str(),
NULL,
NULL,
for (auto storeType: storeTypeMap)
{
const std::string gnameEndUser =
- gNamePrexif + storeType.first + std::to_string(P12_END_USER);
+ gNamePrefix + storeType.first + std::to_string(P12_END_USER);
loadCertFromStores(storeType.second, gnameEndUser, CERTSVC_SUCCESS);
}
result = initialize_db();
BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
- loadCertFromStores(NONE_STORE, gNamePrexif, CERTSVC_FAIL);
+ loadCertFromStores(NONE_STORE, gNamePrefix, CERTSVC_FAIL);
loadCertFromStores(WIFI_STORE, std::string(), CERTSVC_FAIL);
- loadCertFromStores(WIFI_STORE, gNamePrexif, CERTSVC_FAIL);
+ loadCertFromStores(WIFI_STORE, gNamePrefix, CERTSVC_FAIL);
loadCertFromStores(SYSTEM_STORE, systemGname, CERTSVC_FAIL);
deinitialize_db();
deinitialize_db();
}
+POSITIVE_TEST_CASE(T_delete_certificate_from_store)
+{
+ int result;
+
+ result = initialize_db();
+ BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+ std::string gnamePem, gnameEndUser, gnameIntermediate;
+
+ for(auto storeType: storeTypeMap)
+ {
+ gnamePem = gNamePrefix + storeType.first + std::to_string(PEM_CRT);
+ gnameEndUser = gNamePrefix + storeType.first + std::to_string(P12_END_USER);
+ gnameIntermediate = gNamePrefix + storeType.first + std::to_string(P12_INTERMEDIATE);
+
+ result = deleteCertificateFromStore(storeType.second, gnamePem.c_str());
+ BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+ result = deleteCertificateFromStore(storeType.second, gnameEndUser.c_str());
+ BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+ result = deleteCertificateFromStore(storeType.second, gnameIntermediate.c_str());
+ BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+ }
+
+ deinitialize_db();
+}
+
+POSITIVE_TEST_CASE(T_delete_certificate_same_gname_from_stores)
+{
+ int result;
+
+ result = initialize_db();
+ BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+ for(auto storeType: storeTypeMap)
+ {
+ result = installCertificateToStore(
+ storeType.second,
+ gNamePrefix.c_str(),
+ commonNamePrefix.c_str(),
+ NULL,
+ NULL,
+ PemCertInfo::CertPEM.c_str(),
+ PEM_CRT);
+
+ BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+ }
+
+ for(auto storeType: storeTypeMap)
+ {
+ result = deleteCertificateFromStore(storeType.second, gNamePrefix.c_str());
+ BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+ }
+
+ deinitialize_db();
+
+}
+
+NEGATIVE_TEST_CASE(T_delete_certificate_from_store_error)
+{
+ int result;
+
+ result = initialize_db();
+ BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+ result = deleteCertificateFromStore(WIFI_STORE, NULL);
+ BOOST_CHECK_EQUAL(result, CERTSVC_WRONG_ARGUMENT);
+
+ result = deleteCertificateFromStore(SYSTEM_STORE, systemGname.c_str());
+ BOOST_CHECK_EQUAL(result, CERTSVC_INVALID_STORE_TYPE);
+
+ result = deleteCertificateFromStore(WIFI_STORE, systemGname.c_str());
+ BOOST_CHECK_EQUAL(result, CERTSVC_FAIL);
+
+ result = deleteCertificateFromStore(NONE_STORE, systemGname.c_str());
+ BOOST_CHECK_EQUAL(result, CERTSVC_FAIL);
+
+ deinitialize_db();
+
+ result = deleteCertificateFromStore(WIFI_STORE, systemGname.c_str());
+ BOOST_CHECK_EQUAL(result, CERTSVC_FAIL);
+}
+
BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
certsvc_instance_free(instance);
}
+POSITIVE_TEST_CASE(T_certsvc_pkcs12_delete_certificate_from_store)
+{
+ int result;
+
+ BOOST_REQUIRE_EQUAL(certsvc_instance_new(&instance), CERTSVC_SUCCESS);
+
+ for (auto storeType: storeTypeMap)
+ {
+ CertSvcStoreCertList *certList = NULL;
+ size_t length = 0;
+
+ result = certsvc_pkcs12_get_certificate_list_from_store(
+ instance,
+ storeType.second,
+ DISABLED,
+ &certList,
+ &length);
+
+ BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+ BOOST_CHECK(certList);
+
+ while (certList)
+ {
+ CertSvcString gNameStr = wrapperCertsvcStringNew(certList->gname, &result);
+ BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+ result = certsvc_pkcs12_delete_certificate_from_store(
+ instance,
+ storeType.second,
+ gNameStr);
+
+ BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+ certsvc_string_free(gNameStr);
+
+ certList = certList->next;
+ }
+ }
+
+ certsvc_instance_free(instance);
+}
+
+NEGATIVE_TEST_CASE(T_certsvc_pkcs12_delete_certificate_from_invalid_store)
+{
+ int result;
+
+ BOOST_REQUIRE_EQUAL(certsvc_instance_new(&instance), CERTSVC_SUCCESS);
+
+ CertSvcString gNameStr = wrapperCertsvcStringNew(GroupNameTest.c_str(), &result);
+ BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+ result = certsvc_pkcs12_delete_certificate_from_store(instance, NONE_STORE, gNameStr);
+ BOOST_CHECK_EQUAL(result, CERTSVC_INVALID_STORE_TYPE);
+
+ result = certsvc_pkcs12_delete_certificate_from_store(instance, SYSTEM_STORE, gNameStr);
+ BOOST_CHECK_EQUAL(result, CERTSVC_INVALID_STORE_TYPE);
+
+ certsvc_string_free(gNameStr);
+ certsvc_instance_free(instance);
+}
+
+NEGATIVE_TEST_CASE(T_certsvc_pkcs12_delete_certificate_from_store_wrong_argument)
+{
+ int result;
+
+ BOOST_REQUIRE_EQUAL(certsvc_instance_new(&instance), CERTSVC_SUCCESS);
+
+ CertSvcString gNameStr = wrapperCertsvcStringNew(std::string(), &result);
+ BOOST_CHECK_EQUAL(result, CERTSVC_SUCCESS);
+
+ result = certsvc_pkcs12_delete_certificate_from_store(instance, VPN_STORE, gNameStr);
+ BOOST_CHECK_EQUAL(result, CERTSVC_WRONG_ARGUMENT);
+
+ gNameStr = wrapperCertsvcStringNew(GroupNameTest.c_str(), &result);
+
+ result = certsvc_pkcs12_delete_certificate_from_store(instance, VPN_STORE, gNameStr);
+ BOOST_CHECK_EQUAL(result, CERTSVC_FAIL);
+
+ const CertStoreType individualStoreType = (CertStoreType)(WIFI_STORE | VPN_STORE | EMAIL_STORE);
+
+ result = certsvc_pkcs12_delete_certificate_from_store(instance, individualStoreType, gNameStr);
+ BOOST_CHECK_EQUAL(result, CERTSVC_FAIL);
+
+ certsvc_string_free(gNameStr);
+ certsvc_instance_free(instance);
+}
+
BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file