Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
jazzy

Package Summary

Tags No category tags.
Version 0.2.5
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version jazzy
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.2.5 (2025-06-18)

  • Add zenoh_security_tools (#661)
  • Contributors: Alejandro Hernández Cordero

0.2.4 (2025-04-20)

  • Revert "Add zenoh_security_tools (#595) (#609)" (#611) This reverts commit aa23ecd91ee455bc6a529fb3cde0b77a8ba39911.

  • Add zenoh_security_tools (#595) (#609)

    • Added zenoh_security_configuration_tools package written in cpp
    • Added domain id

    * Update policy_parser to use nlohmann_json.hpp Since we have the dependency now via #583, this is a potential improvement to the current string concatenation.

    • Further json changes
    • Refactor package to zenoh_security_tools
    • Inject certificates if enclaves provided
    • Replace existing endpoints with tls instead of hardcoded changes
    • Update README.md
    • Also generate router config with security

    * Drop CLI11 dependency ---------Co-authored-by: Alejandro Hernandez Cordero <<ahcorde@gmail.com>> Co-authored-by: Michael Carroll <<mjcarroll@intrinsic.ai>> (cherry picked from commit 1dca3c35ba4616827db18c8a4658c259fa982144) Co-authored-by: yadunund <<yadunund@gmail.com>>

  • Contributors: mergify[bot], yadunund

0.2.3 (2025-03-20)

0.2.2 (2025-02-19)

0.2.1 (2025-02-04)

0.2.0 (2025-01-02)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
kilted

Package Summary

Tags No category tags.
Version 0.6.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version kilted
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.6.2 (2025-06-18)

0.6.1 (2025-05-20)

  • Update CMakeLists.txt (#622)
  • Fix warning on Windows (#618)
  • Contributors: Alejandro Hernández Cordero, mosfet80

0.6.0 (2025-04-18)

  • Add zenoh_security_tools (#595)
  • Contributors: yadunund

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
rolling

Package Summary

Tags No category tags.
Version 0.8.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version rolling
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.8.0 (2025-06-18)

0.7.1 (2025-05-19)

  • Update CMakeLists.txt (#617)
  • Fix warning on Windows (#615)
  • Contributors: Alejandro Hernández Cordero, mosfet80

0.7.0 (2025-04-24)

0.6.0 (2025-04-18)

  • Add zenoh_security_tools (#595)
  • Contributors: yadunund

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

zenoh_security_tools package from rmw_zenoh repo

rmw_zenoh_cpp zenoh_cpp_vendor zenoh_security_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.1.2
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/rmw_zenoh.git
VCS Type git
VCS Version humble
Last Updated 2025-06-24
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package generates config files to enforce security with Zenoh

Additional Links

No additional links.

Maintainers

  • Alejandro Hernanadez

Authors

No additional authors.

zenoh_security_tools

The zenoh_security_tools package contains the generate_configs executable which generates Zenoh session config files with access control, authentication and encryption parameters based on policies and keystores generated using sros2.

Usage

ros2 run zenoh_security_tools generate_configs -h

Generate Zenoh session configs with security artifacts.

Options:
  -h,--help                         Print this help message and exit
  -p,--policy TEXT REQUIRED         The path to the Access Control Policy file.
  -e,--enclaves TEXT                The directory with the security enclaves for the various nodes in the policy file.
  -d,--ros-domain-id UINT REQUIRED  The ROS Domain ID.
  -c,--session-config TEXT REQUIRED         The path to the Zenoh session config file.
  -r,--router-config TEXT REQUIRED  The path to the Zenoh router config file.


Example of configuring security rmw_zenoh

The process of setting up security is very similar to this tutorial but instead of relying on security environment variables and passing enclaves to nodes, we’ll pass Zenoh session configs with the desired security parameters configured to rmw_zenoh. These modified session configs are generated using the tool above.

Setup

The steps below will walk us through running rmw_zenoh with security enabled for a simple talker-lister system.

First create a directory for security artifacts and configs that will be generated.

mkdir ~/sros2_demo

Generate a keystore

cd ~/sros2_demo
ros2 security create_keystore demo_keystore

Generate the certificates for authentication and encryption

Generate security files for the talker and listener nodes, and the zenohd router respectively.

ros2 security create_enclave demo_keystore /talker_listener/talker
ros2 security create_enclave demo_keystore /talker_listener/listener
ros2 security create_enclave demo_keystore /talker_listener/zenohd

Generate the policy.xml for access control

Launch zenohd

ros2 run rmw_zenoh_cpp rmw_zenohd

Launch the listener

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp listener

Launch the talker

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run demo_nodes_cpp talker

Now run the policy generator from sros2

ros2 security generate_policy policy_listener_talker.xml

Finally, terminate all processes.

Try access control

Generate security configs without enclaves (only access control).

ros2 run zenoh_security_tools generate_configs \
  --policy policy_listener_talker.xml \
  --router-config <path to default router config>/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 \
  --session-config <path to default session config>/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 \
  --ros-domain-id 0

This will generate Zenoh session config files for each node in the policy_listener_talker.xml file.

Run the talker with the new config file

```bash export ZENOH_SESSION_CONFIG_URI=talker.json5 ros2 run demo_nodes_cpp talker [INFO] [1740601932.350808475] [talker]: Publishing: ‘Hello World: 1’ [INFO] [1740601933.350487483] [talker]: Publishing: ‘Hello World: 2’

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package zenoh_security_tools

0.1.2 (2025-06-19)

  • [backport jazzy] Add zenoh_security_tools (backport #661) (#673)
  • Contributors: mergify[bot]

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged zenoh_security_tools at Robotics Stack Exchange