diff --git a/ndn-cpp/security/key-chain.cpp b/ndn-cpp/security/key-chain.cpp
index 9ba15f0..6a44aa1 100644
--- a/ndn-cpp/security/key-chain.cpp
+++ b/ndn-cpp/security/key-chain.cpp
@@ -90,9 +90,9 @@
    const unsigned char *privateKeyDer, unsigned int privateKeyDerLength, WireFormat& wireFormat)
 {
   // Set the public key.
-  setSha256(publicKeyDer, publicKeyDerLength, data.getSignedInfo().getPublisherPublicKeyDigest().getPublisherPublicKeyDigest());
-  data.getSignedInfo().getKeyLocator().setType(ndn_KeyLocatorType_KEY);
-  data.getSignedInfo().getKeyLocator().setKeyData(publicKeyDer, publicKeyDerLength);
+  setSha256(publicKeyDer, publicKeyDerLength, data.getMetaInfo().getPublisherPublicKeyDigest().getPublisherPublicKeyDigest());
+  data.getMetaInfo().getKeyLocator().setType(ndn_KeyLocatorType_KEY);
+  data.getMetaInfo().getKeyLocator().setKeyData(publicKeyDer, publicKeyDerLength);
   // Clear the signature so we don't encode it below.
   data.getSignature().clear();
 
@@ -142,9 +142,9 @@
   // Find the public key.
   const unsigned char *publicKeyDer;
   unsigned int publicKeyDerLength;
-  if (data.getSignedInfo().getKeyLocator().getType() == ndn_KeyLocatorType_KEY) {
-    publicKeyDer = &data.getSignedInfo().getKeyLocator().getKeyData().front();
-    publicKeyDerLength = data.getSignedInfo().getKeyLocator().getKeyData().size();
+  if (data.getMetaInfo().getKeyLocator().getType() == ndn_KeyLocatorType_KEY) {
+    publicKeyDer = &data.getMetaInfo().getKeyLocator().getKeyData().front();
+    publicKeyDerLength = data.getMetaInfo().getKeyLocator().getKeyData().size();
   }
   else
     // Can't find a public key.
diff --git a/ndn-cpp/security/key-chain.hpp b/ndn-cpp/security/key-chain.hpp
index 0d3873e..584ddc4 100644
--- a/ndn-cpp/security/key-chain.hpp
+++ b/ndn-cpp/security/key-chain.hpp
@@ -13,10 +13,10 @@
 class KeyChain {
 public:
   /**
-   * In data, set the signed info publisher public key digest and key locator key to the public key and set the 
+   * In data, set the meta info publisher public key digest and key locator key to the public key and set the 
    * signature using the private key.
    * Note: the caller must make sure the timestamp is correct, for example with 
-   * data.getSignedInfo().setTimestampMilliseconds(time(NULL) * 1000.0).
+   * data.getMetaInfo().setTimestampMilliseconds(time(NULL) * 1000.0).
    * @param data The Data object to sign and set the key and signature.
    * @param publicKeyDer A pointer to a buffer with the DER-encoded public key.
    * @param publicKeyDerLength The number of bytes in publicKeyDer.
