last update: 2025/03
Demo Sample Application Folder:
Application └ _Exclude ├ SECURE ....... emSecureライブラリのデモサンプル
Sample | 説明 |
---|---|
SECURE_RSA_Bench_Performance | RSA鍵のデジタル署名を使用してメッセージのSign・Verifyパフォーマンスを確認します |
Config |- SECURE_ECDSA_Conf.h ....... ECDSAライブラリのコンフィグレーション設定 |- SECURE_RSA_Conf.h ......... RSAライブラリのコンフィグレーション設定 |- Keys ................. テスト用鍵データ設定ファイル |- SECURE_ECDSA_xxxx.h |- SECURE_RSA_xxxx.h
プロジェクト設定では「\Application\_Exclude\SECURE」フォルダはビルド対象外に設定しています。以下のどちらかの方法で動作確認を行うサンプルアプリケーションを選択します。
プロジェクトを再ビルドし、評価ボードに接続してデバッグセッションを開始します。
デバッガのIOコンソールのログ画面から結果を確認します。
Debug IO Console:
SEGGER Software Evaluation Sample Eval Board: AP-RX72N-0A (RX72N RXv3 @240MHz) Base: Baremetal (No RTOS) ------------------------------------------------ (c) 2014-2018 SEGGER Microcontroller GmbH www.segger.com emSecure-RSA Performance Benchmark compiled Feb 19 2025 17:58:55 Compiler: CC-RX V3.06.00 System: Processor speed = 240.000 MHz Config: CRYPTO_VERSION = 24001 [2.40a] Config: SECURE_RSA_VERSION = 24600 [2.46] Config: CRYPTO_MPI_BITS_PER_LIMB = 32 Config: SECURE_RSA_MAX_KEY_LENGTH = 2048 bits Config: SECURE_RSA_HASH_FUNCTION = SHA1 Config: SECURE_RSA_SIGNATURE_SCHEME = PSS Sign/Verify Performance ======================= +----------+----------+----------+----------+ | Modulus | Message | Sign | Verify | | /bits | /bytes | /ms | /ms | +----------+----------+----------+----------+ | 512 | 0 | 10.84 | 0.73 | | 512 | 1024 | 10.97 | 0.92 | | 512 | 102400 | 27.78 | 17.75 | +----------+----------+----------+----------+ | 1024 | 0 | 57.17 | 2.04 | | 1024 | 1024 | 57.33 | 2.22 | | 1024 | 102400 | 74.07 | 19.06 | +----------+----------+----------+----------+ | 2048 | 0 | 359.33 | 7.64 | | 2048 | 1024 | 358.67 | 7.80 | | 2048 | 102400 | 375.67 | 24.61 | +----------+----------+----------+----------+ Benchmark complete STOP.
SSL Application Folder:
Application └ _Exclude ├ SSL ....... emSSLライブラリのデモサンプル
Sample | 説明 |
---|---|
SSL_OS_Scan | 指定WEBサーバー対応の暗号スイートをスキャンして結果を表示します |
SSL_OS_SimpleWebClient | SSLクライアントから指定WEBサーバーに接続します |
Config |- SSL_Conf.h ........ SSLコンフィグレーション設定ファイル(マクロ定義) |- IO | |- SSL_ConfigIO.c ..... デバッグコンソールIOインターフェース設定ファイル | |- Certificates | |- SSL_EC_Certificate.c ......... テスト用証明書 | |- SSL_EC_PrivateKey.c .......... テスト用EC秘密鍵 | |- SSL_RSA_Certificate.c ........ テスト用証明書 | |- SSL_RSA_PrivateKey.c ......... テスト用RSA秘密鍵 | |- OS |- libNo_OSLayer_RXv3_L.lib ..... OSインターフェース設定ファイル BSP |- Setup |- SSL_X_Config.c .......... SSLコンフィグレーション設定ファイル(初期化設定) |- SSL_X_TrustedCerts.c .... テスト用ルート証明書データ(バイナリ)
プロジェクト設定では「\Application\_Exclude\SSL」フォルダはビルド対象外に設定しています。以下のどちらかの方法で動作確認を行うサンプルアプリケーションを選択します。
プロジェクトを再ビルドし、評価ボードに接続してデバッグセッションを開始します。
デバッガのIOコンソールのログ画面から結果を確認します。
「www.google.co.jp」サイトをスキャンして対応CIPHERリストを表示します。
File: SSL_OS_Scan.c (サーバーIPアドレス設定)
#define HOST "www.google.co.jp" #define PORT 443
Debug IO Console:
4:233 emSSL - Scanning cipher suites on www.google.co.jp:443 4:266 emSSL - C008 TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA Received Handshake Failure alert 4:544 emSSL - C009 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA TLS 1.2 196 ms processing, 81 ms socket, 277 ms total 4:560 emSSL - C023 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 4:577 emSSL - C0AC TLS_ECDHE_ECDSA_WITH_AES_128_CCM Received Handshake Failure alert 4:591 emSSL - C0AE TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 Received Handshake Failure alert 4:867 emSSL - C02B TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS 1.2 195 ms processing, 80 ms socket, 275 ms total 5:150 emSSL - C00A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA TLS 1.2 197 ms processing, 84 ms socket, 281 ms total 5:166 emSSL - C024 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 Received Handshake Failure alert 5:183 emSSL - C0AD TLS_ECDHE_ECDSA_WITH_AES_256_CCM Received Handshake Failure alert 5:200 emSSL - C0AF TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 Received Handshake Failure alert 5:480 emSSL - C02C TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS 1.2 198 ms processing, 81 ms socket, 279 ms total 5:497 emSSL - C048 TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 5:515 emSSL - C05C TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 5:532 emSSL - C049 TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 5:548 emSSL - C05D TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 5:562 emSSL - C072 TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 5:578 emSSL - C086 TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 5:593 emSSL - C073 TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 Received Handshake Failure alert 5:611 emSSL - C087 TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 5:626 emSSL - C007 TLS_ECDHE_ECDSA_WITH_RC4_128_SHA Received Handshake Failure alert 5:912 emSSL - CCA9 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS 1.2 195 ms processing, 90 ms socket, 285 ms total 5:927 emSSL - C012 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA Received Handshake Failure alert 6:170 emSSL - C013 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA TLS 1.2 142 ms processing, 100 ms socket, 242 ms total 6:184 emSSL - C027 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 6:431 emSSL - C02F TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS 1.2 142 ms processing, 104 ms socket, 246 ms total 6:655 emSSL - C014 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA TLS 1.2 142 ms processing, 80 ms socket, 222 ms total 6:671 emSSL - C028 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 Received Handshake Failure alert 6:899 emSSL - C030 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS 1.2 144 ms processing, 83 ms socket, 227 ms total 6:914 emSSL - C04C TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 6:929 emSSL - C060 TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 6:946 emSSL - C04D TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 6:961 emSSL - C061 TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 6:976 emSSL - C076 TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 7:009 emSSL - C08A TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 7:025 emSSL - C077 TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 Received Handshake Failure alert 7:048 emSSL - C08B TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 7:061 emSSL - C011 TLS_ECDHE_RSA_WITH_RC4_128_SHA Received Handshake Failure alert 7:281 emSSL - CCA8 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 TLS 1.2 141 ms processing, 78 ms socket, 219 ms total 7:297 emSSL - C002 TLS_ECDH_ECDSA_WITH_RC4_128_SHA Received Handshake Failure alert 7:312 emSSL - C003 TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA Received Handshake Failure alert 7:326 emSSL - C004 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA Received Handshake Failure alert 7:339 emSSL - C025 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 7:352 emSSL - C02D TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 Received Handshake Failure alert 7:365 emSSL - C005 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA Received Handshake Failure alert 7:381 emSSL - C026 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 Received Handshake Failure alert 7:404 emSSL - C02E TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 Received Handshake Failure alert 7:430 emSSL - C04A TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 7:447 emSSL - C05E TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 7:462 emSSL - C04B TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 7:475 emSSL - C05F TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 7:491 emSSL - C074 TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 7:508 emSSL - C088 TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 7:542 emSSL - C075 TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 Received Handshake Failure alert 7:557 emSSL - C089 TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 7:572 emSSL - C00D TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA Received Handshake Failure alert 7:585 emSSL - C00E TLS_ECDH_RSA_WITH_AES_128_CBC_SHA Received Handshake Failure alert 7:601 emSSL - C029 TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 7:618 emSSL - C031 TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 Received Handshake Failure alert 7:633 emSSL - C00F TLS_ECDH_RSA_WITH_AES_256_CBC_SHA Received Handshake Failure alert 7:659 emSSL - C02A TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 Received Handshake Failure alert 7:674 emSSL - C032 TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 Received Handshake Failure alert 7:687 emSSL - C04E TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 7:704 emSSL - C062 TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 7:719 emSSL - C04F TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 7:734 emSSL - C063 TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 7:750 emSSL - C078 TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 7:767 emSSL - C08C TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 7:782 emSSL - C079 TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 Received Handshake Failure alert 7:809 emSSL - C08D TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 7:826 emSSL - C00C TLS_ECDH_RSA_WITH_RC4_128_SHA Received Handshake Failure alert 7:960 emSSL - 000A TLS_RSA_WITH_3DES_EDE_CBC_SHA TLS 1.2 50 ms processing, 83 ms socket, 133 ms total 7:977 emSSL - 0096 TLS_RSA_WITH_SEED_CBC_SHA Received Handshake Failure alert 8:121 emSSL - 002F TLS_RSA_WITH_AES_128_CBC_SHA TLS 1.2 49 ms processing, 94 ms socket, 143 ms total 8:137 emSSL - 003C TLS_RSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 8:150 emSSL - C09C TLS_RSA_WITH_AES_128_CCM Received Handshake Failure alert 8:279 emSSL - 009C TLS_RSA_WITH_AES_128_GCM_SHA256 TLS 1.2 49 ms processing, 79 ms socket, 128 ms total 8:410 emSSL - 0035 TLS_RSA_WITH_AES_256_CBC_SHA TLS 1.2 50 ms processing, 79 ms socket, 129 ms total 8:431 emSSL - 003D TLS_RSA_WITH_AES_256_CBC_SHA256 Received Handshake Failure alert 8:448 emSSL - C09D TLS_RSA_WITH_AES_256_CCM Received Handshake Failure alert 8:575 emSSL - 009D TLS_RSA_WITH_AES_256_GCM_SHA384 TLS 1.2 51 ms processing, 75 ms socket, 126 ms total 8:588 emSSL - 0041 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA Received Handshake Failure alert 8:601 emSSL - 0084 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA Received Handshake Failure alert 8:616 emSSL - 00BA TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 8:630 emSSL - 00C0 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 Received Handshake Failure alert 8:644 emSSL - C07A TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 8:658 emSSL - C07B TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 8:673 emSSL - C03C TLS_RSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 8:690 emSSL - C03D TLS_RSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 8:706 emSSL - C050 TLS_RSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 8:722 emSSL - C051 TLS_RSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 8:739 emSSL - 0004 TLS_RSA_WITH_RC4_128_MD5 Received Handshake Failure alert 8:758 emSSL - 0005 TLS_RSA_WITH_RC4_128_SHA Received Handshake Failure alert 8:759 emSSL - 15 common cipher suites out of 92 tested STOP.
「https://www.segger.com/emssl-testpage.php」ページにアクセスしてコンテンツをログコンソールに表示します。
Debug IO Console:
5:550 emSSL - Data: HTTP/1.1 200 OK..Content-Type: text/html; charset=UTF-8..Connection: close..date: Wed, 19 Feb 2025 09:07:02 GMT..server: Apache..vary: Accept-Encoding..x-xss-protection: 1; mode=block..x-content-type-options: nosniff..x-ua-compatible: IE=edge..strict-tran 5:551 emSSL - Data: sport-security: max-age=31536000; includeSubDomains; preload;..X-Cache: Miss from cloudfront..Via: 1.1 52837da9827dd735cd471158bffac49a.cloudfront.net (CloudFront)..X-Amz-Cf-Pop: NRT12-C3..X-Amz-Cf-Id: pLzWnBDylzJYUzPTW87BKZM7xjJoVenOq8RfF8hORCMNFKqfkajRH 5:552 emSSL - Data: Q==....Welcome to www.segger.com/emssl-testpage.php!...Successfully connected via SSL...Current date is 2025-02-19...Current time is 10:07:02.. 5:554 emSSL - Data received, socket closed: done STOP.
SSH(Server) Application Folder: → \Application\_Exclude\SSH
Application └ _Exclude ├ SSH ....... emSSHライブラリのデモサンプル
Sample | 説明 |
---|---|
SSH_Shell1 | SSHサーバー実装方法を示す簡単なサンプル(入力文字データをECHOします) |
Config |- SSH_Conf.h ........ SSHコンフィグレーション設定ファイル(マクロ定義) |- SSH_X_Config.c .... SSHコンフィグレーション設定ファイル(初期化設定) |- IO | |- SSH_ConfigIO.c ..... デバッグコンソールIOインターフェース設定ファイル | |- OS | |- libNo_OSLayer_RXv3_L.lib ..... OSインターフェース設定ファイル | |- Keys .................. テスト用鍵データ設定ファイル |- SSH_ServerKeys_DSA.c |- SSH_ServerKeys_ECDSA.c |- SSH_ServerKeys_EdDSA.c |- SSH_ServerKeys_RSA.c
プロジェクト設定では「\Application\_Exclude\SSH」フォルダはビルド対象外に設定しています。以下のどちらかの方法で動作確認を行うサンプルアプリケーションを選択します。
プロジェクトを再ビルドし、評価ボードに接続してデバッグセッションを開始します。
デバッガのIOコンソールのログ画面から結果を確認します。
評価ボードのLANポートをテスト用パソコンに接続して、TCP/IPネットワーク通信が正常にできることを確認してください。
ボード側にセキュアTELNETサーバーと起動して、テストPCのTELNETクライエントアプリケーション(TeraTermなど)から接続及びアクセスを確認します。
PC TeraTerm SSH Client (User name: anon / Password: 無し):
Windows MS-DOSプロンプトからの確認の場合:
Debug IO Console:
SEGGER Software Evaluation Sample Eval Board: AP-RX72N-0A (RX72N RXv3 @240MHz) Base: Baremetal (No RTOS) ------------------------------------------------ 0:002 emNet - INIT: emNet init started. Version 3.52.0 0:023 emNet - ********************************************************************* 0:024 emNet - * emNet Configuration * 0:025 emNet - ********************************************************************* 0:026 emNet - * IP_DEBUG: 2 0:026 emNet - * Memory added: 49152 bytes 0:027 emNet - * Buffer configuration: 0:028 emNet - * 12 buffers of 256 bytes 0:028 emNet - * 20 buffers of 1516 bytes 0:029 emNet - * TCP Tx/Rx window size per socket: 11680/8760 bytes 0:030 emNet - * Number of interfaces added: 1 0:031 emNet - * Interface #0 configuration: 0:032 emNet - * Type: ETH 0:032 emNet - * MTU: 1500 0:033 emNet - * HW addr.: 00:0C:7B:4E:02:08 0:033 emNet - ********************************************************************* 0:034 emNet - INIT: Link is down 0:035 emNet - DRIVER: Found PHY with Id 0x7 at addr 0x0 0:040 emNet - INIT: Init completed 2:023 emNet - LINK: Link state changed: Full duplex, 100MHz 2:024 emNet - DHCPc: Sending discover! 2:403 emNet - NDP: Link-local IPv6 addr.: FE80:0000:0000:0000:020C:7BFF:FE4E:0208 added to IFace: 0 2:409 emNet - NDP: IPv6 addr.: 2400:4050:A0E0:1F00:020C:7BFF:FE4E:0208 added to IFace: 0 3:482 emNet - DHCPc: IFace 0: Offer: IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 4:023 emNet - DHCPc: IP addr. checked, no conflicts 4:023 emNet - DHCPc: Sending Request. 4:037 emNet - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. emSSH V2.54 - Shell1 compiled Feb 19 2025 18:07:58 Copyright (c) 2015-2021 SEGGER Microcontroller GmbH www.segger.com
圧縮・解凍機能のデモサンプル