security: return a span from Certificate::getPublicKey()

Also, tighten the FreshnessPeriod check in the constructor
and expand test coverage of various functions

Change-Id: I70837e20bbea8f1174baf2b252f39894e5346c34
diff --git a/tests/unit/security/key-chain.t.cpp b/tests/unit/security/key-chain.t.cpp
index b3ea456..ba84081 100644
--- a/tests/unit/security/key-chain.t.cpp
+++ b/tests/unit/security/key-chain.t.cpp
@@ -611,8 +611,7 @@
     BOOST_CHECK_EQUAL(cert.getContentType(), tlv::ContentType_Key);
     BOOST_CHECK_EQUAL(cert.getFreshnessPeriod(), 1_h);
 
-    BOOST_TEST(cert.getContent().value_bytes() == requester.getPublicKey(),
-               boost::test_tools::per_element());
+    BOOST_TEST(cert.getPublicKey() == requester.getPublicKey(), boost::test_tools::per_element());
 
     checkKeyLocatorName(cert);