tools: export non-default key/cert in ndnsec export
refs #5043
Change-Id: Ida6e3c041b850a132160660a58d1f219defedf22
diff --git a/tools/ndnsec/util.cpp b/tools/ndnsec/util.cpp
index cb35b52..c07b509 100644
--- a/tools/ndnsec/util.cpp
+++ b/tools/ndnsec/util.cpp
@@ -69,6 +69,28 @@
}
security::v2::Certificate
+getCertificateFromPib(const security::pib::Pib& pib, const Name& name,
+ bool isIdentityName, bool isKeyName, bool isCertName)
+{
+ if (isIdentityName) {
+ return pib.getIdentity(name)
+ .getDefaultKey()
+ .getDefaultCertificate();
+ }
+ else if (isKeyName) {
+ return pib.getIdentity(security::v2::extractIdentityFromKeyName(name))
+ .getKey(name)
+ .getDefaultCertificate();
+ }
+ else if (isCertName) {
+ return pib.getIdentity(security::v2::extractIdentityFromCertName(name))
+ .getKey(security::v2::extractKeyNameFromCertName(name))
+ .getCertificate(name);
+ }
+ NDN_CXX_UNREACHABLE;
+}
+
+security::v2::Certificate
loadCertificate(const std::string& fileName)
{
shared_ptr<security::v2::Certificate> cert;