PARCPkcs12KeyStore *keyStore = parcPkcs12KeyStore_Open(path, password, PARCCryptoHashType_SHA256);
PARCKeyStore *publicKeyStore = parcKeyStore_Create(keyStore, PARCPkcs12KeyStoreAsKeyStore);
parcPkcs12KeyStore_Release(&keyStore);
- PARCPublicKeySigner *pksigner = parcPublicKeySigner_Create(publicKeyStore, PARCSigningAlgorithm_RSA, PARCCryptoHashType_SHA256);
+ PARCPublicKeySigner *pksigner = parcPublicKeySigner_Create(publicKeyStore, PARCCryptoSuite_RSA_SHA256);
PARCSigner *signer = parcSigner_Create(pksigner, PARCPublicKeySignerAsSigner);
parcPublicKeySigner_Release(&pksigner);
{
KeystoreParams *params = NULL;
- bool success = parcPkcs12KeyStore_CreateFile(path, password, "ccnxuser", keystoreBits, keystoreDays);
+ bool success = parcPkcs12KeyStore_CreateFile(path, password, "ccnxuser", PARCSigningAlgorithm_RSA, keystoreBits, keystoreDays);
if (success) {
PARCPkcs12KeyStore *keyStore = parcPkcs12KeyStore_Open(path, password, PARCCryptoHashType_SHA256);
PARCKeyStore *publicKeyStore = parcKeyStore_Create(keyStore, PARCPkcs12KeyStoreAsKeyStore);
parcPkcs12KeyStore_Release(&keyStore);
- PARCPublicKeySigner *pksigner = parcPublicKeySigner_Create(publicKeyStore, PARCSigningAlgorithm_RSA, PARCCryptoHashType_SHA256);
+ PARCPublicKeySigner *pksigner = parcPublicKeySigner_Create(publicKeyStore, PARCCryptoSuite_RSA_SHA256);
PARCSigner *signer = parcSigner_Create(pksigner, PARCPublicKeySignerAsSigner);
parcPublicKeySigner_Release(&pksigner);
PARCPkcs12KeyStore *publicKeyStore = parcPkcs12KeyStore_Open("test_rsa.p12", "blueberry", PARCCryptoHashType_SHA256);
PARCKeyStore *keyStore = parcKeyStore_Create(publicKeyStore, PARCPkcs12KeyStoreAsKeyStore);
parcPkcs12KeyStore_Release(&publicKeyStore);
- PARCPublicKeySigner *publicKeySigner = parcPublicKeySigner_Create(keyStore, PARCSigningAlgorithm_RSA, PARCCryptoHashType_SHA256);
+ PARCPublicKeySigner *publicKeySigner = parcPublicKeySigner_Create(keyStore, PARCCryptoSuite_RSA_SHA256);
PARCSigner *signer = parcSigner_Create(publicKeySigner, PARCPublicKeySignerAsSigner);
parcPublicKeySigner_Release(&publicKeySigner);
mkdir(ccnxdir, 0700);
char *path = ccnxKeystoreUtilities_ConstructPath(ccnxdir, ".ccnx_keystore");
- bool success = parcPkcs12KeyStore_CreateFile(path, "1234", "ccnxuser", 1024, 365);
+ bool success = parcPkcs12KeyStore_CreateFile(path, "1234", "ccnxuser", PARCSigningAlgorithm_RSA, 1024, 365);
assertTrue(success, "parcPkcs12KeyStore_CreateFile() failed.");
KeystoreParams *signer = ccnxKeystoreUtilities_OpenFromHomeDirectory("1234");
mkdir(ccnxdir, 0700);
char *path = ccnxKeystoreUtilities_ConstructPath(ccnxdir, ".ccnx_keystore.p12");
- bool success = parcPkcs12KeyStore_CreateFile(path, "1234", "ccnxuser", 1024, 365);
+ bool success = parcPkcs12KeyStore_CreateFile(path, "1234", "ccnxuser", PARCSigningAlgorithm_RSA, 1024, 365);
assertTrue(success, "parcPkcs12KeyStore_CreateFile() failed.");
KeystoreParams *signer = ccnxKeystoreUtilities_OpenFromHomeDirectory("1234");
bool success = true;
switch (ccnxTlvDictionary_GetSchemaVersion(message)) {
case CCNxTlvDictionary_SchemaVersion_V1: {
- success &= ccnxTlvDictionary_PutInteger(message, CCNxCodecSchemaV1TlvDictionary_ValidationFastArray_CRYPTO_SUITE, PARCCryptoSuite_EC_SECP_256K1);
+ success &= ccnxTlvDictionary_PutInteger(message, CCNxCodecSchemaV1TlvDictionary_ValidationFastArray_CRYPTO_SUITE, PARCCryptoSuite_ECDSA_SHA256);
if (keyid) {
success &= ccnxTlvDictionary_PutBuffer(message, CCNxCodecSchemaV1TlvDictionary_ValidationFastArray_KEYID, keyid);
{
if (ccnxTlvDictionary_IsValueInteger(message, CCNxCodecSchemaV1TlvDictionary_ValidationFastArray_CRYPTO_SUITE)) {
uint64_t cryptosuite = ccnxTlvDictionary_GetInteger(message, CCNxCodecSchemaV1TlvDictionary_ValidationFastArray_CRYPTO_SUITE);
- return (cryptosuite == PARCCryptoSuite_EC_SECP_256K1);
+ return (cryptosuite == PARCCryptoSuite_ECDSA_SHA256);
}
return false;
}
NULL);
ccnxValidationEcSecp256K1_Set(dictionary, data->keyid, NULL);
uint64_t cryptosuite = ccnxTlvDictionary_GetInteger(dictionary, CCNxCodecSchemaV1TlvDictionary_ValidationFastArray_CRYPTO_SUITE);
- assertTrue(cryptosuite == PARCCryptoSuite_EC_SECP_256K1, "Unexpected PARCCryptoSuite value in dictionary");
+ assertTrue(cryptosuite == PARCCryptoSuite_ECDSA_SHA256, "Unexpected PARCCryptoSuite value in dictionary");
ccnxTlvDictionary_Release(&dictionary);
}
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();
#ifndef CCNx_Portal_API_ccnx_PortalFactory_h
#define CCNx_Portal_API_ccnx_PortalFactory_h
+#include <parc/security/parc_CryptoSuite.h>
+
struct CCNxPortalFactory;
/**
* @typedef CCNxPortalFactory
* @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.
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);
{
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.");
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);
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);
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);
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);
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);
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);
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);
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
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);
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);
PARCPkcs12KeyStore *pkcs12KeyStore = parcPkcs12KeyStore_Open(params.filename, params.password, PARCCryptoHashType_SHA256);
PARCKeyStore *keyStore = parcKeyStore_Create(pkcs12KeyStore, PARCPkcs12KeyStoreAsKeyStore);
parcPkcs12KeyStore_Release(&pkcs12KeyStore);
- PARCPublicKeySigner *publicKeySigner = parcPublicKeySigner_Create(keyStore, PARCSigningAlgorithm_RSA, PARCCryptoHashType_SHA256);
+ PARCPublicKeySigner *publicKeySigner = parcPublicKeySigner_Create(keyStore, PARCCryptoSuite_RSA_SHA256);
parcKeyStore_Release(&keyStore);
signer = parcSigner_Create(publicKeySigner, PARCPublicKeySignerAsSigner);
unlink(keystore_filename);
- bool success = parcPkcs12KeyStore_CreateFile(keystore_filename, keystore_password, "alice", 1024, 30);
+ bool success = parcPkcs12KeyStore_CreateFile(keystore_filename, keystore_password, "alice", PARCSigningAlgorithm_RSA, 1024, 30);
assertTrue(success, "parcPkcs12KeyStore_CreateFile() failed.");
publicKeySigner_ConnectionConfig(connConfig, keystore_filename, keystore_password);
unlink(data->keystoreName);
- bool success = parcPkcs12KeyStore_CreateFile(data->keystoreName, data->keystorePassword, "user", 1024, 30);
+ bool success = parcPkcs12KeyStore_CreateFile(data->keystoreName, data->keystorePassword, "user", PARCSigningAlgorithm_RSA, 1024, 30);
assertTrue(success, "parcPkcs12KeyStore_CreateFile() failed.");
data->commandRingBuffer = parcRingBuffer1x1_Create(128, NULL);
// init + fini here so there's no memory imbalance
parcSecurity_Init();
- parcPkcs12KeyStore_CreateFile(keystorename, keystorepass, "ccnxuser", 1024, 365);
+ parcPkcs12KeyStore_CreateFile(keystorename, keystorepass, "ccnxuser", PARCSigningAlgorithm_RSA, 1024, 365);
parcSecurity_Fini();
return LONGBOW_STATUS_SUCCEEDED;
sprintf(data->keystorePassword, "23439429");
- bool success = parcPkcs12KeyStore_CreateFile(data->keystoreName, data->keystorePassword, "user", 1024, 30);
+ bool success = parcPkcs12KeyStore_CreateFile(data->keystoreName, data->keystorePassword, "user", PARCSigningAlgorithm_RSA, 1024, 30);
assertTrue(success, "parcPublicKeySignerPkcs12Store_CreateFile() failed.");
close(fd);
unlink(alice_keystore_name);
unlink(bob_keystore_name);
- bool success = parcPkcs12KeyStore_CreateFile(alice_keystore_name, "23456", "alice", 1024, 30);
+ bool success = parcPkcs12KeyStore_CreateFile(alice_keystore_name, "23456", "alice", PARCSigningAlgorithm_RSA, 1024, 30);
assertTrue(success, "parcPkcs12Store_CreateFile() failed.");
- success = parcPkcs12KeyStore_CreateFile(bob_keystore_name, "34567", "bob", 2048, 15);
+ success = parcPkcs12KeyStore_CreateFile(bob_keystore_name, "34567", "bob", PARCSigningAlgorithm_RSA, 2048, 15);
assertTrue(success, "parcPkcs12Store_CreateFile() failed.");
alice_params = MultipleConnections_createParams(local_name, alice_keystore_name, "23456", alice_nonce);