tools: Adjust ndnsec-cert-gen behaivor
Refs: #1484
Change-Id: Id33a2881cc7a4c9acdd16999e80be7d79c63d650
diff --git a/src/security/sec-public-info-sqlite3.cpp b/src/security/sec-public-info-sqlite3.cpp
index b8b5af3..8d7ccb2 100644
--- a/src/security/sec-public-info-sqlite3.cpp
+++ b/src/security/sec-public-info-sqlite3.cpp
@@ -196,6 +196,9 @@
void
SecPublicInfoSqlite3::addIdentity(const Name& identityName)
{
+ if (doesIdentityExist(identityName))
+ return;
+
sqlite3_stmt* statement;
sqlite3_prepare_v2(m_database, "INSERT OR REPLACE INTO Identity (identity_name) values (?)", -1, &statement, 0);
@@ -249,6 +252,9 @@
if (keyName.empty())
return;
+ if (doesPublicKeyExist(keyName))
+ return;
+
string keyId = keyName.get(-1).toEscapedString();
Name identityName = keyName.getPrefix(-1);
@@ -387,6 +393,9 @@
addPublicKey(keyName, KEY_TYPE_RSA, certificate.getPublicKeyInfo()); //HACK!!! Assume the key type is RSA, we should check more.
+ if (doesCertificateExist(certificateName))
+ return;
+
string keyId = keyName.get(-1).toEscapedString();
Name identity = keyName.getPrefix(-1);