Git Product home page Git Product logo

ndn-cxx_security_tutorial's Introduction

Ndn-cxx_security_tutorial

by Mateus Sousa (UFBA)

Configurando ambiente docker

  • Foi criada uma imagem personalizada da biblioteca ndn-cxx. Nessa imagem estão isntaladas as libs ndn-cxx e NFD prontas para uso.
  • Neste tutorial será abordado a validação de conteúdos em Named Data Networking (NDN).

Pré-requisitos

  • Docker devidamente instalado e configurado (ver https://www.docker.com/)
  • Baixe a imagem: docker pull mateussousa/ndn

Montagem da rede

  • Para criar uma rede para os containers execute o comando: docker network create -d bridge ndn
  • Uma vez criada a rede, é possível subir os containers, em terminais diferentes execute:
  • docker run --name consumer --network ndn -it mateussousa/ndn bash
  • docker run --name producer --network ndn -it mateussousa/ndn bash
  • docker run --name router --network ndn -it mateussousa/ndn bash

Configurando segurança

No produtor você irá criar as chaves e o certificado raíz.

  • ndnsec-key-gen /example/ > root.key
  • ndnsec-cert-dump -i /example/ > root.cert
  • ndnsec-cert-install -f root.cert

Após isso, copie o root.cert para o consumidor

  • No consumidor, execute mkdir -p /usr/local/etc/ndn/keys

  • copie o cert para esse dir.

  • copie o arquivo localizado em rules/ para o diretório ndn-cxx/ dentro do container.

  • Por fim, copie os aquivos consumer.cpp e producer.cpp para o diretório ndn-cxx/examples nos containers consumer e producer, respectivamente.

  • Em cada container execute o ./waf para compilar as aplicações.

Setting up

Instalação das libs ndn-cxx e NFD no host (versão utilizada Ubuntu 18.04)

  • ndn-cxx

    • sudo apt install g++ pkg-config python3-minimal libboost-all-dev libssl-dev libsqlite3-dev
    • sudo apt install doxygen graphviz python3-pip
    • sudo pip3 install sphinx sphinxcontrib-doxylink
    • git clone https://github.com/named-data/ndn-cxx
    • git clone --recursive https://github.com/named-data/NFD.git
  • Building

  • cd ndn-cxx && ./waf configure --with-examples && ./waf && sudo ./waf install
  • Saia do diretório ndn-cxx
  • cd NFD && ./waf configure && ./waf && sudo ./waf install ; ldconfig
  • Adicione o arquivo de configuração default do NFD
  • sudo cp /usr/local/etc/ndn/nfd.conf.sample /usr/local/etc/ndn/nfd.conf

Execução do NFD

  • Para inicializar o daemon execute
  • nfd-start
  • Cheque o status em seguida com o comando:
  • ndn-status

ndn-cxx_security_tutorial's People

Contributors

mateus-n00b avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.