-
Notifications
You must be signed in to change notification settings - Fork 144
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add MQTT interoperability test. (#223)
- Loading branch information
1 parent
050f07b
commit fceacf6
Showing
44 changed files
with
4,206 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#! /bin/bash | ||
|
||
$(dirname `realpath $0`)/../test/cmake/mqtt_interoperability/run.sh build all |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#! /bin/bash | ||
|
||
sudo dpkg --add-architecture i386 | ||
|
||
sudo apt update | ||
sudo apt install -y \ | ||
gcc-multilib \ | ||
g++ \ | ||
python3-pip \ | ||
ninja-build \ | ||
unifdef \ | ||
dos2unix \ | ||
gcovr \ | ||
libpcap-dev:i386 libgcc-s1:i386 \ | ||
ethtool \ | ||
mosquitto \ | ||
mosquitto-clients |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#! /bin/bash | ||
|
||
sudo CTEST_PARALLEL_LEVEL=1 $(dirname `realpath $0`)/../test/cmake/mqtt_interoperability/run.sh test all |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../mqtt/CMakeLists.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../mqtt/coverage.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../libs |
120 changes: 120 additions & 0 deletions
120
test/cmake/mqtt_interoperability/regression/CMakeLists.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR) | ||
cmake_policy(SET CMP0057 NEW) | ||
|
||
project(regression_test LANGUAGES C) | ||
|
||
get_filename_component( | ||
SOURCE_DIR | ||
${CMAKE_CURRENT_LIST_DIR}/../../../regression/interoperability_test/mqtt_test | ||
ABSOLUTE) | ||
|
||
if(NOT "-DNXD_MQTT_REQUIRE_TLS" IN_LIST ${CMAKE_BUILD_TYPE}) | ||
list(APPEND mqtt_test_cases mqtt_subscriber_test) | ||
set(mqtt_subscriber_test_file_list | ||
${SOURCE_DIR}/linux_mqtt_subscriber_test_entry.c | ||
${SOURCE_DIR}/linux_mqtt_subscriber_test_server.c | ||
${SOURCE_DIR}/linux_mqtt_subscriber_test_publisher.c | ||
${SOURCE_DIR}/netx_mqtt_subscriber_test.c) | ||
list(APPEND mqtt_test_cases mqtt_subscriber_empty_message_test) | ||
set(mqtt_subscriber_empty_message_test_file_list | ||
${SOURCE_DIR}/linux_mqtt_subscriber_test_entry.c | ||
${SOURCE_DIR}/linux_mqtt_subscriber_test_server.c | ||
${SOURCE_DIR}/linux_mqtt_subscriber_empty_message_test_publisher.c | ||
${SOURCE_DIR}/netx_mqtt_subscriber_empty_message_test.c) | ||
endif() | ||
|
||
if("-DNX_SECURE_ENABLE" IN_LIST ${CMAKE_BUILD_TYPE}) | ||
list(APPEND mqtt_test_cases mqtt_tls_subscriber_twice_test) | ||
set(mqtt_tls_subscriber_twice_test_file_list | ||
${SOURCE_DIR}/linux_mqtt_tls_subscriber_test_entry.c | ||
${SOURCE_DIR}/linux_mqtt_tls_subscriber_test_server.c | ||
${SOURCE_DIR}/linux_mqtt_tls_subscriber_twice_test_publisher.c | ||
${SOURCE_DIR}/netx_mqtt_tls_subscriber_twice_test.c) | ||
|
||
list(APPEND mqtt_test_cases mqtt_double_subscribers_test) | ||
set(mqtt_double_subscribers_test_file_list | ||
${SOURCE_DIR}/linux_mqtt_tls_subscriber_test_entry.c | ||
${SOURCE_DIR}/linux_mqtt_tls_subscriber_test_server.c | ||
${SOURCE_DIR}/linux_mqtt_tls_subscriber_test_publisher.c | ||
${SOURCE_DIR}/netx_mqtt_double_subscribers_test.c) | ||
|
||
list(APPEND mqtt_test_cases mqtt_tls_subscriber_test) | ||
set(mqtt_tls_subscriber_test_file_list | ||
${SOURCE_DIR}/linux_mqtt_tls_subscriber_test_entry.c | ||
${SOURCE_DIR}/linux_mqtt_tls_subscriber_test_server.c | ||
${SOURCE_DIR}/linux_mqtt_tls_subscriber_test_publisher.c | ||
${SOURCE_DIR}/netx_mqtt_tls_subscriber_test.c) | ||
|
||
list(APPEND debug_secure_build_mqtt_test_cases mqtt_tls_debug_test) | ||
set(mqtt_tls_debug_test_file_list | ||
${SOURCE_DIR}/netx_mqtt_tls_subscriber_test.c) | ||
endif() | ||
|
||
set(test_utility_files | ||
${SOURCE_DIR}/netxtestcontrol.c | ||
${SOURCE_DIR}/nx_crypto_ciphersuites_regression.c | ||
${SOURCE_DIR}/nx_ram_network_driver_test_1500.c | ||
${SOURCE_DIR}/nx_secure_fips_test_utility.c) | ||
|
||
get_filename_component( | ||
UTILITY_SOURCE_DIR | ||
${CMAKE_CURRENT_LIST_DIR}/../../../regression/interoperability_test/test_frame | ||
ABSOLUTE) | ||
add_library( | ||
test_utility | ||
${UTILITY_SOURCE_DIR}/tls_test_get_external_test_process_output.c | ||
${UTILITY_SOURCE_DIR}/tls_test_launch_external_test_process.c | ||
${UTILITY_SOURCE_DIR}/tls_test_launch_external_test_process_in_background.c | ||
${UTILITY_SOURCE_DIR}/tls_test_director_clean_all.c | ||
${UTILITY_SOURCE_DIR}/tls_test_director_cleanup_registered_instances.c | ||
${UTILITY_SOURCE_DIR}/tls_test_director_create.c | ||
${UTILITY_SOURCE_DIR}/tls_test_director_destroy.c | ||
${UTILITY_SOURCE_DIR}/tls_test_director_register_test_instance.c | ||
${UTILITY_SOURCE_DIR}/tls_test_director_test_start.c | ||
${UTILITY_SOURCE_DIR}/tls_test_instance_attributes_access.c | ||
${UTILITY_SOURCE_DIR}/tls_test_instance_append.c | ||
${UTILITY_SOURCE_DIR}/tls_test_instance_create.c | ||
${UTILITY_SOURCE_DIR}/tls_test_instance_destroy.c | ||
${UTILITY_SOURCE_DIR}/tls_test_instance_find_next.c | ||
${UTILITY_SOURCE_DIR}/tls_test_instance_set_exit_status.c | ||
${UTILITY_SOURCE_DIR}/tls_test_instance_shared_buffer_manipulate.c | ||
${UTILITY_SOURCE_DIR}/tls_test_kill_external_test_process.c | ||
${UTILITY_SOURCE_DIR}/tls_test_semaphore_create.c | ||
${UTILITY_SOURCE_DIR}/tls_test_semaphore_destroy.c | ||
${UTILITY_SOURCE_DIR}/tls_test_semaphore_post.c | ||
${UTILITY_SOURCE_DIR}/tls_test_semaphore_wait.c | ||
${UTILITY_SOURCE_DIR}/tls_test_wait_all_child_process.c | ||
${UTILITY_SOURCE_DIR}/tls_test_wait_external_test_process.c | ||
${UTILITY_SOURCE_DIR}/tls_test_uninterruptable_wait.c) | ||
target_link_libraries(test_utility PUBLIC azrtos::netxduo) | ||
target_include_directories(test_utility PUBLIC ${UTILITY_SOURCE_DIR}) | ||
|
||
include(network_config.cmake) | ||
|
||
set(PCAP_SOURCE | ||
${CMAKE_CURRENT_LIST_DIR}/../../../regression/interoperability_test/nx_pcap_network_driver.c | ||
) | ||
foreach(test_case ${mqtt_test_cases}) | ||
add_executable(${test_case} ${${test_case}_file_list} ${PCAP_SOURCE}) | ||
network_config(${test_case}) | ||
target_link_libraries(${test_case} PRIVATE test_utility pcap) | ||
add_test( | ||
NAME ${CMAKE_BUILD_TYPE}::${test_case} | ||
COMMAND | ||
bash -c | ||
"export PATH=${SOURCE_DIR}/test_scripts/:$PATH; | ||
ip link del ${${test_case}_interface}>/dev/null 2>&1; | ||
ip link add ${${test_case}_interface} type veth peer name ${${test_case}_remote_interface} || exit 1; | ||
ifconfig ${${test_case}_interface} up || { ip link del ${${test_case}_interface}; exit 1; }; | ||
ifconfig ${${test_case}_remote_interface} ${${test_case}_remote_ip} up netmask ${TEST_NETMASK} || { ip link del ${${test_case}_interface};exit 1; }; | ||
ethtool --offload ${${test_case}_remote_interface} tx off || { ip link del ${${test_case}_interface}; exit 1; }; | ||
tcpdump -i ${${test_case}_remote_interface} -s 0 -w ${CMAKE_CURRENT_BINARY_DIR}/${test_case}.pcap& | ||
pid=$! | ||
${CMAKE_CURRENT_BINARY_DIR}/${test_case}; | ||
exit_code=$? | ||
sleep 1; | ||
kill -TERM $pid | ||
ip link del ${${test_case}_interface} || exit 1; | ||
[[ $exit_code = 0 ]] || [[ $exit_code = 233 ]] || { echo Exit code: $exit_code; exit $exit_code; };" | ||
WORKING_DIRECTORY ${SOURCE_DIR}) | ||
endforeach() |
55 changes: 55 additions & 0 deletions
55
test/cmake/mqtt_interoperability/regression/network_config.cmake
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
if(NOT ALLOCATION_PARAMETER) | ||
execute_process(COMMAND bash "-c" "git rev-parse --verify HEAD|cut -c1-1" | ||
OUTPUT_VARIABLE ALLOCATION_PARAMETER) | ||
math(EXPR ALLOCATION_PARAMETER "0x${ALLOCATION_PARAMETER}") | ||
endif() | ||
|
||
if(NOT TEST_SUBNET_SIZE) | ||
set(TEST_SUBNET_SIZE 4) | ||
endif() | ||
|
||
# NX_MAX_PORT is 0xffff. | ||
math(EXPR PORT_NUMBER "65535 - (${ALLOCATION_PARAMETER} + 1) * 256") | ||
set(INTERFACE_NUMBER ${PORT_NUMBER}) | ||
math(EXPR TMP "256 - ${TEST_SUBNET_SIZE}") | ||
set(TEST_NETMASK 255.255.255.${TMP}) | ||
|
||
set(IP_BYTE_0 10) | ||
set(IP_BYTE_1 10) | ||
set(IP_BYTE_2 ${ALLOCATION_PARAMETER}) | ||
set(IP_BYTE_3 1) | ||
set(IP_BYTE_4 2) | ||
|
||
macro(network_config target) | ||
target_compile_definitions( | ||
${target} | ||
PRIVATE | ||
-DINTEROPERABILITY_TEST_ENABLE_PARALLEL_PROCESSING | ||
-DTLS_TEST_IP_BYTE_0=${IP_BYTE_0} | ||
-DTLS_TEST_IP_BYTE_1=${IP_BYTE_1} | ||
-DTLS_TEST_IP_BYTE_2=${IP_BYTE_2} | ||
-DTLS_TEST_IP_BYTE_3=${IP_BYTE_3} | ||
-DREMOTE_IP_BYTE_0=${IP_BYTE_0} | ||
-DREMOTE_IP_BYTE_1=${IP_BYTE_1} | ||
-DREMOTE_IP_BYTE_2=${IP_BYTE_2} | ||
-DREMOTE_IP_BYTE_3=${IP_BYTE_4} | ||
-DDEVICE_SERVER_PORT=${PORT_NUMBER} | ||
-DNX_PCAP_SOURCE_NAME=\"veth${INTERFACE_NUMBER}\") | ||
set(${target}_interface veth${INTERFACE_NUMBER}) | ||
set(${target}_ip ${IP_BYTE_0}.${IP_BYTE_1}.${IP_BYTE_2}.${IP_BYTE_3}) | ||
math(EXPR INTERFACE_NUMBER "${INTERFACE_NUMBER} + 1") | ||
set(${target}_remote_interface veth${INTERFACE_NUMBER}) | ||
set(${target}_remote_ip ${IP_BYTE_0}.${IP_BYTE_1}.${IP_BYTE_2}.${IP_BYTE_4}) | ||
set(${target}_port ${PORT_NUMBER}) | ||
|
||
# Increase numbers for next setup | ||
math(EXPR INTERFACE_NUMBER "${INTERFACE_NUMBER} + 1") | ||
math(EXPR IP_BYTE_3 "${IP_BYTE_3} + ${TEST_SUBNET_SIZE}") | ||
if(${IP_BYTE_3} GREATER 253) | ||
math(EXPR IP_BYTE_2 "${IP_BYTE_2} + 1") | ||
set(IP_BYTE_3 1) | ||
endif() | ||
math(EXPR IP_BYTE_4 "${IP_BYTE_3} + 1") | ||
math(EXPR PORT_NUMBER "${PORT_NUMBER} + 1") | ||
|
||
endmacro() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/bin/bash | ||
|
||
cd $(dirname $0) | ||
|
||
# if threadx repo does not exist, clone it | ||
[ -d ../threadx ] || git clone https://github.com/azure-rtos/threadx.git ../threadx --depth 1 | ||
[ -d ../filex ] || git clone https://github.com/azure-rtos/filex.git ../filex --depth 1 | ||
[ -f .run.sh ] || ln -sf ../threadx/scripts/cmake_bootstrap.sh .run.sh | ||
CTEST_PARALLEL_LEVEL=1 ENABLE_IDLE=ON ./.run.sh $* |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,132 @@ | ||
unsigned char ca_der[] = { | ||
0x30, 0x82, 0x05, 0xfe, 0x30, 0x82, 0x03, 0xe6, 0xa0, 0x03, 0x02, 0x01, | ||
0x02, 0x02, 0x01, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, | ||
0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, 0x8f, 0x31, 0x0b, | ||
0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, | ||
0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0a, 0x43, 0x61, | ||
0x6c, 0x69, 0x66, 0x6f, 0x72, 0x6e, 0x69, 0x61, 0x31, 0x16, 0x30, 0x14, | ||
0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x0d, 0x53, 0x61, 0x6e, 0x20, 0x46, | ||
0x72, 0x61, 0x6e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x31, 0x13, 0x30, 0x11, | ||
0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0a, 0x42, 0x6f, 0x67, 0x75, 0x73, | ||
0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, | ||
0x04, 0x0b, 0x0c, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, | ||
0x6e, 0x73, 0x31, 0x29, 0x30, 0x27, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, | ||
0x20, 0x42, 0x6f, 0x67, 0x75, 0x73, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, | ||
0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, | ||
0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, | ||
0x0d, 0x31, 0x37, 0x30, 0x33, 0x30, 0x38, 0x30, 0x34, 0x34, 0x30, 0x35, | ||
0x39, 0x5a, 0x17, 0x0d, 0x32, 0x37, 0x30, 0x33, 0x30, 0x38, 0x30, 0x34, | ||
0x34, 0x30, 0x35, 0x39, 0x5a, 0x30, 0x81, 0x8f, 0x31, 0x0b, 0x30, 0x09, | ||
0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, | ||
0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0a, 0x43, 0x61, 0x6c, 0x69, | ||
0x66, 0x6f, 0x72, 0x6e, 0x69, 0x61, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, | ||
0x55, 0x04, 0x07, 0x0c, 0x0d, 0x53, 0x61, 0x6e, 0x20, 0x46, 0x72, 0x61, | ||
0x6e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, | ||
0x55, 0x04, 0x0a, 0x0c, 0x0a, 0x42, 0x6f, 0x67, 0x75, 0x73, 0x20, 0x49, | ||
0x6e, 0x63, 0x2e, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0b, | ||
0x0c, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, | ||
0x31, 0x29, 0x30, 0x27, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x20, 0x42, | ||
0x6f, 0x67, 0x75, 0x73, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x43, 0x65, | ||
0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, | ||
0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x82, 0x02, 0x22, 0x30, | ||
0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, | ||
0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, | ||
0x82, 0x02, 0x01, 0x00, 0xb6, 0x60, 0x88, 0x5b, 0xc9, 0x12, 0x1d, 0x2b, | ||
0x6b, 0x51, 0x62, 0x62, 0xe5, 0x94, 0x12, 0x43, 0xfa, 0x27, 0x25, 0xa4, | ||
0x3d, 0x91, 0x18, 0x45, 0x34, 0x43, 0xfa, 0x59, 0x65, 0x7b, 0xc3, 0xf5, | ||
0x74, 0x9c, 0xa6, 0xf5, 0x80, 0x91, 0xf0, 0x1d, 0x3b, 0x7d, 0xfb, 0x6b, | ||
0x4c, 0x44, 0xdb, 0x06, 0x8a, 0x4a, 0x7e, 0x3f, 0x1b, 0xae, 0x77, 0x61, | ||
0x5b, 0x66, 0x61, 0x35, 0x49, 0x77, 0xd9, 0x4f, 0x1b, 0xb9, 0xd1, 0x5d, | ||
0x23, 0x48, 0x8f, 0x1f, 0xf1, 0xf5, 0x63, 0x8c, 0xd1, 0xe7, 0xa5, 0xa8, | ||
0x9b, 0x9c, 0x62, 0xce, 0x92, 0x09, 0xd4, 0xc4, 0xdf, 0x4f, 0x72, 0x5a, | ||
0x43, 0xb9, 0xbc, 0xf5, 0xec, 0xe2, 0x85, 0xfa, 0x61, 0x72, 0xc1, 0x02, | ||
0xc5, 0x7a, 0x95, 0x6e, 0x03, 0xc5, 0x29, 0xc7, 0x96, 0x39, 0xf8, 0x4e, | ||
0xc4, 0x7c, 0xc7, 0x35, 0x3d, 0x9d, 0xb7, 0x53, 0x68, 0xef, 0xfa, 0x6c, | ||
0x18, 0xa4, 0x3f, 0x17, 0x92, 0xdc, 0x1a, 0x61, 0x01, 0x75, 0x3c, 0xa9, | ||
0x7e, 0x6c, 0xad, 0xbe, 0x8a, 0x62, 0x8e, 0xe8, 0xa2, 0xa9, 0xc5, 0x0a, | ||
0xf1, 0x0e, 0xf3, 0xff, 0xd3, 0x29, 0xc8, 0x74, 0xcd, 0x7c, 0xed, 0xe6, | ||
0xbe, 0x9f, 0xc9, 0x85, 0x3b, 0xe4, 0x63, 0x28, 0xd2, 0xe9, 0x38, 0xf6, | ||
0xdf, 0x2c, 0x19, 0x01, 0xb7, 0xa1, 0x5d, 0x85, 0x15, 0x44, 0x62, 0x0e, | ||
0x00, 0xc1, 0x37, 0x6d, 0xbc, 0xdc, 0xca, 0x47, 0xb4, 0x52, 0x17, 0x1b, | ||
0xa3, 0xcc, 0x19, 0xae, 0xd9, 0x73, 0xc7, 0x5b, 0x76, 0xe1, 0xde, 0x10, | ||
0x4e, 0xf9, 0x02, 0xe1, 0x68, 0x3a, 0x10, 0x51, 0x5b, 0x0e, 0x7c, 0x44, | ||
0x1b, 0x64, 0x25, 0xa9, 0xa1, 0x9f, 0x48, 0x2a, 0x35, 0x15, 0x0b, 0x36, | ||
0x83, 0xf7, 0xdf, 0x62, 0x95, 0x74, 0x31, 0xdd, 0x1b, 0xfd, 0xeb, 0x82, | ||
0x84, 0xcb, 0x5d, 0xf8, 0x71, 0xc3, 0x78, 0x30, 0xe9, 0xb8, 0x2f, 0xe7, | ||
0x59, 0xd2, 0xeb, 0x98, 0x03, 0xd0, 0x17, 0x03, 0x88, 0xc4, 0x6b, 0x6c, | ||
0x14, 0x5c, 0x95, 0x18, 0xc0, 0xbf, 0x42, 0x95, 0xfe, 0x23, 0xb3, 0x0b, | ||
0x6c, 0x46, 0x59, 0xc8, 0x11, 0x27, 0xc6, 0x5a, 0x09, 0x45, 0x09, 0x3f, | ||
0x23, 0xf0, 0xd9, 0x5d, 0x49, 0x40, 0x95, 0xda, 0x9f, 0x89, 0xca, 0x84, | ||
0x7a, 0xf2, 0x49, 0x0d, 0x43, 0xa2, 0x8b, 0x68, 0x16, 0x2d, 0xdc, 0xff, | ||
0xd5, 0x82, 0xfc, 0x3f, 0x6f, 0xb7, 0x98, 0x34, 0xdb, 0xbe, 0x0b, 0xea, | ||
0x2a, 0x64, 0xfa, 0x99, 0x0c, 0x39, 0x05, 0xe6, 0x8b, 0x9b, 0xd1, 0x6e, | ||
0x1c, 0x9a, 0x19, 0x0f, 0xde, 0xba, 0xae, 0x33, 0xbe, 0x88, 0x8e, 0x1a, | ||
0x51, 0x9f, 0x26, 0xbb, 0x87, 0xad, 0x76, 0x54, 0x7a, 0xae, 0xd3, 0x62, | ||
0xa4, 0x9d, 0x94, 0x10, 0xc4, 0x0b, 0x64, 0x19, 0xfd, 0xb9, 0x2b, 0xd6, | ||
0x19, 0x87, 0x62, 0xac, 0x43, 0x9b, 0xb0, 0x56, 0x27, 0x90, 0xa0, 0xb5, | ||
0xef, 0xc3, 0x05, 0x20, 0x1e, 0xa4, 0xe5, 0x46, 0xf5, 0x28, 0x5c, 0x02, | ||
0xaf, 0xcb, 0x31, 0x2f, 0xba, 0xa5, 0x4b, 0x4b, 0x1d, 0xc9, 0x25, 0xfe, | ||
0xd4, 0x15, 0x8a, 0xa0, 0xde, 0xe3, 0x0b, 0x97, 0x57, 0x2c, 0xc2, 0xf1, | ||
0x9c, 0xad, 0x49, 0xb5, 0xa3, 0x19, 0xb9, 0xcb, 0x84, 0xdf, 0xd9, 0x24, | ||
0xe4, 0x03, 0x1d, 0xa7, 0xca, 0x58, 0xaf, 0x35, 0x28, 0x92, 0x3c, 0x1d, | ||
0x44, 0x10, 0x91, 0xfc, 0x41, 0x1e, 0x67, 0x43, 0x37, 0xa6, 0x8b, 0xd2, | ||
0x47, 0x27, 0x57, 0xa9, 0x51, 0x32, 0x59, 0xce, 0xb3, 0xf4, 0x5b, 0x87, | ||
0xa1, 0xdb, 0x1b, 0x11, 0x78, 0xf4, 0x75, 0xf9, 0x3f, 0xa2, 0x26, 0x7f, | ||
0x46, 0x45, 0x9c, 0x68, 0xf2, 0xa4, 0xdf, 0xc1, 0x94, 0x71, 0x23, 0xa1, | ||
0x15, 0x9a, 0xad, 0x6e, 0xe4, 0x3a, 0x24, 0xe4, 0x1b, 0xee, 0x50, 0x87, | ||
0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x63, 0x30, 0x61, 0x30, 0x0e, 0x06, | ||
0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, | ||
0x06, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, | ||
0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, | ||
0x0e, 0x04, 0x16, 0x04, 0x14, 0xf6, 0x6a, 0x39, 0x1f, 0xaa, 0x47, 0xa3, | ||
0x54, 0x5e, 0x0f, 0x06, 0xa1, 0xe4, 0xec, 0x85, 0x40, 0xb0, 0x6c, 0x45, | ||
0x46, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, | ||
0x80, 0x14, 0xf6, 0x6a, 0x39, 0x1f, 0xaa, 0x47, 0xa3, 0x54, 0x5e, 0x0f, | ||
0x06, 0xa1, 0xe4, 0xec, 0x85, 0x40, 0xb0, 0x6c, 0x45, 0x46, 0x30, 0x0d, | ||
0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, | ||
0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0xa2, 0x1a, 0x64, 0x34, 0x1b, 0x37, | ||
0xb3, 0x42, 0x3a, 0x0a, 0x05, 0xd0, 0x59, 0x2d, 0x17, 0xad, 0xc7, 0xfc, | ||
0x0c, 0x32, 0xc2, 0x1f, 0x00, 0xa6, 0xf8, 0x88, 0xc0, 0xe5, 0x49, 0x5d, | ||
0x3e, 0x0b, 0xbf, 0xec, 0x32, 0xeb, 0x9c, 0xf9, 0x18, 0x39, 0x3a, 0x98, | ||
0x00, 0xb8, 0x76, 0x43, 0xa6, 0x60, 0x3b, 0xb8, 0x35, 0xf4, 0x2a, 0x30, | ||
0xf7, 0x6c, 0x74, 0x79, 0x18, 0x27, 0x73, 0x5b, 0xa0, 0xf6, 0xb7, 0x30, | ||
0x15, 0xa5, 0x11, 0x0f, 0xa1, 0xcd, 0xad, 0xeb, 0x18, 0xd6, 0x8c, 0x1a, | ||
0xb1, 0x24, 0x66, 0x03, 0x54, 0xfb, 0x9a, 0x21, 0xf4, 0xe1, 0x94, 0x5f, | ||
0xe4, 0x6f, 0x48, 0xe7, 0x40, 0x64, 0xad, 0xd4, 0x0a, 0xa1, 0xe0, 0xf9, | ||
0xa0, 0x6b, 0xa5, 0xa3, 0x52, 0x70, 0xbd, 0x7e, 0xd1, 0x4b, 0x62, 0xc4, | ||
0x5b, 0x7e, 0xde, 0x23, 0xc2, 0x04, 0xb9, 0x38, 0x4d, 0x69, 0xdc, 0xf5, | ||
0xe2, 0x43, 0x92, 0x5d, 0x55, 0x2f, 0xae, 0x4c, 0x18, 0xe6, 0x5c, 0xf5, | ||
0x01, 0x49, 0xc1, 0x30, 0xa5, 0xe4, 0x4f, 0x99, 0xbc, 0xc1, 0xf5, 0xe0, | ||
0x27, 0xa5, 0x8b, 0xd8, 0x03, 0xb5, 0x1c, 0x3f, 0x29, 0x21, 0x38, 0x77, | ||
0x16, 0x87, 0x89, 0xf3, 0xc8, 0x2f, 0x81, 0x9e, 0xbc, 0x2d, 0xeb, 0xdc, | ||
0xa3, 0x56, 0xe6, 0x83, 0xaf, 0x3f, 0xeb, 0x31, 0xcd, 0x33, 0x69, 0x7f, | ||
0x77, 0x13, 0x10, 0x1a, 0x74, 0xa5, 0x1d, 0xe6, 0x57, 0xe5, 0x0e, 0xb6, | ||
0x38, 0x23, 0xb0, 0x15, 0xc7, 0x12, 0xf1, 0x94, 0x5d, 0x7a, 0x01, 0x53, | ||
0x10, 0x2a, 0x0b, 0x38, 0x28, 0x96, 0xc6, 0x5f, 0xdc, 0x53, 0x9d, 0x79, | ||
0xdc, 0x54, 0xb6, 0x2d, 0x88, 0x6d, 0x72, 0x1d, 0x33, 0x18, 0xb2, 0x45, | ||
0xf5, 0x7c, 0xcf, 0x9d, 0xe8, 0xe3, 0x23, 0xc9, 0x34, 0x06, 0xd4, 0x19, | ||
0x8e, 0x3c, 0x45, 0xf2, 0x76, 0x32, 0x69, 0x8d, 0xfe, 0xb2, 0x7a, 0x16, | ||
0x72, 0x97, 0x84, 0x46, 0x88, 0x7f, 0x7c, 0xdb, 0xa2, 0x21, 0x31, 0xf6, | ||
0x3d, 0xe2, 0xbe, 0xc9, 0x07, 0x01, 0x8d, 0x1d, 0x88, 0x05, 0xf0, 0x6d, | ||
0xca, 0xcb, 0x97, 0xbf, 0x11, 0xeb, 0x32, 0xe2, 0x86, 0x40, 0xcb, 0xb3, | ||
0xb5, 0xa4, 0xc5, 0xa0, 0x06, 0xc2, 0x5b, 0xb2, 0x3a, 0xf5, 0x64, 0x12, | ||
0xe8, 0x5e, 0xd7, 0x87, 0x1c, 0x46, 0xff, 0x98, 0x0b, 0xb5, 0x51, 0x89, | ||
0xdd, 0xeb, 0x90, 0x8a, 0xad, 0xb6, 0x3e, 0x78, 0xd7, 0x95, 0x16, 0x5f, | ||
0x58, 0x12, 0x48, 0x1e, 0x64, 0x25, 0x3c, 0xeb, 0x46, 0xe7, 0xbf, 0xbe, | ||
0xf7, 0x47, 0xcd, 0x52, 0x24, 0x05, 0x83, 0x44, 0x93, 0xe4, 0x63, 0x94, | ||
0xf6, 0x70, 0x52, 0x7c, 0x2f, 0x03, 0x60, 0xe5, 0xc2, 0xc8, 0xf4, 0x5b, | ||
0x39, 0xd5, 0x57, 0x58, 0x20, 0x05, 0x30, 0xd8, 0x8a, 0x8c, 0x54, 0x6d, | ||
0x39, 0x95, 0xcf, 0x8a, 0x45, 0xf0, 0xc7, 0xc6, 0xc5, 0xfc, 0xd4, 0xd3, | ||
0xbc, 0x3f, 0xa6, 0x65, 0xab, 0xc0, 0x57, 0xe9, 0xa0, 0xf9, 0x7a, 0x41, | ||
0x0a, 0x82, 0x48, 0x37, 0x2b, 0x7f, 0x28, 0x96, 0x76, 0xcc, 0xb7, 0xd3, | ||
0xac, 0x26, 0xd4, 0x6c, 0x68, 0x3b, 0xcb, 0x7b, 0x96, 0x32, 0xc7, 0xfd, | ||
0x5c, 0x46, 0x1f, 0x9c, 0xff, 0x6b, 0xf3, 0x25, 0x53, 0xc6, 0xa5, 0x53, | ||
0xdb, 0x4e, 0x16, 0x03, 0x14, 0x31, 0x0e, 0xd6, 0xda, 0xb5, 0x56, 0x2f, | ||
0x4b, 0x15, 0x00, 0xe9, 0x57, 0x2b, 0x3a, 0xa5, 0xa6, 0x5c, 0x4d, 0xf9, | ||
0x0c, 0x39, 0x4f, 0x19, 0x51, 0xd8, 0x2a, 0x0b, 0x58, 0x12, 0xd9, 0x37, | ||
0x2b, 0x8c, 0xd2, 0x22, 0xe6, 0xf2, 0xcb, 0xbf, 0x2f, 0xae, 0x7c, 0xe5, | ||
0xe2, 0xb5, 0x69, 0x65, 0x4f, 0x60, 0xe8, 0x31, 0x3a, 0xb6, 0xef, 0xa8, | ||
0x5d, 0x56, 0xe6, 0xfa, 0xab, 0x26, 0x82, 0x2d, 0xac, 0x69, 0xbd, 0x6d, | ||
0x63, 0x21 | ||
}; | ||
unsigned int ca_der_len = 1538; |
Oops, something went wrong.