security: introduce KeyChain::makeCertificate
KeyChain::makeCertificate() captures a common routine of creating and
signing a certificate. Having it in the library allows deduplicating
similar code elsewhere.
Also add "find by certificate name" tests for CertificateCache and
TrustAnchorContainer.
refs #5112
Change-Id: I954587e1c03d6b372e3b4f04e702339d1ff1533e
diff --git a/tests/unit/security/validator.t.cpp b/tests/unit/security/validator.t.cpp
index 0a45c72..4acbe4d 100644
--- a/tests/unit/security/validator.t.cpp
+++ b/tests/unit/security/validator.t.cpp
@@ -262,7 +262,12 @@
// create another key for the same identity and sign it properly
Key parentKey = m_keyChain.createKey(subIdentity);
Key requestedKey = subIdentity.getKey(interest.getName());
- auto cert = makeCert(requestedKey, "looper", parentKey, parentKey.getName());
+
+ SignatureInfo sigInfo;
+ sigInfo.setKeyLocator(parentKey.getName());
+ auto si = signingByKey(parentKey).setSignatureInfo(sigInfo);
+
+ auto cert = m_keyChain.makeCertificate(requestedKey, si);
face.receive(cert);
};
@@ -292,7 +297,11 @@
auto k3 = m_keyChain.createKey(s1, RsaKeyParams(name::Component("key3")));
auto makeLoopCert = [this] (Key& key, const Key& signer) {
- auto cert = this->makeCert(key, "looper", signer, signer.getName());
+ SignatureInfo sigInfo;
+ sigInfo.setKeyLocator(signer.getName());
+ auto si = signingByKey(signer).setSignatureInfo(sigInfo);
+
+ auto cert = m_keyChain.makeCertificate(key, si);
m_keyChain.setDefaultCertificate(key, cert);
cache.insert(cert);
};