diff --git a/src/protocol-detail/challenge.cpp b/src/protocol-detail/challenge.cpp
index f1fed27..273e631 100644
--- a/src/protocol-detail/challenge.cpp
+++ b/src/protocol-detail/challenge.cpp
@@ -33,7 +33,7 @@
   makeStringBlock(tlv_challenge_status, request.m_challengeStatus);
   makeNonNegativeIntegerBlock(tlv_remaining_tries, request.m_remainingTries);
   makeNonNegativeIntegerBlock(tlv_remaining_time, request.m_remainingTime);
-  response.parse();
+  response.encode();
   return response;
 }
 
diff --git a/src/protocol-detail/info.cpp b/src/protocol-detail/info.cpp
index 1463e04..fb2cce5 100644
--- a/src/protocol-detail/info.cpp
+++ b/src/protocol-detail/info.cpp
@@ -41,7 +41,7 @@
   }
   content.push_back(makeNonNegativeIntegerBlock(tlv_max_validity_period, caConfig.m_maxValidityPeriod.count()));
   content.push_back(makeNestedBlock(tlv_ca_certificate, certificate));
-  content.parse();
+  content.encode();
   return content;
 }
 
diff --git a/src/protocol-detail/new.cpp b/src/protocol-detail/new.cpp
index 27bbf0a..20eaafb 100644
--- a/src/protocol-detail/new.cpp
+++ b/src/protocol-detail/new.cpp
@@ -50,7 +50,7 @@
 
   request.push_back(makeStringBlock(tlv_ecdh_pub, ecdhPub));
   request.push_back(makeNestedBlock(tlv_cert_request, certRequest));
-  request.parse();
+  request.encode();
   return request;
 }
 
@@ -67,7 +67,7 @@
   for (const auto& entry: challenges) {
     response.push_back(makeStringBlock(tlv_challenge, entry));
   }
-  response.parse();
+  response.encode();
   return response;
 }
 
diff --git a/src/protocol-detail/probe.cpp b/src/protocol-detail/probe.cpp
index b8034b1..f8a561d 100644
--- a/src/protocol-detail/probe.cpp
+++ b/src/protocol-detail/probe.cpp
@@ -62,7 +62,7 @@
         makeStringBlock(tlv_parameter_value, arguments.at(i))
       );
   }
-  content.parse();
+  content.encode();
   return content;
 }
 
@@ -91,7 +91,7 @@
 
   // TODO: Must be determined based on CA config
   content.push_back(makeEmptyBlock(tlv_allow_longer_name));
-  content.parse();
+  content.encode();
   return content;
 }
 
