{"id":18422473,"url":"https://github.com/sri-csl/secure_ros_tools","last_synced_at":"2025-04-13T12:57:28.991Z","repository":{"id":137662421,"uuid":"101445125","full_name":"SRI-CSL/secure_ros_tools","owner":"SRI-CSL","description":null,"archived":false,"fork":false,"pushed_at":"2017-08-30T19:45:07.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-13T12:57:25.295Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SRI-CSL.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-25T22:00:12.000Z","updated_at":"2020-08-25T12:03:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"014f9c63-f171-4c6b-9d88-ea308957430d","html_url":"https://github.com/SRI-CSL/secure_ros_tools","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Fsecure_ros_tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Fsecure_ros_tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Fsecure_ros_tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Fsecure_ros_tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SRI-CSL","download_url":"https://codeload.github.com/SRI-CSL/secure_ros_tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248717275,"owners_count":21150389,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T04:30:20.179Z","updated_at":"2025-04-13T12:57:28.972Z","avatar_url":"https://github.com/SRI-CSL.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Secure ROS tools \n================\n\n``secure_ros_tools`` contains tools to create configuration files for IPSec for the \"Secure ROS\" project. This can be used to configure IPsec in transport mode for any application. Currently only Ubuntu Linux is supported. \n\nInstallation\n------------ \n\nInstall ``racoon`` and ``ipsec-tools``. ::\n\n  sudo apt-get install racoon ipsec-tools python-pip python3-pip\n\nTo install the package::\n\n  sudo pip install git+https://github.com/SRI-CSL/secure_ros_tools.git\n\nUsage\n-----\n\nIn order to use IPSec among a set of computers, you need to create some configuration files. Optionally, you can create public-private key pairs.\n\nYou need to provide a dict containing the key-value pairs of ``hostname`` and ``ip_address``. You may then create the public-private keys and necessary configuration files as follows. ::\n\n  create_ipsec_conf -i data/examples.yaml\n\nwhere the ``data/examples.yaml`` file contains the key value pairs. An example is provided below. ::\n\n  machine1: 192.168.10.201\n  machine2: 192.168.10.202\n  machine3: 192.168.10.203\n\nOptionally, you may provide the information as a JSON string. ::\n\n  create_ipsec_conf -d '{ \"machine1\": \"192.168.10.201\", \"machine2\": \"192.168.10.202\", \"machine3\": \"192.168.10.203\" }'\n\nThe following files are then created. ::\n\n  output/machine1/etc/ipsec-tools.conf\n  output/machine1/etc/racoon/certs/machine1\n  output/machine1/etc/racoon/certs/machine1.pub\n  output/machine1/etc/racoon/certs/machine2.pub\n  output/machine1/etc/racoon/certs/machine3.pub\n  output/machine1/etc/racoon/racoon.conf\n\n  output/machine2/etc/ipsec-tools.conf\n  output/machine2/etc/racoon/certs/machine1.pub\n  output/machine2/etc/racoon/certs/machine2\n  output/machine2/etc/racoon/certs/machine2.pub\n  output/machine2/etc/racoon/certs/machine3.pub\n  output/machine2/etc/racoon/racoon.conf\n\n  output/machine3/etc/ipsec-tools.conf\n  output/machine3/etc/racoon/certs/machine1.pub\n  output/machine3/etc/racoon/certs/machine2.pub\n  output/machine3/etc/racoon/certs/machine3\n  output/machine3/etc/racoon/certs/machine3.pub\n  output/machine3/etc/racoon/racoon.conf\n\n\nAdditionally, a ``tar.gz`` file is created for each machine. ::\n\n  output/machine1.tar.gz\n  output/machine2.tar.gz\n  output/machine3.tar.gz\n\n\nCopy the ``tar.gz`` files to the appropriate machines and untar them into the appropriate folder on the respective machines. \n\nE.g., on ``machine1``, untar the contents of ``machine1.tgz``. ::\n\n  sudo tar xzf machine1.tgz -C /\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsri-csl%2Fsecure_ros_tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsri-csl%2Fsecure_ros_tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsri-csl%2Fsecure_ros_tools/lists"}