diff --git a/src/ca-module.cpp b/src/ca-module.cpp
index b5547e0..9ac7453 100644
--- a/src/ca-module.cpp
+++ b/src/ca-module.cpp
@@ -481,22 +481,12 @@
 Certificate
 CaModule::issueCertificate(const RequestState& requestState)
 {
-  auto period = requestState.cert.getValidityPeriod();
-  Certificate newCert;
-
-  Name certName = requestState.cert.getKeyName();
-  certName.append("NDNCERT").appendVersion();
-  newCert.setName(certName);
-  newCert.setContent(requestState.cert.getContent());
-  newCert.setFreshnessPeriod(1_h);
-  NDN_LOG_TRACE("cert request content " << requestState.cert);
-  SignatureInfo signatureInfo;
-  signatureInfo.setValidityPeriod(period);
-  ndn::security::SigningInfo signingInfo(ndn::security::SigningInfo::SIGNER_TYPE_ID,
-                                         m_config.caProfile.caPrefix, signatureInfo);
-  // Note: we should use KeyChain::makeCertificate() in future.
-  m_keyChain.sign(newCert, signingInfo);
-  NDN_LOG_TRACE("new cert got signed" << newCert);
+  ndn::security::MakeCertificateOptions opts;
+  opts.issuerId = Name::Component("NDNCERT");
+  opts.validity = requestState.cert.getValidityPeriod();
+  auto newCert = m_keyChain.makeCertificate(requestState.cert,
+                                            signingByIdentity(m_config.caProfile.caPrefix), opts);
+  NDN_LOG_TRACE("Signed new certificate: " << newCert);
   return newCert;
 }
 
