Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions samples/siwx91x_ota/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Copyright (c) 2025 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0

cmake_minimum_required(VERSION 3.20.0)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(siwx91x_ota)

target_sources(app PRIVATE src/main.c src/ca-cert_der.c)

# Ensure the directory for the generated file exists
set(gen_dir ${ZEPHYR_BINARY_DIR}/include/generated/)
file(MAKE_DIRECTORY ${gen_dir})
48 changes: 48 additions & 0 deletions samples/siwx91x_ota/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Config options for OTA application
#
# Copyright (c) 2025 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0

mainmenu "SiWx91x OTA Configuration"

menu "SiWx91x OTA application options"

config OTA_WIFI_SSID
string "WiFi SSID"
default "your_ssid"
help
WiFi SSID for the network to connect to.

config OTA_WIFI_PSK
string "WiFi PSK"
default "your_psk"
help
WiFi PSK (password) for the network to connect to.

config OTA_WIFI_SECURITY_TYPE
int "WiFi security type"
default 0
range 0 1
help
WiFi security type for the network connection.
0: Open (default)
1: WPA2-PSK

config OTA_IP_PROTOCOL_SELECTION
int "IP protocol selection"
default 0
range 0 1
help
Select IP protocol for OTA connection.
0: IPv4 (default)
1: IPv6

config OTA_UPDATE_URL
string "OTA update URL"
default "http://example.com:8080/firmware.rps"
help
The full URL for the OTA firmware update.

endmenu

source "Kconfig.zephyr"
72 changes: 72 additions & 0 deletions samples/siwx91x_ota/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Copyright (c) 2025 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0

.. zephyr:code-sample:: siwx91x_otas
:name: HTTP OTA Firmware Update on SiWx917
:relevant-api: wifi

Demonstrates HTTP/HTTPS OTA firmware update using SiWx917 on Zephyr.

Overview
********

Application demonstrates how to perform HTTP/HTTPS OTA firmware updates on the
SiWx917 platform using Zephyr RTOS. It connects to a Wi-Fi network, establishes
a secure HTTPS connection using a CA certificate, and downloads firmware
updates from a remote server. The application showcases secure connectivity and
OTA update mechanisms for IoT devices.

Requirements
************

* SiWx917 development board with Wi-Fi support
* HTTP server

Configurations
**************

The following configurations can be modified in ``prj.conf``:

* Wi-Fi Settings
* ``CONFIG_OTA_WIFI_SSID`` - Network name
* ``CONFIG_OTA_WIFI_PSK`` - Network password
* ``CONFIG_OTA_WIFI_SECURITY_TYPE`` - wifi security type (0 - no security, 1 - WPA2-PSK security)
* ``CONFIG_OTA_IP_PROTOCOL_SELECTION`` - Select IPv4 or IPv6

* OTA Server Settings
* ``CONFIG_OTA_SERVER_IP`` or ``CONFIG_OTA_SERVER_HOSTNAME`` - Server address
* ``CONFIG_OTA_SERVER_PORT`` - Server port
* ``CONFIG_OTA_RPS_FILE`` - Firmware file on server
* ``CONFIG_OTA_HTTPS_SUPPORT`` - Enable HTTPS (default: disabled)
* ``CONFIG_OTA_USE_DNS_RESOLVER`` - Enable DNS resolution (set to 1 to use
``CONFIG_OTA_SERVER_HOSTNAME``)

.. _signed image generation:
https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_SIWX91X_SIGN_KEY

Building and Running
********************

1. Configure required settings
2. Build and Flash

.. code-block:: console

west build -b siwx917_rb4338a siwx917_ota -p
west flash

3. Run HTTP/HTTPS server

Test the Application
********************

1. After flashing the SiWx91x, the device will scan for the specified AP and
attempt to connect if found.
2. Once connected, the SiWx91x will initiate an HTTP/S connection to the specified
server and download the firmware binary.
3. The OTA update process will be logged to the serial console.

Note
****

This application is not for production.
77 changes: 77 additions & 0 deletions samples/siwx91x_ota/prj.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Copyright (c) 2025 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0

# Network Stack Configuration
CONFIG_NETWORKING=y
CONFIG_NET_MGMT=y
CONFIG_NET_TCP=y
CONFIG_NET_CONNECTION_MANAGER=y

# IPv4/IPv6 Support
CONFIG_NET_IPV4=y
CONFIG_NET_IPV6=y
CONFIG_NET_ARP=y
CONFIG_NET_DHCPV4=y
CONFIG_NET_DHCPV6=n

# WiFi Configuration
CONFIG_WIFI=y

# Memory and Threading
CONFIG_MAIN_STACK_SIZE=2048
CONFIG_INIT_STACKS=y
CONFIG_HEAP_MEM_POOL_SIZE=8192

# CMSIS Configuration
CONFIG_CMSIS_V2_MUTEX_MAX_COUNT=10
CONFIG_CMSIS_V2_EVT_FLAGS_MAX_COUNT=10

# Network Parameters
CONFIG_NET_TCP_MAX_RECV_WINDOW_SIZE=10240

# Socket Support
CONFIG_REQUIRES_FULL_LIBC=y
CONFIG_NET_SOCKETS=y

# HTTP Client Configuration
CONFIG_HTTP_CLIENT=y
CONFIG_HTTP_PARSER_URL=y
CONFIG_NET_MGMT_EVENT=y

# TLS Security Configuration
CONFIG_MBEDTLS=y
CONFIG_MBEDTLS_BUILTIN=y
CONFIG_MBEDTLS_ENABLE_HEAP=y
CONFIG_MBEDTLS_HEAP_SIZE=60000
CONFIG_TLS_CREDENTIALS=y
CONFIG_NET_SOCKETS_SOCKOPT_TLS=y
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought this option was enough to pull all the required mbedtls options.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to include the other TLS options also for successful TLS handshake

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I may miss things, but the following config should be very close of what you need ():

CONFIG_NETWORKING=y
CONFIG_WIFI=y

CONFIG_NET_IPV6=y
CONFIG_NET_IPV4=y
CONFIG_NET_DHCPV4=y
CONFIG_NET_TCP=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_SOCKOPT_TLS=y
CONFIG_HTTP_CLIENT=y

CONFIG_MAIN_STACK_SIZE=2048

You may improve compatibility with TLS servers by adding the snippet below, but I think this is not strictly required.

CONFIG_MBEDTLS_CIPHER_ALL_ENABLED=y
CONFIG_MBEDTLS_POLY1305=y

Also note I suggest to use the zsock_*() function so you won't depends on CONFIG_POSIX_API.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do I need to remove any configuration?

CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=8000

# TLS Protocol and Cipher Configuration
CONFIG_MBEDTLS_TLS_VERSION_1_2=y
CONFIG_MBEDTLS_SHA256=y
CONFIG_MBEDTLS_CIPHER_AES_ENABLED=y
CONFIG_MBEDTLS_CIPHER_ALL_ENABLED=y
CONFIG_MBEDTLS_CIPHER_CHACHA20_ENABLED=y
CONFIG_MBEDTLS_POLY1305=y

CONFIG_ASSERT=y

# DNS configuration
CONFIG_DNS_RESOLVER=y

# for SLAAC configuration
CONFIG_NET_IPV6_ND=y
CONFIG_NET_IPV6_RA_RDNSS=y
CONFIG_NET_IPV6_NBR_CACHE=y
CONFIG_NET_IPV6_MLD=y
CONFIG_NET_IPV6_DAD=y

# Wi-Fi configuration
CONFIG_OTA_WIFI_SSID="<AP-NAME>"
CONFIG_OTA_WIFI_PSK="<AP-PASSWORD>"
CONFIG_OTA_WIFI_SECURITY_TYPE=0
CONFIG_OTA_IP_PROTOCOL_SELECTION=0

# OTA Configuration
CONFIG_WIFI_SILABS_SIWX91X_FIRMWARE_UPGRADE=y
19 changes: 19 additions & 0 deletions samples/siwx91x_ota/sample.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright (c) 2025 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0

sample:
name: HTTP/HTTPS OTAF
description: HTTP/HTTPS OTA firmware update application for SiWx917
tests:
sample.net.http_otaf:
harness: net
platform_allow:
- siwx917_rb4338a
tags:
- net
- wifi
- http
- tls
- ota
integration_platforms:
- siwx917_rb4338a
94 changes: 94 additions & 0 deletions samples/siwx91x_ota/src/ca-cert_der.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
/*
* Copyright (c) 2025 Silicon Laboratories Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/

const unsigned char ca_cert_der[] = {
0x30, 0x82, 0x04, 0xff, 0x30, 0x82, 0x03, 0xe7, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
0x6b, 0x9b, 0x70, 0xc6, 0xf1, 0xa3, 0x94, 0x65, 0x19, 0xa1, 0x08, 0x58, 0xef, 0xa7, 0x8d,
0x2b, 0x7a, 0x83, 0xc1, 0xda, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, 0x94, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,
0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08,
0x0c, 0x07, 0x4d, 0x6f, 0x6e, 0x74, 0x61, 0x6e, 0x61, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03,
0x55, 0x04, 0x07, 0x0c, 0x07, 0x42, 0x6f, 0x7a, 0x65, 0x6d, 0x61, 0x6e, 0x31, 0x11, 0x30,
0x0f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x08, 0x53, 0x61, 0x77, 0x74, 0x6f, 0x6f, 0x74,
0x68, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x0a, 0x43, 0x6f, 0x6e,
0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04,
0x03, 0x0c, 0x0f, 0x77, 0x77, 0x77, 0x2e, 0x77, 0x6f, 0x6c, 0x66, 0x73, 0x73, 0x6c, 0x2e,
0x63, 0x6f, 0x6d, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
0x01, 0x09, 0x01, 0x16, 0x10, 0x69, 0x6e, 0x66, 0x6f, 0x40, 0x77, 0x6f, 0x6c, 0x66, 0x73,
0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x34, 0x31, 0x32, 0x31,
0x38, 0x32, 0x31, 0x32, 0x35, 0x32, 0x39, 0x5a, 0x17, 0x0d, 0x32, 0x37, 0x30, 0x39, 0x31,
0x34, 0x32, 0x31, 0x32, 0x35, 0x32, 0x39, 0x5a, 0x30, 0x81, 0x94, 0x31, 0x0b, 0x30, 0x09,
0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03,
0x55, 0x04, 0x08, 0x0c, 0x07, 0x4d, 0x6f, 0x6e, 0x74, 0x61, 0x6e, 0x61, 0x31, 0x10, 0x30,
0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x07, 0x42, 0x6f, 0x7a, 0x65, 0x6d, 0x61, 0x6e,
0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x08, 0x53, 0x61, 0x77, 0x74,
0x6f, 0x6f, 0x74, 0x68, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x0a,
0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x31, 0x18, 0x30, 0x16, 0x06,
0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x77, 0x77, 0x77, 0x2e, 0x77, 0x6f, 0x6c, 0x66, 0x73,
0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x09, 0x2a, 0x86, 0x48,
0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x10, 0x69, 0x6e, 0x66, 0x6f, 0x40, 0x77, 0x6f,
0x6c, 0x66, 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d,
0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82,
0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xbf, 0x0c, 0xca,
0x2d, 0x14, 0xb2, 0x1e, 0x84, 0x42, 0x5b, 0xcd, 0x38, 0x1f, 0x4a, 0xf2, 0x4d, 0x75, 0x10,
0xf1, 0xb6, 0x35, 0x9f, 0xdf, 0xca, 0x7d, 0x03, 0x98, 0xd3, 0xac, 0xde, 0x03, 0x66, 0xee,
0x2a, 0xf1, 0xd8, 0xb0, 0x7d, 0x6e, 0x07, 0x54, 0x0b, 0x10, 0x98, 0x21, 0x4d, 0x80, 0xcb,
0x12, 0x20, 0xe7, 0xcc, 0x4f, 0xde, 0x45, 0x7d, 0xc9, 0x72, 0x77, 0x32, 0xea, 0xca, 0x90,
0xbb, 0x69, 0x52, 0x10, 0x03, 0x2f, 0xa8, 0xf3, 0x95, 0xc5, 0xf1, 0x8b, 0x62, 0x56, 0x1b,
0xef, 0x67, 0x6f, 0xa4, 0x10, 0x41, 0x95, 0xad, 0x0a, 0x9b, 0xe3, 0xa5, 0xc0, 0xb0, 0xd2,
0x70, 0x76, 0x50, 0x30, 0x5b, 0xa8, 0xe8, 0x08, 0x2c, 0x7c, 0xed, 0xa7, 0xa2, 0x7a, 0x8d,
0x38, 0x29, 0x1c, 0xac, 0xc7, 0xed, 0xf2, 0x7c, 0x95, 0xb0, 0x95, 0x82, 0x7d, 0x49, 0x5c,
0x38, 0xcd, 0x77, 0x25, 0xef, 0xbd, 0x80, 0x75, 0x53, 0x94, 0x3c, 0x3d, 0xca, 0x63, 0x5b,
0x9f, 0x15, 0xb5, 0xd3, 0x1d, 0x13, 0x2f, 0x19, 0xd1, 0x3c, 0xdb, 0x76, 0x3a, 0xcc, 0xb8,
0x7d, 0xc9, 0xe5, 0xc2, 0xd7, 0xda, 0x40, 0x6f, 0xd8, 0x21, 0xdc, 0x73, 0x1b, 0x42, 0x2d,
0x53, 0x9c, 0xfe, 0x1a, 0xfc, 0x7d, 0xab, 0x7a, 0x36, 0x3f, 0x98, 0xde, 0x84, 0x7c, 0x05,
0x67, 0xce, 0x6a, 0x14, 0x38, 0x87, 0xa9, 0xf1, 0x8c, 0xb5, 0x68, 0xcb, 0x68, 0x7f, 0x71,
0x20, 0x2b, 0xf5, 0xa0, 0x63, 0xf5, 0x56, 0x2f, 0xa3, 0x26, 0xd2, 0xb7, 0x6f, 0xb1, 0x5a,
0x17, 0xd7, 0x38, 0x99, 0x08, 0xfe, 0x93, 0x58, 0x6f, 0xfe, 0xc3, 0x13, 0x49, 0x08, 0x16,
0x0b, 0xa7, 0x4d, 0x67, 0x00, 0x52, 0x31, 0x67, 0x23, 0x4e, 0x98, 0xed, 0x51, 0x45, 0x1d,
0xb9, 0x04, 0xd9, 0x0b, 0xec, 0xd8, 0x28, 0xb3, 0x4b, 0xbd, 0xed, 0x36, 0x79, 0x02, 0x03,
0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x45, 0x30, 0x82, 0x01, 0x41, 0x30, 0x1d, 0x06, 0x03,
0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x27, 0x8e, 0x67, 0x11, 0x74, 0xc3, 0x26, 0x1d,
0x3f, 0xed, 0x33, 0x63, 0xb3, 0xa4, 0xd8, 0x1d, 0x30, 0xe5, 0xe8, 0xd5, 0x30, 0x81, 0xd4,
0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x81, 0xcc, 0x30, 0x81, 0xc9, 0x80, 0x14, 0x27, 0x8e,
0x67, 0x11, 0x74, 0xc3, 0x26, 0x1d, 0x3f, 0xed, 0x33, 0x63, 0xb3, 0xa4, 0xd8, 0x1d, 0x30,
0xe5, 0xe8, 0xd5, 0xa1, 0x81, 0x9a, 0xa4, 0x81, 0x97, 0x30, 0x81, 0x94, 0x31, 0x0b, 0x30,
0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, 0x0e, 0x06,
0x03, 0x55, 0x04, 0x08, 0x0c, 0x07, 0x4d, 0x6f, 0x6e, 0x74, 0x61, 0x6e, 0x61, 0x31, 0x10,
0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x07, 0x42, 0x6f, 0x7a, 0x65, 0x6d, 0x61,
0x6e, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x08, 0x53, 0x61, 0x77,
0x74, 0x6f, 0x6f, 0x74, 0x68, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c,
0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x31, 0x18, 0x30, 0x16,
0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x77, 0x77, 0x77, 0x2e, 0x77, 0x6f, 0x6c, 0x66,
0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x09, 0x2a, 0x86,
0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x10, 0x69, 0x6e, 0x66, 0x6f, 0x40, 0x77,
0x6f, 0x6c, 0x66, 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x82, 0x14, 0x6b, 0x9b, 0x70,
0xc6, 0xf1, 0xa3, 0x94, 0x65, 0x19, 0xa1, 0x08, 0x58, 0xef, 0xa7, 0x8d, 0x2b, 0x7a, 0x83,
0xc1, 0xda, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01,
0xff, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x15, 0x30, 0x13, 0x82, 0x0b, 0x65,
0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x87, 0x04, 0x7f, 0x00, 0x00,
0x01, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b,
0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07,
0x03, 0x02, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x77, 0x3b, 0x3d, 0x66, 0x74, 0xbc, 0x97, 0xfe,
0x40, 0x16, 0xe6, 0xba, 0xa5, 0xd5, 0xd1, 0x84, 0x08, 0x89, 0x69, 0x4f, 0x88, 0x0d, 0x57,
0xa9, 0xef, 0x8c, 0xc3, 0x97, 0x52, 0xc8, 0xbd, 0x8b, 0xa2, 0x49, 0x3b, 0xb7, 0xf7, 0x5d,
0x1e, 0xd6, 0x14, 0x7f, 0xb2, 0x80, 0x33, 0xda, 0xa0, 0x8a, 0xd3, 0xe1, 0x2f, 0xd5, 0xbc,
0x33, 0x9f, 0xea, 0x5a, 0x72, 0x24, 0xe5, 0xf8, 0xb8, 0x4b, 0xb3, 0xdf, 0x62, 0x90, 0x3b,
0xa8, 0x21, 0xef, 0x27, 0x42, 0x75, 0xbc, 0x60, 0x02, 0x8e, 0x37, 0x35, 0x99, 0xeb, 0xa3,
0x28, 0xf2, 0x65, 0x4c, 0xff, 0x7a, 0xf8, 0x8e, 0xcc, 0x23, 0x6d, 0xe5, 0x6a, 0xfe, 0x22,
0x5a, 0xd9, 0xb2, 0x4f, 0x47, 0xc7, 0xe0, 0xae, 0x98, 0xef, 0x94, 0xac, 0xb6, 0x4f, 0x61,
0x81, 0x29, 0x8e, 0xe1, 0x79, 0x2c, 0x46, 0xfc, 0xe9, 0x1a, 0xc3, 0x96, 0x1f, 0x19, 0x93,
0x64, 0x2e, 0x9f, 0x37, 0x72, 0xc5, 0xe4, 0x93, 0x4e, 0x61, 0x5f, 0x38, 0x8e, 0xae, 0xe8,
0x39, 0x19, 0xe6, 0x97, 0xa8, 0x91, 0xd4, 0x23, 0x7e, 0x1e, 0xd2, 0xd0, 0x53, 0xec, 0xcc,
0xac, 0xa0, 0x1d, 0xd0, 0xb7, 0xdd, 0xb1, 0xb7, 0x01, 0x2e, 0x96, 0xcd, 0x85, 0x27, 0xe0,
0xe7, 0x47, 0xe2, 0xc1, 0xc1, 0x00, 0xf6, 0x94, 0xdf, 0x77, 0xe7, 0xfa, 0xc6, 0xef, 0x8a,
0xc0, 0x7c, 0x67, 0xbc, 0xff, 0xa0, 0x7c, 0x94, 0x3b, 0x7d, 0x86, 0x42, 0xaf, 0x3d, 0x83,
0x31, 0xee, 0x2a, 0x3b, 0x7b, 0xf0, 0x2c, 0x9e, 0x6f, 0xe9, 0xc4, 0x07, 0x81, 0x24, 0xda,
0x05, 0x70, 0x4d, 0xdd, 0x09, 0xae, 0x9e, 0x72, 0xb8, 0x21, 0x0e, 0x8c, 0xb2, 0xab, 0xaa,
0x4c, 0x49, 0x10, 0xf7, 0x76, 0xf9, 0xb5, 0x0d, 0x6c, 0x20, 0xd3, 0xdf, 0x7a, 0x06, 0x32,
0x8d, 0x29, 0x1f, 0x28, 0x1d, 0x8d, 0x26, 0x33};
unsigned int ca_cert_der_len = 1283;
Loading
Loading