目次

last update: 2025/05

M3S-T4-Tiny TCP/IP(OSレス)環境で動作可能な各種ミドルウェアサンプル
第3章: SSL通信(セキュリティ機能)
評価ボード:RX72N Envision Kit




emSSL:SSL/TLSセキュア通信

テストサンプル

SSL Application Folder:

Application
 └ _Exclude
     ├ SSL  ....... emSSLライブラリのデモサンプル
Sample説明
M3S_T4_SSL_OS_ScanM3S-T4-Tiny TCP/IPスタックを使用して指定WEBサーバー対応の暗号スイートをスキャンして結果を表示します
M3S_T4_SSL_OS_SimpleWebClientM3S-T4-Tiny TCP/IPスタックを使用してSSLクライアントから指定WEBサーバーに接続します

関連設定ファイル(emSSL):

Config
 |- SSL_Conf.h  ........ SSLコンフィグレーション設定ファイル(マクロ定義)
 |- SSL_X_Config.c  .... SSLコンフィグレーション設定ファイル(初期化設定)
 |- IO
 |   |- SSL_ConfigIO.c  ..... デバッグコンソールIOインターフェース設定ファイル
 |
 |- OS
     |- libNo_OSLayer_RXv3_L.lib  ..... OSインターフェース設定ファイル

BSP
 |- Setup
     |- SSL_X_TrustedCerts.c  .... テスト用ルート証明書データ(バイナリ)

emSSL:ビルド・動作確認方法

プロジェクト設定では「\Application\_Exclude\SSL」フォルダはビルド対象外に設定しています。以下のどちらかの方法で動作確認を行うサンプルアプリケーションを選択します。

  1. 「\_Exclude\SSL」フォルダ下の対象テストサンプルファイルをビルド対象設定の「\Application」フォルダ下にコピーします。
  2. 「\_Exclude\SSL」フォルダ下の対象テストサンプルファイルのみ「ビルド対象外」の設定を解除します。

プロジェクトを再ビルドし、評価ボードに接続してデバッグセッションを開始します。
デバッガのIOコンソールのログ画面から結果を確認します。

(r_t4_rx)TCP/IPコンフィグレーション設定の事例:

  • Enable/Disable DHCP function: 0
  • IP address for ch0, when DHCP disable: 192.168.0.20
  • Subnet mask for ch0, when DHCP disable: 255.255.255.0
  • Gateway address for ch0, when DHCP disable: 192.168.0.1

SSLポート接続先のWEBアドレス設定について:

M3S-T4-Tiny TCP/IPスタックはDNSクライエント機能はサポートしていませんので、「www.segger.com」のようなURLアドレス設定は指定できません。アプリケーション側で対象サーバーのIPアドレスを設定してください。

テストレポート(emSSL)

Sample: M3S_T4_SSL_OS_Scan

File: M3S_T4_SSL_OS_Scan.c (サーバーIPアドレス設定)

#define HOST_IP_ADDR    IP_ADDR_UW(142,251,211,227)
#define HOST_WEB_ADDR   "www.google.co.jp"

Debug IO Console:

SEGGER Software Evaluation Sample
Eval Board: RX72N Envision Kit
Base: Baremetal (No RTOS)
TCP/IP: Renesas M3S-T4-Tiny
------------------------------------------------
callback ch:0, eventID = ETHER_EV_LINK_ON
2:033 emSSL - Scanning cipher suites on www.google.co.jp:443
callback ch:0, eventID = DHCP_EV_INIT
callback ch:0, eventID = DHCP_EV_LEASE_IP
DHCP.ipaddr[4]   192.168.1.19
DHCP.maskaddr[4] 255.255.255.0
DHCP.gwaddr[4]   192.168.1.1
DHCP.dnsaddr[4]  192.168.1.1
DHCP.dnsaddr2[4] 0.0.0.0
DHCP.macaddr[6]  74:90:50:10:FE:77
DHCP.domain[0] 

7:200 emSSL - C008  TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA         Received Handshake Failure alert
8:364 emSSL - C009  TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA          TLS 1.2   213 ms processing,   845 ms socket,  1058 ms total
8:797 emSSL - C023  TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256       Received Handshake Failure alert
9:122 emSSL - C0AC  TLS_ECDHE_ECDSA_WITH_AES_128_CCM              Received Handshake Failure alert
9:448 emSSL - C0AE  TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8            Received Handshake Failure alert
10:621 emSSL - C02B  TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256       TLS 1.2   212 ms processing,   856 ms socket,  1068 ms total
11:902 emSSL - C00A  TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA          TLS 1.2   215 ms processing,   850 ms socket,  1065 ms total
12:343 emSSL - C024  TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384       Received Handshake Failure alert
12:671 emSSL - C0AD  TLS_ECDHE_ECDSA_WITH_AES_256_CCM              Received Handshake Failure alert
12:997 emSSL - C0AF  TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8            Received Handshake Failure alert
14:172 emSSL - C02C  TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384       TLS 1.2   215 ms processing,   852 ms socket,  1067 ms total
14:624 emSSL - C048  TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256      Received Handshake Failure alert
14:959 emSSL - C05C  TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256      Received Handshake Failure alert
15:294 emSSL - C049  TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384      Received Handshake Failure alert
15:619 emSSL - C05D  TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384      Received Handshake Failure alert
15:953 emSSL - C072  TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256  Received Handshake Failure alert
16:282 emSSL - C086  TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256  Received Handshake Failure alert
16:625 emSSL - C073  TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384  Received Handshake Failure alert
16:963 emSSL - C087  TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384  Received Handshake Failure alert
17:287 emSSL - C007  TLS_ECDHE_ECDSA_WITH_RC4_128_SHA              Received Handshake Failure alert
18:461 emSSL - CCA9  TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS 1.2   213 ms processing,   855 ms socket,  1068 ms total
18:894 emSSL - C012  TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA           Received Handshake Failure alert
20:077 emSSL - C013  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA            TLS 1.2   154 ms processing,   914 ms socket,  1068 ms total
20:511 emSSL - C027  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256         Received Handshake Failure alert
21:674 emSSL - C02F  TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256         TLS 1.2   154 ms processing,   893 ms socket,  1047 ms total
28:935 emSSL - C014  TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA            TLS 1.2   153 ms processing,  6893 ms socket,  7046 ms total
29:368 emSSL - C028  TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384         Received Handshake Failure alert
30:512 emSSL - C030  TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384         TLS 1.2   154 ms processing,   884 ms socket,  1038 ms total
30:945 emSSL - C04C  TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256        Received Handshake Failure alert
31:288 emSSL - C060  TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256        Received Handshake Failure alert
31:616 emSSL - C04D  TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384        Received Handshake Failure alert
31:942 emSSL - C061  TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384        Received Handshake Failure alert
32:267 emSSL - C076  TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256    Received Handshake Failure alert
32:593 emSSL - C08A  TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256    Received Handshake Failure alert
32:928 emSSL - C077  TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384    Received Handshake Failure alert
33:264 emSSL - C08B  TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384    Received Handshake Failure alert
33:599 emSSL - C011  TLS_ECDHE_RSA_WITH_RC4_128_SHA                Received Handshake Failure alert
34:742 emSSL - CCA8  TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256   TLS 1.2   152 ms processing,   885 ms socket,  1037 ms total
35:175 emSSL - C002  TLS_ECDH_ECDSA_WITH_RC4_128_SHA               Received Handshake Failure alert
35:499 emSSL - C003  TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA          Received Handshake Failure alert
35:825 emSSL - C004  TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA           Received Handshake Failure alert
36:151 emSSL - C025  TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256        Received Handshake Failure alert
36:475 emSSL - C02D  TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256        Received Handshake Failure alert
36:802 emSSL - C005  TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA           Received Handshake Failure alert
37:136 emSSL - C026  TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384        Received Handshake Failure alert
37:479 emSSL - C02E  TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384        Received Handshake Failure alert
37:836 emSSL - C04A  TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256       Received Handshake Failure alert
38:180 emSSL - C05E  TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256       Received Handshake Failure alert
38:507 emSSL - C04B  TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384       Received Handshake Failure alert
38:853 emSSL - C05F  TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384       Received Handshake Failure alert
39:188 emSSL - C074  TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256   Received Handshake Failure alert
39:522 emSSL - C088  TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256   Received Handshake Failure alert
40:757 emSSL - C075  TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384   Received Handshake Failure alert
41:083 emSSL - C089  TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384   Received Handshake Failure alert
41:418 emSSL - C00D  TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA            Received Handshake Failure alert
41:752 emSSL - C00E  TLS_ECDH_RSA_WITH_AES_128_CBC_SHA             Received Handshake Failure alert
42:077 emSSL - C029  TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256          Received Handshake Failure alert
42:404 emSSL - C031  TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256          Received Handshake Failure alert
42:738 emSSL - C00F  TLS_ECDH_RSA_WITH_AES_256_CBC_SHA             Received Handshake Failure alert
43:072 emSSL - C02A  TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384          Received Handshake Failure alert
43:405 emSSL - C032  TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384          Received Handshake Failure alert
43:741 emSSL - C04E  TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256         Received Handshake Failure alert
44:077 emSSL - C062  TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256         Received Handshake Failure alert
44:405 emSSL - C04F  TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384         Received Handshake Failure alert
44:734 emSSL - C063  TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384         Received Handshake Failure alert
45:066 emSSL - C078  TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256     Received Handshake Failure alert
45:401 emSSL - C08C  TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256     Received Handshake Failure alert
45:736 emSSL - C079  TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384     Received Handshake Failure alert
46:060 emSSL - C08D  TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384     Received Handshake Failure alert
46:394 emSSL - C00C  TLS_ECDH_RSA_WITH_RC4_128_SHA                 Received Handshake Failure alert
47:390 emSSL - 000A  TLS_RSA_WITH_3DES_EDE_CBC_SHA                 TLS 1.2    53 ms processing,   835 ms socket,   888 ms total
47:826 emSSL - 0096  TLS_RSA_WITH_SEED_CBC_SHA                     Received Handshake Failure alert
48:826 emSSL - 002F  TLS_RSA_WITH_AES_128_CBC_SHA                  TLS 1.2    52 ms processing,   836 ms socket,   888 ms total
49:267 emSSL - 003C  TLS_RSA_WITH_AES_128_CBC_SHA256               Received Handshake Failure alert
49:603 emSSL - C09C  TLS_RSA_WITH_AES_128_CCM                      Received Handshake Failure alert
50:599 emSSL - 009C  TLS_RSA_WITH_AES_128_GCM_SHA256               TLS 1.2    52 ms processing,   836 ms socket,   888 ms total
51:700 emSSL - 0035  TLS_RSA_WITH_AES_256_CBC_SHA                  TLS 1.2    52 ms processing,   834 ms socket,   886 ms total
52:133 emSSL - 003D  TLS_RSA_WITH_AES_256_CBC_SHA256               Received Handshake Failure alert
52:467 emSSL - C09D  TLS_RSA_WITH_AES_256_CCM                      Received Handshake Failure alert
53:464 emSSL - 009D  TLS_RSA_WITH_AES_256_GCM_SHA384               TLS 1.2    52 ms processing,   836 ms socket,   888 ms total
53:896 emSSL - 0041  TLS_RSA_WITH_CAMELLIA_128_CBC_SHA             Received Handshake Failure alert
54:221 emSSL - 0084  TLS_RSA_WITH_CAMELLIA_256_CBC_SHA             Received Handshake Failure alert
54:555 emSSL - 00BA  TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256          Received Handshake Failure alert
54:884 emSSL - 00C0  TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256          Received Handshake Failure alert
55:219 emSSL - C07A  TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256          Received Handshake Failure alert
55:555 emSSL - C07B  TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384          Received Handshake Failure alert
55:890 emSSL - C03C  TLS_RSA_WITH_ARIA_128_CBC_SHA256              Received Handshake Failure alert
56:224 emSSL - C03D  TLS_RSA_WITH_ARIA_256_CBC_SHA384              Received Handshake Failure alert
56:552 emSSL - C050  TLS_RSA_WITH_ARIA_128_GCM_SHA256              Received Handshake Failure alert
56:878 emSSL - C051  TLS_RSA_WITH_ARIA_256_GCM_SHA384              Received Handshake Failure alert
57:213 emSSL - 0004  TLS_RSA_WITH_RC4_128_MD5                      Received Handshake Failure alert
57:547 emSSL - 0005  TLS_RSA_WITH_RC4_128_SHA                      Received Handshake Failure alert
57:652 emSSL - 
15 common cipher suites out of 92 tested


STOP.

Sample: M3S_T4_SSL_OS_SimpleWebClient

HOST: https://www.segger.com/emssl-testpage.php
File: M3S_T4_SSL_OS_SimpleWebClient.c (サーバーIPアドレス設定)

#define HOST_IP_ADDR    IP_ADDR_UW(13,249,160,23)
#define HOST_WEB_ADDR   "www.segger.com"
#define PAGE            "/emssl-testpage.php"

Debug IO Console:

SEGGER Software Evaluation Sample
Eval Board: RX72N Envision Kit
Base: Baremetal (No RTOS)
TCP/IP: Renesas M3S-T4-Tiny
------------------------------------------------
callback ch:0, eventID = ETHER_EV_LINK_ON
callback ch:0, eventID = DHCP_EV_INIT
callback ch:0, eventID = DHCP_EV_LEASE_IP
DHCP.ipaddr[4]   192.168.1.19
DHCP.maskaddr[4] 255.255.255.0
DHCP.gwaddr[4]   192.168.1.1
DHCP.dnsaddr[4]  192.168.1.1
DHCP.dnsaddr2[4] 0.0.0.0
DHCP.macaddr[6]  74:90:50:10:FE:77
DHCP.domain[0] 

8:236 emSSL - Data: HTTP/1.1 200 OK..Content-Type: text/html; charset=UTF-8..Connection: close..Date: Tue, 20 May 2025 02:24:33 GMT..Server: Apache..Cache-Control: max-age=0..Expires: Tue, 20 May 2025 02:24:33 GMT..X-UA-Compatible: IE=edge..X-Content-Type-Options: nosniff..V
8:238 emSSL - Data: ary: Accept-Encoding..X-Cache: Miss from cloudfront..Via: 1.1 0ad301ca10327c098ca0386f844a3652.cloudfront.net (CloudFront)..X-Amz-Cf-Pop: NRT12-C3..X-Amz-Cf-Id: eIkqleKRH_p9EnSxh4rbXgZK-891DpRXgUvW_UvdkeJPcLpQXhO5bQ==....Welcome to www.segger.com/emssl-te
8:240 emSSL - Data: stpage.php!...Successfully connected via SSL...Current date is 2025-05-20...Current time is 04:24:33..
8:273 emSSL - Data received, socket closed: done

STOP.
前の章

HTTPクライアント

次の章

SSHセキュアログイン(セキュリティ機能)