<div dir="ltr">Hi Shuo<div><br></div><div>If you have multiple machines, you'll need to copy the certificate request between machines.</div><div><br></div><div>The example below assumes you have five machines:<br></div><div><ul><li>root</li><li>site1</li><li>site2</li><li>router1</li><li>router2</li></ul></div><div>To protect CA private keys, you could keep root, site1, site2 machines offline, and use USB sticks to copy files to and from them.</div><div><br></div><div><br></div><div><font face="monospace, monospace">root> ndnsec-keygen /root | tee root.ndncert | ndn-cert-install -</font></div><div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace">site1> ndnsec-keygen /root/site1 > site1.req</span><br></div><div><font face="monospace, monospace">(copy site1.req to root machine)</font></div><div><font face="monospace, monospace">root> ndnsec-certgen -N /root/site1 -s /root site1.req > site1.ndncert</font></div><div><font face="monospace, monospace">(copy site1.ndncert to site1 machine)</font></div><div><font face="monospace, monospace">site1> cat site1.ndncert | ndn-cert-install -</font></div><div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace"></span></div></div></div><div><div><span style="font-family:monospace,monospace">(similar for site2)</span></div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace">router1> ndnsec-keygen /root/site1/router1 > router1.req</span><br></div><div><font face="monospace, monospace">(copy router1.req to site1 machine)</font></div><div><font face="monospace, monospace">site1> ndnsec-certgen -N /root/site1/router1 -s /root/site1 router1.req > router1.ndncert</font></div><div><font face="monospace, monospace">(copy router1.ndncert to router1 machine)</font></div><div><font face="monospace, monospace">router1> cat router1.ndncert | ndn-cert-install -</font></div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace">(similar for router2)</span></div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace">(copy *.ndncert to some connected machine on the network, and publish them from repo-ng or ndns)</span></div><div><br></div></div><div><br></div><div>Yours, Junxiao<br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 2, 2015 at 5:28 AM, Shuo Chen <span dir="ltr"><<a href="mailto:chenatu2006@gmail.com" target="_blank">chenatu2006@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Hi Yingdi,<div><br></div><div>My question is that how to sign a cert with the root cert generated by another host.<br><div><br></div><div>Here is my security model</div><div><br></div><div>root---------site1----------router1</div><div>   |-----------site2----------router2</div><div><br></div><div>I installed certificates of root, site1 and router1 in host1.</div><div>used ndnsec cert-dump to dump certificate of root in a file.</div><div>The I transferred this certificate file into another machine and used ndnsec cert-install to install the certificate.</div><div>All above works well.</div><div>Then </div><div>$ ndnsec-certgen -N /root/site2 -s /root site2-cert.req | ndnsec-cert-install -<br></div><div><br></div><div>It shows “ERROR: private key doesn't exists”</div><div><br></div><div>-----</div><div>Shuo Chen</div></div></div><div class="gmail_extra"><br></div></blockquote></div></div></div></div>