last update: 2025/01
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-RX65N-0A (RX65N RXv2 @120MHz) Base: Baremetal (No RTOS) ------------------------------------------------ (c) 2014-2018 SEGGER Microcontroller GmbH www.segger.com emSecure-RSA Performance Benchmark compiled Jan 24 2025 17:51:13 Compiler: CC-RX V3.06.00 System: Processor speed = 120.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 | 23.74 | 1.59 | | 512 | 1024 | 24.10 | 2.03 | | 512 | 102400 | 64.75 | 42.71 | +----------+----------+----------+----------+ | 1024 | 0 | 122.89 | 4.31 | | 1024 | 1024 | 123.22 | 4.74 | | 1024 | 102400 | 163.86 | 45.45 | +----------+----------+----------+----------+ | 2048 | 0 | 756.00 | 15.69 | | 2048 | 1024 | 755.00 | 16.08 | | 2048 | 102400 | 795.50 | 56.72 | +----------+----------+----------+----------+ 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_RXv2_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:013 emNet - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 4:056 emSSL - Scanning cipher suites on www.google.co.jp:443 4:083 emSSL - C008 TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA Received Handshake Failure alert 4:610 emSSL - C009 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA TLS 1.2 444 ms processing, 82 ms socket, 526 ms total 4:627 emSSL - C023 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 4:642 emSSL - C0AC TLS_ECDHE_ECDSA_WITH_AES_128_CCM Received Handshake Failure alert 4:657 emSSL - C0AE TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 Received Handshake Failure alert 5:185 emSSL - C02B TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS 1.2 444 ms processing, 83 ms socket, 527 ms total 5:717 emSSL - C00A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA TLS 1.2 447 ms processing, 83 ms socket, 530 ms total 5:731 emSSL - C024 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 Received Handshake Failure alert 5:746 emSSL - C0AD TLS_ECDHE_ECDSA_WITH_AES_256_CCM Received Handshake Failure alert 5:760 emSSL - C0AF TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 Received Handshake Failure alert 6:290 emSSL - C02C TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS 1.2 447 ms processing, 81 ms socket, 528 ms total 6:304 emSSL - C048 TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 6:318 emSSL - C05C TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 6:332 emSSL - C049 TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 6:346 emSSL - C05D TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 6:358 emSSL - C072 TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 6:373 emSSL - C086 TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 6:389 emSSL - C073 TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 Received Handshake Failure alert 6:406 emSSL - C087 TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 6:421 emSSL - C007 TLS_ECDHE_ECDSA_WITH_RC4_128_SHA Received Handshake Failure alert 6:951 emSSL - CCA9 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS 1.2 447 ms processing, 82 ms socket, 529 ms total 6:966 emSSL - C012 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA Received Handshake Failure alert 7:369 emSSL - C013 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA TLS 1.2 318 ms processing, 84 ms socket, 402 ms total 7:383 emSSL - C027 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 7:787 emSSL - C02F TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS 1.2 318 ms processing, 85 ms socket, 403 ms total 8:184 emSSL - C014 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA TLS 1.2 317 ms processing, 78 ms socket, 395 ms total 8:197 emSSL - C028 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 Received Handshake Failure alert 8:602 emSSL - C030 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS 1.2 320 ms processing, 83 ms socket, 403 ms total 8:617 emSSL - C04C TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 8:633 emSSL - C060 TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 8:649 emSSL - C04D TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 8:663 emSSL - C061 TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 8:676 emSSL - C076 TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 8:693 emSSL - C08A TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 8:709 emSSL - C077 TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 Received Handshake Failure alert 8:725 emSSL - C08B TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 8:740 emSSL - C011 TLS_ECDHE_RSA_WITH_RC4_128_SHA Received Handshake Failure alert 9:142 emSSL - CCA8 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 TLS 1.2 316 ms processing, 85 ms socket, 401 ms total 9:156 emSSL - C002 TLS_ECDH_ECDSA_WITH_RC4_128_SHA Received Handshake Failure alert 9:172 emSSL - C003 TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA Received Handshake Failure alert 9:187 emSSL - C004 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA Received Handshake Failure alert 9:204 emSSL - C025 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 9:219 emSSL - C02D TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 Received Handshake Failure alert 9:232 emSSL - C005 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA Received Handshake Failure alert 9:245 emSSL - C026 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 Received Handshake Failure alert 9:260 emSSL - C02E TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 Received Handshake Failure alert 9:273 emSSL - C04A TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 9:289 emSSL - C05E TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 9:305 emSSL - C04B TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 9:319 emSSL - C05F TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 9:332 emSSL - C074 TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 9:347 emSSL - C088 TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 9:362 emSSL - C075 TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 Received Handshake Failure alert 9:376 emSSL - C089 TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 9:390 emSSL - C00D TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA Received Handshake Failure alert 9:405 emSSL - C00E TLS_ECDH_RSA_WITH_AES_128_CBC_SHA Received Handshake Failure alert 9:421 emSSL - C029 TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 9:439 emSSL - C031 TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 Received Handshake Failure alert 9:454 emSSL - C00F TLS_ECDH_RSA_WITH_AES_256_CBC_SHA Received Handshake Failure alert 9:471 emSSL - C02A TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 Received Handshake Failure alert 9:486 emSSL - C032 TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 Received Handshake Failure alert 9:500 emSSL - C04E TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 9:516 emSSL - C062 TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 9:531 emSSL - C04F TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 9:544 emSSL - C063 TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 9:557 emSSL - C078 TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 9:571 emSSL - C08C TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 9:586 emSSL - C079 TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 Received Handshake Failure alert 9:601 emSSL - C08D TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 9:616 emSSL - C00C TLS_ECDH_RSA_WITH_RC4_128_SHA Received Handshake Failure alert 9:801 emSSL - 000A TLS_RSA_WITH_3DES_EDE_CBC_SHA TLS 1.2 106 ms processing, 78 ms socket, 184 ms total 9:818 emSSL - 0096 TLS_RSA_WITH_SEED_CBC_SHA Received Handshake Failure alert 10:000 emSSL - 002F TLS_RSA_WITH_AES_128_CBC_SHA TLS 1.2 106 ms processing, 75 ms socket, 181 ms total 10:015 emSSL - 003C TLS_RSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 10:029 emSSL - C09C TLS_RSA_WITH_AES_128_CCM Received Handshake Failure alert 10:221 emSSL - 009C TLS_RSA_WITH_AES_128_GCM_SHA256 TLS 1.2 106 ms processing, 85 ms socket, 191 ms total 10:410 emSSL - 0035 TLS_RSA_WITH_AES_256_CBC_SHA TLS 1.2 106 ms processing, 81 ms socket, 187 ms total 10:426 emSSL - 003D TLS_RSA_WITH_AES_256_CBC_SHA256 Received Handshake Failure alert 10:439 emSSL - C09D TLS_RSA_WITH_AES_256_CCM Received Handshake Failure alert 10:628 emSSL - 009D TLS_RSA_WITH_AES_256_GCM_SHA384 TLS 1.2 109 ms processing, 78 ms socket, 187 ms total 10:645 emSSL - 0041 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA Received Handshake Failure alert 10:660 emSSL - 0084 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA Received Handshake Failure alert 10:674 emSSL - 00BA TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 10:690 emSSL - 00C0 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 Received Handshake Failure alert 10:703 emSSL - C07A TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 10:719 emSSL - C07B TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 10:732 emSSL - C03C TLS_RSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 10:749 emSSL - C03D TLS_RSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 10:766 emSSL - C050 TLS_RSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 10:781 emSSL - C051 TLS_RSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 10:794 emSSL - 0004 TLS_RSA_WITH_RC4_128_MD5 Received Handshake Failure alert 10:807 emSSL - 0005 TLS_RSA_WITH_RC4_128_SHA Received Handshake Failure alert 10:808 emSSL - 15 common cipher suites out of 92 tested STOP.
「https://www.segger.com/emssl-testpage.php」ページにアクセスしてコンテンツをログコンソールに表示します。
Debug IO Console:
4:012 emNet - DHCPc: IFace 0: Using IP: 192.168.1.11, Mask: 255.255.255.0, GW: 192.168.1.1. 5:358 emSSL - Data: HTTP/1.1 200 OK..date: Fri, 24 Jan 2025 08:49:00 GMT..server: Apache..vary: Accept-Encoding..x-xss-protection: 1; mode=block..x-content-type-options: nosniff..x-ua-compatible: IE=edge..content-type: text/html; charset=UTF-8..strict-transport-security: max 5:359 emSSL - Data: -age=31536000; includeSubDomains; preload;..connection: close....Welcome to www.segger.com/emssl-testpage.php!...Successfully connected via SSL...Current date is 2025-01-24...Current time is 09:49:00.. 5:361 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_RXv2_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:
4:158 emSSH - ***************************************************************** 4:158 emSSH - * emSSH Configuration * 4:158 emSSH - ***************************************************************** 4:158 emSSH - * 4:158 emSSH - * Environment: 4:158 emSSH - * SSH_VERSION: 25400 [2.54] 4:158 emSSH - * SSH_DEBUG: 2 4:158 emSSH - * 4:158 emSSH - * Configuration: 4:158 emSSH - * SSH_CONFIG_MAX_SESSIONS: 2 4:158 emSSH - * SSH_CONFIG_MAX_CHANNELS: 2 4:158 emSSH - * 4:158 emSSH - * Key exchange algorithms: 4:158 emSSH - * curve25519-sha256 4:158 emSSH - * curve25519-sha256@libssh.org 4:158 emSSH - * curve448-sha512 4:158 emSSH - * diffie-hellman-group1-sha1 4:158 emSSH - * diffie-hellman-group14-sha1 4:158 emSSH - * diffie-hellman-group14-sha256 4:158 emSSH - * ecdh-sha2-nistp256 4:158 emSSH - * ecdh-sha2-nistp384 4:158 emSSH - * ecdh-sha2-nistp521 4:158 emSSH - * diffie-hellman-group-exchange-sha1 4:158 emSSH - * diffie-hellman-group-exchange-sha256 4:158 emSSH - * 4:158 emSSH - * Public key algorithms: 4:158 emSSH - * ssh-dss 4:158 emSSH - * rsa-sha2-512 4:158 emSSH - * rsa-sha2-256 4:158 emSSH - * ssh-rsa 4:158 emSSH - * ecdsa-sha2-nistp256 4:158 emSSH - * ecdsa-sha2-nistp384 4:158 emSSH - * ecdsa-sha2-nistp521 4:158 emSSH - * ssh-ed25519 4:158 emSSH - * 4:158 emSSH - * Encryption algorithms: 4:158 emSSH - * arcfour 4:158 emSSH - * arcfour128 4:158 emSSH - * arcfour256 4:158 emSSH - * 3des-cbc 4:158 emSSH - * 3des-ctr 4:158 emSSH - * aes256-cbc 4:158 emSSH - * aes192-cbc 4:158 emSSH - * aes128-cbc 4:158 emSSH - * aes128-ctr 4:158 emSSH - * aes192-ctr 4:158 emSSH - * aes256-ctr 4:158 emSSH - * aes128-gcm@openssh.com 4:158 emSSH - * aes256-gcm@openssh.com 4:158 emSSH - * chacha20-poly1305@openssh.com 4:158 emSSH - * camellia128-cbc 4:158 emSSH - * camellia192-cbc 4:158 emSSH - * camellia256-cbc 4:158 emSSH - * camellia128-ctr 4:158 emSSH - * camellia192-ctr 4:158 emSSH - * camellia256-ctr 4:158 emSSH - * blowfish-cbc 4:158 emSSH - * blowfish-ctr 4:158 emSSH - * twofish128-cbc 4:158 emSSH - * twofish192-cbc 4:158 emSSH - * twofish256-cbc 4:158 emSSH - * twofish128-ctr 4:158 emSSH - * twofish192-ctr 4:158 emSSH - * twofish256-ctr 4:158 emSSH - * twofish-cbc 4:158 emSSH - * cast128-cbc 4:158 emSSH - * cast128-ctr 4:158 emSSH - * rijndael-cbc@lysator.liu.se 4:158 emSSH - * 4:158 emSSH - * MAC algorithms: 4:158 emSSH - * hmac-md5 4:158 emSSH - * hmac-md5-96 4:158 emSSH - * hmac-sha1 4:158 emSSH - * hmac-sha1-96 4:158 emSSH - * hmac-sha2-256 4:158 emSSH - * hmac-sha2-512 4:158 emSSH - * hmac-ripemd160@openssh.com 4:158 emSSH - * hmac-md5-etm@openssh.com 4:158 emSSH - * hmac-sha1-etm@openssh.com 4:158 emSSH - * hmac-sha2-256-etm@openssh.com 4:158 emSSH - * hmac-sha2-512-etm@openssh.com 4:158 emSSH - * hmac-ripemd160-etm@openssh.com 4:158 emSSH - * 4:158 emSSH - * Compression algorithms: 4:158 emSSH - * none 4:158 emSSH - * 4:158 emSSH - ***************************************************************** emSSH V2.54 - Shell1 compiled Jan 20 2025 16:36:10 Copyright (c) 2015-2021 SEGGER Microcontroller GmbH www.segger.com
圧縮・解凍機能のデモサンプル