yoursunny / NDNts-CA

NDNts Personal Certificate Authority

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NDNts Personal CA

NDNts Personal CA creates an NDN Certificate Authority for all your end hosts. It is great for:

  • A power user who has multiple end hosts.
  • A webapp developer that wants to provide NDN certificates to website visitors.

Instructions

System requirements:

  • Node.js 20.x
  • Windows 10, Debian 12, or Ubuntu 22.04

Setup steps:

  1. Clone the repository.
  2. Execute corepack pnpm install.
  3. Run corepack pnpm start, or pm2 start ecosystem.config.js for production deployment with PM2.
  4. Visit http://localhost:8722/ in a web browser.
  5. If using PM2, you have to manually restart the service with pm2 restart ecosystem.config.js after changing CA profile.

To obtain an NDN testbed certificate and start issuing sub-certificates:

  1. Go to "keychain" page, create a key within testbed name hierarchy.
  2. Click "request cert" to request a certificate from testbed CA.
  3. Go to "create new CA profile" page, and select the testbed certificate.

You can then obtain sub-certificates from this Personal CA using one of these methods:

  • use a NDNCERT v0.3 client
  • use "submit a certificate request" page

Technical Information

NDNts logo

NDNts Personal CA is built with:

  • NDNts, Named Data Networking libraries for the modern web.
  • Fastify web framework.

This project shows how to write a Node.js application with NDNts libraries. It also demonstrates these NDNts capabilities:

  • Key generation and certificate management from @ndn/keychain package.
  • NDNCERT v0.3 protocol implementation from @ndn/ndncert package.
  • Embedded repo from @ndn/repo package.

About

NDNts Personal Certificate Authority

License:ISC License


Languages

Language:JavaScript 59.8%Language:EJS 38.9%Language:CSS 1.3%