From 9439750179b4541c91c7d9ad1b6179baada8f141 Mon Sep 17 00:00:00 2001 From: Devel Date: Fri, 13 Apr 2018 13:28:31 +0200 Subject: Updated library according to the latest changes about security in libparc Change-Id: I04e53c986f6cb17679edc60e24c8c7c42fc9aad3 Signed-off-by: Devel --- .../ccnx/api/ccnx_Portal/ccnx_PortalFactory.c | 7 +++++-- .../ccnx/api/ccnx_Portal/ccnx_PortalFactory.h | 4 +++- .../api/ccnx_Portal/command-line/ccnx-client.c | 2 +- .../api/ccnx_Portal/command-line/ccnx-server.c | 2 +- .../ccnx/api/ccnx_Portal/test/test_ccnx_Portal.c | 8 ++++---- .../api/ccnx_Portal/test/test_ccnx_PortalAPI.c | 4 ++-- .../api/ccnx_Portal/test/test_ccnx_PortalFactory.c | 22 +++++++++++----------- .../api/ccnx_Portal/test/test_ccnx_PortalStack.c | 8 ++++---- 8 files changed, 31 insertions(+), 26 deletions(-) (limited to 'libccnx-portal/ccnx/api/ccnx_Portal') diff --git a/libccnx-portal/ccnx/api/ccnx_Portal/ccnx_PortalFactory.c b/libccnx-portal/ccnx/api/ccnx_Portal/ccnx_PortalFactory.c index be5810bd..ec9a1e6b 100755 --- a/libccnx-portal/ccnx/api/ccnx_Portal/ccnx_PortalFactory.c +++ b/libccnx-portal/ccnx/api/ccnx_Portal/ccnx_PortalFactory.c @@ -69,15 +69,18 @@ parcObject_ImplementAcquire(ccnxPortalFactory, CCNxPortalFactory); parcObject_ImplementRelease(ccnxPortalFactory, CCNxPortalFactory); CCNxPortalFactory * -ccnxPortalFactory_Create(const PARCIdentity *identity) +ccnxPortalFactory_Create(const PARCIdentity *identity, PARCCryptoSuite suite) { parcIdentity_OptionalAssertValid(identity); + if (identity == NULL) + return NULL; + parcSecurity_Init(); CCNxPortalFactory *result = parcObject_CreateInstance(CCNxPortalFactory); if (result != NULL) { result->identity = parcIdentity_Acquire(identity); - result->signer = parcIdentity_CreateSigner(identity); + result->signer = parcIdentity_CreateSigner(identity, suite); result->keyId = parcSigner_CreateKeyId(result->signer); result->properties = parcProperties_Create(); diff --git a/libccnx-portal/ccnx/api/ccnx_Portal/ccnx_PortalFactory.h b/libccnx-portal/ccnx/api/ccnx_Portal/ccnx_PortalFactory.h index e021b92d..c0b83086 100755 --- a/libccnx-portal/ccnx/api/ccnx_Portal/ccnx_PortalFactory.h +++ b/libccnx-portal/ccnx/api/ccnx_Portal/ccnx_PortalFactory.h @@ -21,6 +21,8 @@ #ifndef CCNx_Portal_API_ccnx_PortalFactory_h #define CCNx_Portal_API_ccnx_PortalFactory_h +#include + struct CCNxPortalFactory; /** * @typedef CCNxPortalFactory @@ -80,7 +82,7 @@ extern const char *CCNxPortalFactory_LocalRouterTimeout; * @see {@link ccnxPortalFactory_Acquire} * @see {@link ccnxPortalFactory_Release} */ -CCNxPortalFactory *ccnxPortalFactory_Create(const PARCIdentity *identity); +CCNxPortalFactory *ccnxPortalFactory_Create(const PARCIdentity *identity, PARCCryptoSuite suite); /** * Print a human readable representation of the given `CCNxPortalFactory` instance. diff --git a/libccnx-portal/ccnx/api/ccnx_Portal/command-line/ccnx-client.c b/libccnx-portal/ccnx/api/ccnx_Portal/command-line/ccnx-client.c index dfd5d5ba..c95b8983 100755 --- a/libccnx-portal/ccnx/api/ccnx_Portal/command-line/ccnx-client.c +++ b/libccnx-portal/ccnx/api/ccnx_Portal/command-line/ccnx-client.c @@ -40,7 +40,7 @@ int ccnGet(PARCIdentity *identity, CCNxName *name) { - CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity); + CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity, PARCCryptoSuite_RSA_SHA256); CCNxPortal *portal = ccnxPortalFactory_CreatePortal(factory, ccnxPortalRTA_Message); diff --git a/libccnx-portal/ccnx/api/ccnx_Portal/command-line/ccnx-server.c b/libccnx-portal/ccnx/api/ccnx_Portal/command-line/ccnx-server.c index a9d7a2e6..4a99e203 100755 --- a/libccnx-portal/ccnx/api/ccnx_Portal/command-line/ccnx-server.c +++ b/libccnx-portal/ccnx/api/ccnx_Portal/command-line/ccnx-server.c @@ -78,7 +78,7 @@ ccnServe(const PARCIdentity *identity, const CCNxName *listenName, const char *c { parcSecurity_Init(); - CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity); + CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity, PARCCryptoSuite_RSA_SHA256); CCNxPortal *portal = ccnxPortalFactory_CreatePortal(factory, ccnxPortalRTA_Message); assertNotNull(portal, "Expected a non-null CCNxPortal pointer."); diff --git a/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_Portal.c b/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_Portal.c index 154b8be8..29cc6808 100644 --- a/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_Portal.c +++ b/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_Portal.c @@ -127,14 +127,14 @@ LONGBOW_TEST_FIXTURE_SETUP(Global) parcSecurity_Init(); - bool success = parcPkcs12KeyStore_CreateFile("my_keystore", "my_keystore_password", subjectName, keyLength, validityDays); + bool success = parcPkcs12KeyStore_CreateFile("my_keystore", "my_keystore_password", subjectName, PARCSigningAlgorithm_RSA, keyLength, validityDays); assertTrue(success, "parcPkcs12KeyStore_CreateFile('my_keystore', 'my_keystore_password') failed."); PARCIdentityFile *identityFile = parcIdentityFile_Create("my_keystore", "my_keystore_password"); PARCIdentity *identity = parcIdentity_Create(identityFile, PARCIdentityFileAsPARCIdentity); parcIdentityFile_Release(&identityFile); - data->factory = ccnxPortalFactory_Create(identity); + data->factory = ccnxPortalFactory_Create(identity, PARCCryptoSuite_RSA_SHA256); parcIdentity_Release(&identity); longBowTestCase_SetClipBoardData(testCase, data); @@ -604,14 +604,14 @@ LONGBOW_TEST_FIXTURE_SETUP(Performance) parcSecurity_Init(); - bool success = parcPkcs12KeyStore_CreateFile("my_keystore", "my_keystore_password", subjectName, keyLength, validityDays); + bool success = parcPkcs12KeyStore_CreateFile("my_keystore", "my_keystore_password", subjectName, PARCSigningAlgorithm_RSA, keyLength, validityDays); assertTrue(success, "parcPkcs12KeyStore_CreateFile('my_keystore', 'my_keystore_password') failed."); PARCIdentityFile *identityFile = parcIdentityFile_Create("my_keystore", "my_keystore_password"); PARCIdentity *identity = parcIdentity_Create(identityFile, PARCIdentityFileAsPARCIdentity); parcIdentityFile_Release(&identityFile); - data->factory = ccnxPortalFactory_Create(identity); + data->factory = ccnxPortalFactory_Create(identity, PARCCryptoSuite_RSA_SHA256); parcIdentity_Release(&identity); longBowTestCase_SetClipBoardData(testCase, data); diff --git a/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_PortalAPI.c b/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_PortalAPI.c index 736e6982..1368717d 100755 --- a/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_PortalAPI.c +++ b/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_PortalAPI.c @@ -68,13 +68,13 @@ LONGBOW_TEST_FIXTURE_SETUP(Global) parcSecurity_Init(); - bool success = parcPkcs12KeyStore_CreateFile("my_keystore", "my_keystore_password", subjectName, keyLength, validityDays); + bool success = parcPkcs12KeyStore_CreateFile("my_keystore", "my_keystore_password", subjectName, PARCSigningAlgorithm_RSA, keyLength, validityDays); assertTrue(success, "parcPkcs12KeyStore_CreateFile('my_keystore', 'my_keystore_password') failed."); PARCIdentityFile *identityFile = parcIdentityFile_Create("my_keystore", "my_keystore_password"); PARCIdentity *identity = parcIdentity_Create(identityFile, PARCIdentityFileAsPARCIdentity); - CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity); + CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity, PARCCryptoSuite_RSA_SHA256); parcIdentityFile_Release(&identityFile); parcIdentity_Release(&identity); diff --git a/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_PortalFactory.c b/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_PortalFactory.c index 8c98705f..da8f8a1d 100644 --- a/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_PortalFactory.c +++ b/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_PortalFactory.c @@ -88,13 +88,13 @@ LONGBOW_TEST_CASE(CreateAcquireRelease, ccnxPortalFactory_Create) parcSecurity_Init(); - bool success = parcPkcs12KeyStore_CreateFile(keystoreName, "keystore_password", "consumer", 1024, 30); + bool success = parcPkcs12KeyStore_CreateFile(keystoreName, "keystore_password", "consumer", PARCSigningAlgorithm_RSA, 1024, 30); assertTrue(success, "parcPkcs12KeyStore_CreateFile('%s', 'keystore_password') failed.", keystoreName); PARCIdentityFile *identityFile = parcIdentityFile_Create(keystoreName, "keystore_password"); PARCIdentity *identity = parcIdentity_Create(identityFile, PARCIdentityFileAsPARCIdentity); - CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity); + CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity, PARCCryptoSuite_RSA_SHA256); parcIdentityFile_Release(&identityFile); parcIdentity_Release(&identity); @@ -109,13 +109,13 @@ LONGBOW_TEST_CASE(CreateAcquireRelease, ccnxPortalFactory_AcquireRelease) parcSecurity_Init(); - bool success = parcPkcs12KeyStore_CreateFile(keystoreName, "keystore_password", "consumer", 1024, 30); + bool success = parcPkcs12KeyStore_CreateFile(keystoreName, "keystore_password", "consumer", PARCSigningAlgorithm_RSA, 1024, 30); assertTrue(success, "parcPkcs12KeyStore_CreateFile('%s', 'keystore_password') failed.", keystoreName); PARCIdentityFile *identityFile = parcIdentityFile_Create(keystoreName, "keystore_password"); PARCIdentity *identity = parcIdentity_Create(identityFile, PARCIdentityFileAsPARCIdentity); - CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity); + CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity, PARCCryptoSuite_RSA_SHA256); parcIdentityFile_Release(&identityFile); parcIdentity_Release(&identity); @@ -156,13 +156,13 @@ LONGBOW_TEST_CASE(Global, ccnxPortalFactory_GetIdentity) const char *keystoreName = "ccnxPortalFactory_keystore"; parcSecurity_Init(); - bool success = parcPkcs12KeyStore_CreateFile(keystoreName, "keystore_password", "consumer", 1024, 30); + bool success = parcPkcs12KeyStore_CreateFile(keystoreName, "keystore_password", "consumer", PARCSigningAlgorithm_RSA, 1024, 30); assertTrue(success, "parcPkcs12KeyStore_CreateFile('%s', 'keystore_password') failed.", keystoreName); PARCIdentityFile *identityFile = parcIdentityFile_Create(keystoreName, "keystore_password"); PARCIdentity *identity = parcIdentity_Create(identityFile, PARCIdentityFileAsPARCIdentity); - CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity); + CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity, PARCCryptoSuite_RSA_SHA256); const PARCIdentity *actual = ccnxPortalFactory_GetIdentity(factory); @@ -180,17 +180,17 @@ LONGBOW_TEST_CASE(Global, ccnxPortalFactory_GetKeyId) const char *keystoreName = "ccnxPortalFactory_keystore"; parcSecurity_Init(); - bool success = parcPkcs12KeyStore_CreateFile(keystoreName, "keystore_password", "consumer", 1024, 30); + bool success = parcPkcs12KeyStore_CreateFile(keystoreName, "keystore_password", "consumer", PARCSigningAlgorithm_RSA, 1024, 30); assertTrue(success, "parcPkcs12KeyStore_CreateFile('%s', 'keystore_password') failed.", keystoreName); PARCIdentityFile *identityFile = parcIdentityFile_Create(keystoreName, "keystore_password"); PARCIdentity *identity = parcIdentity_Create(identityFile, PARCIdentityFileAsPARCIdentity); - CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity); + CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity, PARCCryptoSuite_RSA_SHA256); const PARCKeyId *actual = ccnxPortalFactory_GetKeyId(factory); - PARCSigner *signer = parcIdentity_CreateSigner(identity); + PARCSigner *signer = parcIdentity_CreateSigner(identity, PARCCryptoSuite_RSA_SHA256); PARCKeyId *expected = parcSigner_CreateKeyId(signer); parcSigner_Release(&signer); @@ -230,9 +230,9 @@ LONGBOW_TEST_FIXTURE_TEARDOWN(Errors) LONGBOW_TEST_CASE_EXPECTS(Errors, ccnxPortalFactory_Create_NULL_Identity, .event = &LongBowTrapInvalidValue) { - CCNxPortalFactory *factory = ccnxPortalFactory_Create(NULL); + CCNxPortalFactory *factory = ccnxPortalFactory_Create(NULL, PARCCryptoSuite_RSA_SHA256); - ccnxPortalFactory_Release(&factory); + assertNull(factory,"Factory created when expected to be null"); } int diff --git a/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_PortalStack.c b/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_PortalStack.c index ebba0dea..f40f3294 100755 --- a/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_PortalStack.c +++ b/libccnx-portal/ccnx/api/ccnx_Portal/test/test_ccnx_PortalStack.c @@ -72,13 +72,13 @@ LONGBOW_TEST_FIXTURE_SETUP(CreateRelease) const char *keystoreName = "test_ccnx_PortalImplementation_keystore"; - bool success = parcPkcs12KeyStore_CreateFile(keystoreName, "keystore_password", "consumer", 1024, 30); + bool success = parcPkcs12KeyStore_CreateFile(keystoreName, "keystore_password", "consumer", PARCSigningAlgorithm_RSA, 1024, 30); assertTrue(success, "parcPkcs12KeyStore_CreateFile('%s', 'keystore_password') failed.", keystoreName); PARCIdentityFile *identityFile = parcIdentityFile_Create(keystoreName, "keystore_password"); PARCIdentity *identity = parcIdentity_Create(identityFile, PARCIdentityFileAsPARCIdentity); - CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity); + CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity, PARCCryptoSuite_RSA_SHA256); parcIdentityFile_Release(&identityFile); parcIdentity_Release(&identity); @@ -209,13 +209,13 @@ LONGBOW_TEST_FIXTURE_SETUP(Global) const char *keystoreName = "test_ccnx_PortalImplementation_keystore"; - bool success = parcPkcs12KeyStore_CreateFile(keystoreName, "keystore_password", "consumer", 1024, 30); + bool success = parcPkcs12KeyStore_CreateFile(keystoreName, "keystore_password", "consumer", PARCSigningAlgorithm_RSA, 1024, 30); assertTrue(success, "parcPkcs12KeyStore_CreateFile('%s', 'keystore_password') failed.", keystoreName); PARCIdentityFile *identityFile = parcIdentityFile_Create(keystoreName, "keystore_password"); PARCIdentity *identity = parcIdentity_Create(identityFile, PARCIdentityFileAsPARCIdentity); - CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity); + CCNxPortalFactory *factory = ccnxPortalFactory_Create(identity, PARCCryptoSuite_RSA_SHA256); parcIdentityFile_Release(&identityFile); parcIdentity_Release(&identity); -- cgit 1.2.3-korg