-
Notifications
You must be signed in to change notification settings - Fork 819
ROS2 Security settings and certificates #5707
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
So the thing is I did try something else after this, since I was using certificates which were uploaded in the examples directory of the FastDDS repo I tried generating my own certificates using the documentation showed in the below link: Now when I use this newly generated certificates with my setup I get this error while running the MicroXRCEAgent: The detailed terminal output along with the ros2 doctor report is below: px4dev@px4dev-Precision-5510:~$ source /opt/ros/humble/setup.bash
px4dev@px4dev-Precision-5510:~$ export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
px4dev@px4dev-Precision-5510:~$ export FASTRTPS_DEFAULT_PROFILES_FILE=/home/px4dev/Software/Fast-DDS/examples/cpp/security/secure_publisher_profile.xml
px4dev@px4dev-Precision-5510:~$ export FASTDDS_DEFAULT_PROFILES_FILE=/home/px4dev/Software/Fast-DDS/examples/cpp/security/secure_publisher_profile.xml
px4dev@px4dev-Precision-5510:~$ ros2 doctor --report
NETWORK CONFIGURATION
inet : 127.0.0.1
inet4 : ['127.0.0.1']
inet6 : ['::1']
netmask : 255.0.0.0
device : lo
flags : 73<UP,LOOPBACK,RUNNING>
mtu : 65536
inet : 192.168.102.32
inet4 : ['192.168.102.32']
ether : 28:16:ad:59:0f:d3
inet6 : ['fe80::e033:5ad0:5eb:602%wlp2s0']
netmask : 255.255.248.0
device : wlp2s0
flags : 4163<UP,BROADCAST,RUNNING,MULTICAST>
mtu : 1500
broadcast : 192.168.103.255
inet : 172.17.0.1
inet4 : ['172.17.0.1']
ether : 2e:b7:5a:9d:25:e0
netmask : 255.255.0.0
device : docker0
flags : 4099<UP,BROADCAST,MULTICAST>
mtu : 1500
broadcast : 172.17.255.255
PACKAGE VERSIONS
rcl_logging_interface : latest=2.3.1, local=2.3.1
examples_rclcpp_minimal_subscriber : latest=0.15.3, local=0.15.3
rqt_srv : latest=1.0.3, local=1.0.3
lifecycle : latest=0.20.5, local=0.20.5
visualization_msgs : latest=4.2.4, local=4.2.4
interactive_markers : latest=2.3.2, local=2.3.2
ament_cmake_uncrustify : latest=0.12.11, local=0.12.11
ament_copyright : latest=0.12.11, local=0.12.11
rosidl_typesupport_cpp : latest=2.0.2, local=2.0.2
shared_queues_vendor : latest=0.15.13, local=0.15.13
class_loader : latest=2.2.0, local=2.2.0
zstd_vendor : latest=0.15.13, local=0.15.13
rqt_common_plugins : latest=1.2.0, local=1.2.0
rosidl_runtime_c : latest=3.1.6, local=3.1.6
ros_core : latest=0.10.0, local=0.10.0
laser_geometry : latest=2.4.0, local=2.4.0
action_tutorials_cpp : latest=0.20.5, local=0.20.5
ament_cmake_pep257 : latest=0.12.11, local=0.12.11
rosbag2 : latest=0.15.13, local=0.15.13
ros2launch : latest=0.19.8, local=0.19.8
pluginlib : latest=5.1.0, local=5.1.0
ros_environment : latest=3.2.2, local=3.2.2
qt_gui_cpp : latest=2.2.3, local=2.2.3
ament_index_cpp : latest=1.4.0, local=1.4.0
image_transport : latest=3.1.11, local=3.1.10
lifecycle_msgs : latest=1.2.1, local=1.2.1
sros2 : latest=0.10.5, local=0.10.5
rosbag2_transport : latest=0.15.13, local=0.15.13
stereo_msgs : latest=4.2.4, local=4.2.4
ament_lint_cmake : latest=0.12.11, local=0.12.11
dummy_sensors : latest=0.20.5, local=0.20.5
ament_pep257 : latest=0.12.11, local=0.12.11
rviz_rendering : latest=11.2.16, local=11.2.16
ament_cmake_export_targets : latest=1.3.11, local=1.3.11
examples_rclpy_minimal_service : latest=0.15.3, local=0.15.3
ament_cmake_cppcheck : latest=0.12.11, local=0.12.11
sensor_msgs_py : latest=4.2.4, local=4.2.4
rmw_dds_common : latest=1.6.0, local=1.6.0
qt_gui : latest=2.2.3, local=2.2.3
keyboard_handler : latest=0.0.5, local=0.0.5
tracetools : latest=4.1.1, local=4.1.1
ros2interface : latest=0.18.11, local=0.18.11
depthimage_to_laserscan : latest=2.5.1, local=2.5.1
example_interfaces : latest=0.9.3, local=0.9.3
rqt_publisher : latest=1.5.0, local=1.5.0
ament_cmake_python : latest=1.3.11, local=1.3.11
examples_rclpy_minimal_publisher : latest=0.15.3, local=0.15.3
orocos_kdl_vendor : latest=0.2.5, local=0.2.5
rosbag2_compression_zstd : latest=0.15.13, local=0.15.13
ament_cmake_test : latest=1.3.11, local=1.3.11
tinyxml_vendor : latest=0.8.3, local=0.8.3
rqt_image_view : latest=1.2.0, local=1.2.0
ament_cmake_auto : latest=1.3.11, local=1.3.11
dummy_robot_bringup : latest=0.20.5, local=0.20.5
ament_cmake_export_interfaces : latest=1.3.11, local=1.3.11
ament_cmake_gen_version_h : latest=1.3.11, local=1.3.11
ament_cmake_lint_cmake : latest=0.12.11, local=0.12.11
composition_interfaces : latest=1.2.1, local=1.2.1
osrf_pycommon : latest=2.1.4, local=2.1.4
kdl_parser : latest=2.6.4, local=2.6.4
examples_rclcpp_minimal_action_client : latest=0.15.3, local=0.15.3
rqt_reconfigure : latest=1.1.2, local=1.1.2
pybind11_vendor : latest=2.4.2, local=2.4.2
launch_ros : latest=0.19.8, local=0.19.8
rosbag2_storage : latest=0.15.13, local=0.15.13
ament_uncrustify : latest=0.12.11, local=0.12.11
ament_cmake_ros : latest=0.10.0, local=0.10.0
rcl_interfaces : latest=1.2.1, local=1.2.1
tf2_msgs : latest=0.25.12, local=0.25.12
ament_cmake_export_include_directories : latest=1.3.11, local=1.3.11
examples_rclpy_minimal_action_client : latest=0.15.3, local=0.15.3
examples_rclcpp_minimal_service : latest=0.15.3, local=0.15.3
rosidl_default_runtime : latest=1.2.0, local=1.2.0
rqt_topic : latest=1.5.0, local=1.5.0
intra_process_demo : latest=0.20.5, local=0.20.5
rosgraph_msgs : latest=1.2.1, local=1.2.1
rosidl_runtime_py : latest=0.9.3, local=0.9.3
ament_cmake_flake8 : latest=0.12.11, local=0.12.11
rmw_fastrtps_cpp : latest=6.2.7, local=6.2.7
rosbag2_compression : latest=0.15.13, local=0.15.13
ros2pkg : latest=0.18.11, local=0.18.11
rqt_action : latest=2.0.1, local=2.0.1
ament_xmllint : latest=0.12.11, local=0.12.11
ros2cli_common_extensions : latest=0.1.1, local=0.1.1
nav_msgs : latest=4.2.4, local=4.2.4
ament_cmake_export_dependencies : latest=1.3.11, local=1.3.11
rqt_py_common : latest=1.1.7, local=1.1.7
rcl_lifecycle : latest=5.3.9, local=5.3.9
domain_coordinator : latest=0.10.0, local=0.10.0
rqt_msg : latest=1.2.0, local=1.2.0
teleop_twist_keyboard : latest=2.4.0, local=2.4.0
uncrustify_vendor : latest=2.0.2, local=2.0.2
rcutils : latest=5.1.6, local=5.1.6
tf2_py : latest=0.25.12, local=0.25.12
ros2topic : latest=0.18.11, local=0.18.11
rosidl_typesupport_c : latest=2.0.2, local=2.0.2
rttest : latest=0.13.0, local=0.13.0
image_geometry : latest=3.2.1, local=3.2.1
tf2_geometry_msgs : latest=0.25.12, local=0.25.12
rosidl_typesupport_introspection_c : latest=3.1.6, local=3.1.6
rosbag2_cpp : latest=0.15.13, local=0.15.13
tf2_eigen : latest=0.25.12, local=0.25.12
turtlesim : latest=1.4.2, local=1.4.2
action_tutorials_py : latest=0.20.5, local=0.20.5
fastrtps_cmake_module : latest=2.2.2, local=2.2.2
ros2service : latest=0.18.11, local=0.18.11
ament_cmake_libraries : latest=1.3.11, local=1.3.11
rqt_plot : latest=1.1.3, local=1.1.3
quality_of_service_demo_py : latest=0.20.5, local=0.20.5
rosbag2_py : latest=0.15.13, local=0.15.13
libcurl_vendor : latest=3.1.2, local=3.1.2
rosbag2_interfaces : latest=0.15.13, local=0.15.13
rosidl_typesupport_interface : latest=3.1.6, local=3.1.6
ament_cmake_target_dependencies : latest=1.3.11, local=1.3.11
examples_rclcpp_multithreaded_executor : latest=0.15.3, local=0.15.3
diagnostic_msgs : latest=4.2.4, local=4.2.4
tlsf_cpp : latest=0.13.0, local=0.13.0
rmw_implementation_cmake : latest=6.1.2, local=6.1.2
sensor_msgs : latest=4.2.4, local=4.2.4
std_srvs : latest=4.2.4, local=4.2.4
rqt_gui_py : latest=1.1.7, local=1.1.7
ros2doctor : latest=0.18.11, local=0.18.11
rclcpp : latest=16.0.11, local=16.0.11
rosidl_runtime_cpp : latest=3.1.6, local=3.1.6
console_bridge_vendor : latest=1.4.1, local=1.4.1
pcl_msgs : latest=1.0.0, local=1.0.0
ament_lint_common : latest=0.12.11, local=0.12.11
geometry_msgs : latest=4.2.4, local=4.2.4
rosidl_cmake : latest=3.1.6, local=3.1.6
yaml_cpp_vendor : latest=8.0.2, local=8.0.2
rosidl_typesupport_fastrtps_c : latest=2.2.2, local=2.2.2
tf2_kdl : latest=0.25.12, local=0.25.12
rqt_graph : latest=1.3.1, local=1.3.1
ament_lint_auto : latest=0.12.11, local=0.12.11
launch_testing_ament_cmake : latest=1.0.7, local=1.0.7
tf2_eigen_kdl : latest=0.25.12, local=0.25.12
ros_workspace : latest=1.0.2, local=1.0.2
rosbag2_storage_default_plugins : latest=0.15.13, local=0.15.13
std_msgs : latest=4.2.4, local=4.2.4
tf2_tools : latest=0.25.12, local=0.25.12
geometry2 : latest=0.25.12, local=0.25.12
rviz2 : latest=11.2.16, local=11.2.16
ros2param : latest=0.18.11, local=0.18.11
sros2_cmake : latest=0.10.5, local=0.10.5
sqlite3_vendor : latest=0.15.13, local=0.15.13
rqt_bag : latest=1.1.5, local=1.1.5
rviz_common : latest=11.2.16, local=11.2.16
examples_rclpy_minimal_client : latest=0.15.3, local=0.15.3
ament_package : latest=0.14.0, local=0.14.0
trajectory_msgs : latest=4.2.4, local=4.2.4
rosidl_generator_c : latest=3.1.6, local=3.1.6
python_orocos_kdl_vendor : latest=0.2.5, local=0.2.5
topic_monitor : latest=0.20.5, local=0.20.5
cv_bridge : latest=3.2.1, local=3.2.1
launch_testing : latest=1.0.7, local=1.0.7
qt_gui_py_common : latest=2.2.3, local=2.2.3
demo_nodes_cpp_native : latest=0.20.5, local=0.20.5
examples_rclcpp_minimal_publisher : latest=0.15.3, local=0.15.3
rviz_assimp_vendor : latest=11.2.16, local=11.2.16
ament_cmake_gtest : latest=1.3.11, local=1.3.11
demo_nodes_cpp : latest=0.20.5, local=0.20.5
python_qt_binding : latest=1.1.2, local=1.1.2
unique_identifier_msgs : latest=2.2.1, local=2.2.1
pcl_conversions : latest=2.4.5, local=2.4.5
qt_dotgraph : latest=2.2.3, local=2.2.3
rviz_default_plugins : latest=11.2.16, local=11.2.16
ament_cpplint : latest=0.12.11, local=0.12.11
rqt_py_console : latest=1.0.2, local=1.0.2
common_interfaces : latest=4.2.4, local=4.2.4
python_cmake_module : latest=0.10.0, local=0.10.0
action_tutorials_interfaces : latest=0.20.5, local=0.20.5
rosidl_generator_cpp : latest=3.1.6, local=3.1.6
tf2_bullet : latest=0.25.12, local=0.25.12
ament_cmake_gmock : latest=1.3.11, local=1.3.11
tf2_sensor_msgs : latest=0.25.12, local=0.25.12
rclcpp_lifecycle : latest=16.0.11, local=16.0.11
rclpy : latest=3.3.15, local=3.3.15
tinyxml2_vendor : latest=0.7.6, local=0.7.6
teleop_twist_joy : latest=2.4.7, local=2.4.7
ament_lint : latest=0.12.11, local=0.12.11
ament_cmake_include_directories : latest=1.3.11, local=1.3.11
rosidl_adapter : latest=3.1.6, local=3.1.6
ament_cmake_pytest : latest=1.3.11, local=1.3.11
action_msgs : latest=1.2.1, local=1.2.1
rqt_gui_cpp : latest=1.1.7, local=1.1.7
robot_state_publisher : latest=3.0.3, local=3.0.3
examples_rclcpp_minimal_composition : latest=0.15.3, local=0.15.3
libstatistics_collector : latest=1.3.4, local=1.3.4
rosidl_generator_py : latest=0.14.4, local=0.14.4
ros2run : latest=0.18.11, local=0.18.11
map_msgs : latest=2.1.0, local=2.1.0
angles : latest=1.15.0, local=1.15.0
ros2node : latest=0.18.11, local=0.18.11
ros2bag : latest=0.15.13, local=0.15.13
builtin_interfaces : latest=1.2.1, local=1.2.1
pendulum_control : latest=0.20.5, local=0.20.5
launch : latest=1.0.7, local=1.0.7
ament_cmake_export_definitions : latest=1.3.11, local=1.3.11
rqt_console : latest=2.0.3, local=2.0.3
launch_yaml : latest=1.0.7, local=1.0.7
rosidl_default_generators : latest=1.2.0, local=1.2.0
rmw : latest=6.1.2, local=6.1.2
ament_cmake_core : latest=1.3.11, local=1.3.11
ament_cppcheck : latest=0.12.11, local=0.12.11
quality_of_service_demo_cpp : latest=0.20.5, local=0.20.5
rqt_service_caller : latest=1.0.5, local=1.0.5
ament_index_python : latest=1.4.0, local=1.4.0
rcl_logging_spdlog : latest=2.3.1, local=2.3.1
ament_cmake_export_link_flags : latest=1.3.11, local=1.3.11
examples_rclcpp_minimal_action_server : latest=0.15.3, local=0.15.3
rclcpp_components : latest=16.0.11, local=16.0.11
statistics_msgs : latest=1.2.1, local=1.2.1
tango_icons_vendor : latest=0.1.1, local=0.1.1
rclcpp_action : latest=16.0.11, local=16.0.11
ros2lifecycle : latest=0.18.11, local=0.18.11
rosidl_typesupport_fastrtps_cpp : latest=2.2.2, local=2.2.2
rcpputils : latest=2.4.4, local=2.4.4
image_tools : latest=0.20.5, local=0.20.5
message_filters : latest=4.3.5, local=4.3.5
tf2_ros_py : latest=0.25.12, local=0.25.12
rviz_ogre_vendor : latest=11.2.16, local=11.2.16
rosidl_typesupport_introspection_cpp : latest=3.1.6, local=3.1.6
eigen3_cmake_module : latest=0.1.1, local=0.1.1
sdl2_vendor : latest=3.3.0, local=3.3.0
rmw_implementation : latest=2.8.4, local=2.8.4
desktop : latest=0.10.0, local=0.10.0
ament_flake8 : latest=0.12.11, local=0.12.11
composition : latest=0.20.5, local=0.20.5
demo_nodes_py : latest=0.20.5, local=0.20.5
spdlog_vendor : latest=1.3.1, local=1.3.1
ament_cmake_version : latest=1.3.11, local=1.3.11
rosidl_parser : latest=3.1.6, local=3.1.6
ament_cmake : latest=1.3.11, local=1.3.11
ros2component : latest=0.18.11, local=0.18.11
examples_rclpy_minimal_subscriber : latest=0.15.3, local=0.15.3
rcl_action : latest=5.3.9, local=5.3.9
launch_testing_ros : latest=0.19.8, local=0.19.8
tlsf : latest=0.7.0, local=0.7.0
urdf : latest=2.6.1, local=2.6.1
ros_base : latest=0.10.0, local=0.10.0
logging_demo : latest=0.20.5, local=0.20.5
joy : latest=3.3.0, local=3.3.0
rcl : latest=5.3.9, local=5.3.9
ament_cmake_cpplint : latest=0.12.11, local=0.12.11
rqt_gui : latest=1.1.7, local=1.1.7
shape_msgs : latest=4.2.4, local=4.2.4
rcl_yaml_param_parser : latest=5.3.9, local=5.3.9
ros2multicast : latest=0.18.11, local=0.18.11
rosidl_cli : latest=3.1.6, local=3.1.6
tf2_ros : latest=0.25.12, local=0.25.12
actionlib_msgs : latest=4.2.4, local=4.2.4
ros2cli : latest=0.18.11, local=0.18.11
dummy_map_server : latest=0.20.5, local=0.20.5
ament_cmake_copyright : latest=0.12.11, local=0.12.11
tf2 : latest=0.25.12, local=0.25.12
ros2action : latest=0.18.11, local=0.18.11
ament_cmake_export_libraries : latest=1.3.11, local=1.3.11
rmw_fastrtps_shared_cpp : latest=6.2.7, local=6.2.7
rpyutils : latest=0.2.1, local=0.2.1
libyaml_vendor : latest=1.2.2, local=1.2.2
resource_retriever : latest=3.1.2, local=3.1.2
urdf_parser_plugin : latest=2.6.1, local=2.6.1
launch_xml : latest=1.0.7, local=1.0.7
rqt_bag_plugins : latest=1.1.5, local=1.1.5
examples_rclpy_executors : latest=0.15.3, local=0.15.3
examples_rclcpp_minimal_client : latest=0.15.3, local=0.15.3
examples_rclcpp_minimal_timer : latest=0.15.3, local=0.15.3
ament_cmake_xmllint : latest=0.12.11, local=0.12.11
pendulum_msgs : latest=0.20.5, local=0.20.5
examples_rclpy_minimal_action_server : latest=0.15.3, local=0.15.3
rqt_shell : latest=1.0.2, local=1.0.2
PLATFORM INFORMATION
system : Linux
platform info : Linux-6.8.0-52-generic-x86_64-with-glibc2.35
release : 6.8.0-52-generic
processor : x86_64
QOS COMPATIBILITY LIST
compatibility status : No publisher/subscriber pairs found
RMW MIDDLEWARE
middleware name : rmw_fastrtps_cpp
ROS 2 INFORMATION
distribution name : humble
distribution type : ros2
distribution status : active
release platforms : {'rhel': ['8'], 'ubuntu': ['jammy']}
TOPIC LIST
topic : none
publisher count : 0
subscriber count : 0
px4dev@px4dev-Precision-5510:~$ MicroXRCEAgent udp4 -p 8888 -v
[1742248192.491187] info | UDPv4AgentLinux.cpp | init | running... | port: 8888
[1742248192.491564] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 4
[1742248194.481266] info | Root.cpp | create_client | create | client_key: 0x00000001, session_id: 0x81
[1742248194.481375] info | SessionManager.hpp | establish_session | session established | client_key: 0x00000001, address: 127.0.0.1:56265
2025-03-17 14:49:54.501 [SECURITY Error] Error '79' verifying CA certificate for /C=US/ST=WA/L=Seattle/O=Freefly/CN=FreeflyCA/emailAddress=CA@freeflysystems.com: invalid CA certificate (/home/px4dev/Software/XRCEAgentClient/Micro-XRCE-DDS-Agent/build/fastdds/src/fastdds/src/cpp/security/artifact_providers/FileProvider.cpp:130) -> Function validate_local_identity
2025-03-17 14:49:54.502 [SECURITY Error] Error while configuring security plugin. -> Function init
2025-03-17 14:49:54.502 [SECURITY Error] Error '79' verifying CA certificate for /C=US/ST=WA/L=Seattle/O=Freefly/CN=FreeflyCA/emailAddress=CA@freeflysystems.com: invalid CA certificate (/home/px4dev/Software/XRCEAgentClient/Micro-XRCE-DDS-Agent/build/fastdds/src/fastdds/src/cpp/security/artifact_providers/FileProvider.cpp:130) -> Function init
2025-03-17 14:49:54.502 [RTPS_PARTICIPANT Error] Cannot create participant due to initialization error -> Function createParticipant
2025-03-17 14:49:54.502 [DOMAIN_PARTICIPANT Error] Problem creating RTPSParticipant -> Function enable
[1742248194.503058] info | Root.cpp | delete_client | delete | client_key: 0x00000001
[1742248194.503151] info | SessionManager.hpp | destroy_session | session closed | client_key: 0x00000001, address: 127.0.0.1:56265
[1742248195.517719] info | Root.cpp | create_client | create | client_key: 0x00000001, session_id: 0x81
[1742248195.517802] info | SessionManager.hpp | establish_session | session established | client_key: 0x00000001, address: 127.0.0.1:16806
2025-03-17 14:49:55.520 [SECURITY Error] Error '79' verifying CA certificate for /C=US/ST=WA/L=Seattle/O=Freefly/CN=FreeflyCA/emailAddress=CA@freeflysystems.com: invalid CA certificate (/home/px4dev/Software/XRCEAgentClient/Micro-XRCE-DDS-Agent/build/fastdds/src/fastdds/src/cpp/security/artifact_providers/FileProvider.cpp:130) -> Function validate_local_identity
2025-03-17 14:49:55.520 [SECURITY Error] Error while configuring security plugin. -> Function init
2025-03-17 14:49:55.520 [SECURITY Error] Error '79' verifying CA certificate for /C=US/ST=WA/L=Seattle/O=Freefly/CN=FreeflyCA/emailAddress=CA@freeflysystems.com: invalid CA certificate (/home/px4dev/Software/XRCEAgentClient/Micro-XRCE-DDS-Agent/build/fastdds/src/fastdds/src/cpp/security/artifact_providers/FileProvider.cpp:130) -> Function init
2025-03-17 14:49:55.520 [RTPS_PARTICIPANT Error] Cannot create participant due to initialization error -> Function createParticipant[1742248195.520941] info
2025-03-17 14:49:55.520 | Root.cpp | delete_client | delete | client_key: 0x00000001
[1742248195.521074] info | SessionManager.hpp | destroy_session | session closed | client_key: 0x00000001, address: 127.0.0.1:16806
[DOMAIN_PARTICIPANT Error] Problem creating RTPSParticipant -> Function enable
[1742248196.537492] info | Root.cpp | create_client | create | client_key: 0x00000001, session_id: 0x81
[1742248196.537548] info | SessionManager.hpp | establish_session | session established | client_key: 0x00000001, address: 127.0.0.1:1723
2025-03-17 14:49:56.539 [SECURITY Error] Error '79' verifying CA certificate for /C=US/ST=WA/L=Seattle/O=Freefly/CN=FreeflyCA/emailAddress=CA@freeflysystems.com: invalid CA certificate (/home/px4dev/Software/XRCEAgentClient/Micro-XRCE-DDS-Agent/build/fastdds/src/fastdds/src/cpp/security/artifact_providers/FileProvider.cpp:130) -> Function validate_local_identity
2025-03-17 14:49:56.540 [SECURITY Error] Error while configuring security plugin. -> Function init
2025-03-17 14:49:56.540 [SECURITY Error] Error '79' verifying CA certificate for /C=US/ST=WA/L=Seattle/O=Freefly/CN=FreeflyCA/emailAddress=CA@freeflysystems.com: invalid CA certificate (/home/px4dev/Software/XRCEAgentClient/Micro-XRCE-DDS-Agent/build/fastdds/src/fastdds/src/cpp/security/artifact_providers/FileProvider.cpp:130) -> Function init
2025-03-17 14:49:56.540 [RTPS_PARTICIPANT Error] Cannot create participant due to initialization error -> Function createParticipant
2025-03-17 14:49:56.540 [DOMAIN_PARTICIPANT[1742248196.541009] info | Root.cpp | delete_client | delete | client_key: 0x00000001
[1742248196.541077] info | SessionManager.hpp | destroy_session | session closed | client_key: 0x00000001, address: 127.0.0.1:1723
Error] Problem creating RTPSParticipant -> Function enable
^C
px4dev@px4dev-Precision-5510:~$ Am I missing some instructions that I need to follow here? This is my new xml setup file given below, it has the new xrce certs as the identity generated using domain participant instructions <?xml version="1.0" encoding="UTF-8" ?>
<profiles xmlns="http://www.eprosima.com" >
<transport_descriptors>
<transport_descriptor>
<transport_id>custom_udp_transport</transport_id>
<type>UDPv4</type>
<interfaceWhiteList>
<address>127.0.0.1</address>
</interfaceWhiteList>
</transport_descriptor>
</transport_descriptors>
<!-- Default publisher profile (Data Sharing / Zero-Copy when possible) -->
<data_writer profile_name="aos_default_publisher_profile" is_default_profile="true">
<qos>
<publishMode>
<kind>SYNCHRONOUS</kind>
</publishMode>
</qos>
<historyMemoryPolicy>PREALLOCATED_WITH_REALLOC</historyMemoryPolicy>
</data_writer>
<!-- Default subscriber profile (Data Sharing / Zero-Copy when possible) -->
<data_reader profile_name="aos_default_subscriber_profile" is_default_profile="true">
<historyMemoryPolicy>PREALLOCATED_WITH_REALLOC</historyMemoryPolicy>
</data_reader>
<participant profile_name="px4_participant" is_default_profile="true">
<domainId>0</domainId>
<rtps>
<userTransports>
<transport_id>custom_udp_transport</transport_id>
</userTransports>
<propertiesPolicy>
<!-- Set authentication for DDS Domain communication -->
<properties>
<!-- Activate DDS:Auth:PKI-DH plugin -->
<property>
<name>dds.sec.auth.plugin</name>
<value>builtin.PKI-DH</value>
</property>
<!-- Configure DDS:Auth:PKI-DH plugin -->
<property>
<name>dds.sec.auth.builtin.PKI-DH.identity_ca</name>
<value>file:///home/px4dev/Software/Fast-DDS/examples/cpp/security/certs/maincacert.pem</value>
</property>
<property>
<name>dds.sec.auth.builtin.PKI-DH.identity_certificate</name>
<value>file:///home/px4dev/Software/Fast-DDS/examples/cpp/security/certs/xrcecert.pem</value>
</property>
<property>
<name>dds.sec.auth.builtin.PKI-DH.private_key</name>
<value>file:///home/px4dev/Software/Fast-DDS/examples/cpp/security/certs/xrcekey.pem</value>
</property>
<!-- Activate DDS:Access:Permissions plugin -->
<property>
<name>dds.sec.access.plugin</name>
<value>builtin.Access-Permissions</value>
</property>
<!-- Configure DDS:Access:Permissions plugin -->
<property>
<name>dds.sec.access.builtin.Access-Permissions.permissions_ca</name>
<value>file:///home/px4dev/Software/Fast-DDS/examples/cpp/security/certs/maincacert.pem</value>
</property>
<property>
<name>dds.sec.access.builtin.Access-Permissions.governance</name>
<value>file:///home/px4dev/Software/Fast-DDS/examples/cpp/security/certs/governance.smime</value>
</property>
<property>
<name>dds.sec.access.builtin.Access-Permissions.permissions</name>
<value>file:///home/px4dev/Software/Fast-DDS/examples/cpp/security/certs/permissions.smime</value>
</property>
<!-- Activate Crypto:AES-GCM-GMAC plugin -->
<property>
<name>dds.sec.crypto.plugin</name>
<value>builtin.AES-GCM-GMAC</value>
</property>
</properties>
</propertiesPolicy>
</rtps>
</participant>
<!-- <data_writer profile_name="hello_world_datawriter_profile" is_default_profile="true">
<qos>
<durability>
<kind>TRANSIENT_LOCAL</kind>
</durability>
<reliability>
<kind>RELIABLE</kind>
</reliability>
</qos>
<topic>
<historyQos>
<kind>KEEP_LAST</kind>
<depth>100</depth>
</historyQos>
<resourceLimitsQos>
<max_samples>100</max_samples>
<max_instances>1</max_instances>
<max_samples_per_instance>100</max_samples_per_instance>
</resourceLimitsQos>
</topic>
</data_writer> -->
</profiles> |
I was able to generate my own certificates this time from the tutorial from cyclonedds, but I am back to the same issue again as mention here #5707 (comment) . Either I am doing some setup wrong or something else is wrong in FASTDDS, please guide me |
Which version of the MicroXRCEAgent are you using? ROS 2 Humble Fast DDS version is v2.6.9 |
I think I cloned the latest commit on the main branch of the micro xrce DDS agent repository which would make the release version closer v3.0.1 |
As far as I understand micro xrce agent is using a different fast DDS version than the one installed with humble? Will that cause any issues? I saw the cmakelists file of the agent repo its explicitly cloned fastdds 3.x and builds it, while according to you humble has 2.6.9
|
@darshit-desai Correct. The Fast DDS versions are different. You can try adding the following property to your XML:
|
Ok thank you I will try this out promptly, will respond back soon |
Alright I think this worked, here's an example with term#1 running the XRCE agent with auth keyset and XML#1, the term#2 (one on the right) has auth keyset and XML#2 with subscribe allow_rule to certain topics is able to successfully read out messages. Term#3 (the one on the left) is using no xmls or keysets as you can see is still able to discover topics but not able to echo out messages which means its blocking it (I guess, if there is any other way to verify this please do tell). I would also like to know if there is a way of finding out DDS versions for my ROS2 and XRCEagent application installed in a linux distro if there is a bash command or a system file which I can cat and find out the versions this confusion might be avoided |
Also another weird thing I observed was that lets say I only allowed one topic to be subscribed i.e., |
Small update on this, been reading up stuff on why this is happening my XRCE Agent is v3.0.0 while my XRCE client is running on v2.2.0 and the humble runs fastdds on v2.6.9 (as you said) so I think this might be causing seg faults after the security errors are encountered I am going to pull back my XRCE Agent version to 2.4.2 , I checked the CMake of that release it clones v2.12 for fastdds which should be close enough to the ROS system's version 2.6.9 to avoid breaking and seg faulting stuff |
Since v2.4.2 was not getting installed as shown here #5707 (comment) I tried this with v2.4.3 and got the same core dumped error, is this a recurring issue, I also saw that v2.4.3 uses v2.14.X fastdds while 2.4.2 uses 2.12.X fastdds, was there a major change there, fyi I get the same error with v2.4.3 (which is compatible with v2.2.0 XRCEClient) #5707 (comment) , My humble fastdds version is the same i.e. v2.6.9 |
I was able to build 2.4.2 XRCE Agent after changing the CMake on that branch to explicitly clone v2.12.2 Fastdds version as shown below But now when I run the XRCE agent I get this errors periodically in the bash terminal On the other terminal with another set of profile exported where I try to do The segmentation fault issue which I was guessing was a versioning issue between XRCE Client (2.2.0), XRCE Agent (2.4.2 + fastdds 2.12.2) and ROS2 Humble Fastdds (2.6.9) version is still there, now all 3 of them are almost on the same version or compatible as far as I read, Here's the screenshot, again I had to use the |
Is there an already existing issue for this?
Expected behavior
The expected behavior as far as my understanding goes is that it should discover and show topics
Current behavior
Hi I have been trying to use the FASTRTPS_DEFAULT_PROFILES_FILE env variable and FASRDDS_DEFAULT_PROFILES_FILE env variable to setup ros2 security and ACLs for my ros2 topics.
Here's the scenario, IN Term#1 I source the relevant files as shown in the screenshot and than I run the MicroXRCEAgent for PX4, it starts up flawlessly and when I open up another terminal to source the same xml file through which the I started the agent it shows me this error
I have checked to make sure my permissions and governance files are signed and converted to smime's. I am using this example from the FASTDDS repo.
https://github.com/eProsima/Fast-DDS/tree/master/examples/cpp/security/certs
https://github.com/eProsima/Fast-DDS/blob/master/examples/cpp/security/secure_publisher_profile.xml
I will be corssposting this on FASTDDS and ROS2 both because I can't seem to figure out what's the issue,
I am using ROS2 Humble , the MicroXRCEAgent and the term#2 are all on the same computer and network
Steps to reproduce
Install ROS2 humble
Clone the fast dds repo
Replace the contents of all the xml files in the security example as attached
Export and source the xml files before the next step, make sure smime's are signed
If possible compile MicroXRCEAgent with Security ON run the agent with the PX4 main line sitl code
In another terminal do the same and than do ros2 doctor --report
Fast DDS version/commit
Not sure, whichever is packaged with ROS2 Humble
Platform/Architecture
Other. Please specify in Additional context section.
Transport layer
UDPv4
Additional context
Ubuntu 22.04
XML configuration file
Relevant log output
Network traffic capture
No response
The text was updated successfully, but these errors were encountered: