<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Zhiyi<div><br></div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Thanks for your comments! I answered most of your questions in my latest commit to NDNCERT wiki. You can check the difference.</div></div></blockquote><div><br></div><div><a href="https://github.com/named-data/ndncert/wiki/NDNCERT-Protocol-new/14ef3ad5d26df066f55f648f28688bf0a405a87d">https://github.com/named-data/ndncert/wiki/NDNCERT-Protocol-new/14ef3ad5d26df066f55f648f28688bf0a405a87d</a><br></div><div>It looks better now.</div><div><br></div><div>Section 2.3.1 PROBE instructions: why is the local area network discovery Interest named "/ndn/CA/PROBE/INFO", not "/localhop/CA/PROBE/INFO"?</div><div>Section 2.3.1 PROBE instructions: "this Interest can <u>discovery </u>the available issuer(s) in the local network" has a typo.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Section 2.3.2 NEW Interest: how is 

[ECDH_Requester_PubKey] encoded? </div></div></div></div></div></div></div></blockquote><div><br></div><div>raw bytes without encoding.</div></div></div></div></blockquote><div>A public key differs from a certificate. An EC public key is binary data.</div><div><div>It is <a href="https://github.com/yoursunny/esp8266ndn/blob/c1b282867afb52ac0ec9e64c86b8fda442cd1d9e/src/security/ec-public-key.hpp#L27">65 bytes</a> in uncompressed format, or <a href="https://github.com/kmackay/micro-ecc/blob/master/uECC.h#L196-L198">33 bytes</a> in compressed format.<br></div></div><div><div>JSON can only represent string, number, object, array, true, false, and null. JSON string is a sequence of zero or more Unicode characters. Binary data is not Unicode.</div><div>So (1) are you using uncompressed or compressed format? (2) how do you encode the binary data into a JSON value?</div></div><div><br></div><div>Section 2.3.3 CHALLENGE Interest: is the requester permitted to select one challenge-id, and then select a different one?</div><div>Section 2.3.3 CHALLENGE Data: in "status" field, WAIT_DOWNLOAD is unnecessary because the requester could skip DOWNLOAD step and fetch the issued certificate from a repo instead. This status should be merged with FINISHED.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Section 2.3.3 CHALLENGE Interest: how many times may the requester retry CHALLENGE? How does the requester know this limitation?</div></div></div></div></div></div></div></blockquote><div><br></div><div>According to the JSON "status" attribute in the replied Data. New description added in the latest commit.</div></div></div></div></blockquote><div><br></div><div>I don't see the answer. There's no "status" code indicating the number of retries have been exhausted and the requester must start over.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Section 2.3.3 CHALLENGE Interest: is there a time limit for the protocol? Can a requester send CHALLENGE command several days after NEW command? How does the requester know this limitation?</div></div></div></div></div></div></div></blockquote><div><br></div><div>Don't have this information for now. In the current implementation of NDNCERT, the freshness time of challenge is decided by the challenge implementation.</div><div>E.g., email challenge implementation requires a config file, where operators can set the freshness time there.</div></div></div></div></blockquote><div><br></div><div>Can you update the a design document for the email challenge?</div><div>The existing document revision <a href="https://github.com/named-data/ndncert/wiki/Email-Challenge/4c83b4b52c22f0bd6558731ad92493040c9768e3">https://github.com/named-data/ndncert/wiki/Email-Challenge/4c83b4b52c22f0bd6558731ad92493040c9768e3</a> is inconsistent with the new protocol.</div><div><br></div><div>Yours, Junxiao</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
</blockquote></div></div></div>
</blockquote></div></div></div></div></div></div></div></div>