diff --git a/src/detail/challenge-encoder.cpp b/src/detail/challenge-encoder.cpp
index 33559c8..f2b1933 100644
--- a/src/detail/challenge-encoder.cpp
+++ b/src/detail/challenge-encoder.cpp
@@ -24,7 +24,7 @@
 namespace ndncert {
 
 Block
-ChallengeEncoder::encodeDataContent(const ca::RequestState& request)
+ChallengeEncoder::encodeDataContent(const ca::RequestState& request, optional<Name> issuedCertName)
 {
   Block response = makeEmptyBlock(tlv::EncryptedPayload);
   response.push_back(makeNonNegativeIntegerBlock(tlv::Status, static_cast<size_t>(request.m_status)));
@@ -35,6 +35,9 @@
     response.push_back(
         makeNonNegativeIntegerBlock(tlv::RemainingTime, request.m_challengeState->m_remainingTime.count()));
   }
+  if (issuedCertName.has_value()) {
+    response.push_back(makeNestedBlock(tlv::IssuedCertName, *issuedCertName));
+  }
   response.encode();
   return response;
 }
diff --git a/src/detail/challenge-encoder.hpp b/src/detail/challenge-encoder.hpp
index e499094..ab1fe8f 100644
--- a/src/detail/challenge-encoder.hpp
+++ b/src/detail/challenge-encoder.hpp
@@ -31,7 +31,7 @@
 {
 public:
   static Block
-  encodeDataContent(const ca::RequestState& request);
+  encodeDataContent(const ca::RequestState& request, optional<Name> issuedCertName = nullopt);
 
   static void
   decodeDataContent(const Block& data, requester::RequestContext& state);
