Skip to content

Advanced

gfrebello edited this page Mar 2, 2019 · 1 revision

Creating and configuring key pairs

In BSec-NFVO, update, create and delete functions are signed and logged as transactions in the blockchain. By default, the tool comes pre-configured with a key pair called sinfonia_public.pem/sinfonia_private.pem which is used by the administrator of the system. For security purposes, you should instead generate your own key pair when at a production environment. To do this, you can use the client node generateKeypair helper function. On a Python console do:

>>> from backChain.managementClient import *
>>> generateKeypair('mykeypairname')

You should then see your new private key in the backChain/keys folder. Configure backChain to use it in backChain/config.py and every transaction from now on will be signed with it instead of the default key. You can also check the existing keys by running listKeys().

Checking command validation

Want to check that the commands are being validated through consensus and registered in the blockchain? Attempt to create, delete or edit any service function chain. For each command, you should see a transaction being issued from the client to on of the blockchain modules and a response transaction from the orchestrator with the result.

The consensus algorithm will start and each node will output the consensus phases and the commit score of received signed votes. The transaction is appended to the blockchain if and only if number of negative votes on the commit score of each node represents less than 1/3 of the network. When consensus is over, the client module checks the blockchain for the response transaction and outputs it to the web interface.

Other functions

Clone this wiki locally