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) RTOS: SEGGER embOS ------------------------------------------------ emSecure-RSA Performance Benchmark compiled Feb 14 2025 15:14:38 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.81 | 0.74 | | 512 | 1024 | 10.95 | 0.92 | | 512 | 102400 | 27.81 | 17.79 | +----------+----------+----------+----------+ | 1024 | 0 | 57.73 | 2.08 | | 1024 | 1024 | 57.87 | 2.26 | | 1024 | 102400 | 74.70 | 19.14 | +----------+----------+----------+----------+ | 2048 | 0 | 366.40 | 7.83 | | 2048 | 1024 | 365.89 | 7.99 | | 2048 | 102400 | 382.94 | 24.84 | +----------+----------+----------+----------+ Benchmark complete STOP.
SSL Application Folder:
Application └ _Exclude ├ SSL ....... emSSLライブラリのデモサンプル
Sample | 説明 |
---|---|
SSL_OS_Scan | 指定WEBサーバー対応の暗号スイートをスキャンして結果を表示します |
SSL_OS_SimpleWebClient | SSLクライアントから指定WEBサーバーに接続します |
SSL_OS_SimpleWebServer | 簡単なセキュアWEBサーバー(HTTPS)を実装します |
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 |- lib_embOSLayer_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:
3:026 IP_Task - DHCPc: Sending Request. 3:035 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 3:061 ScanTask - Scanning cipher suites on www.google.co.jp:443 3:105 ScanTask - C008 TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA Received Handshake Failure alert 3:384 ScanTask - C009 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA TLS 1.2 200 ms processing, 78 ms socket, 278 ms total 3:394 ScanTask - C023 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 3:408 ScanTask - C0AC TLS_ECDHE_ECDSA_WITH_AES_128_CCM Received Handshake Failure alert 3:421 ScanTask - C0AE TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 Received Handshake Failure alert 3:701 ScanTask - C02B TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS 1.2 200 ms processing, 79 ms socket, 279 ms total 3:976 ScanTask - C00A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA TLS 1.2 201 ms processing, 72 ms socket, 273 ms total 3:985 ScanTask - C024 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 Received Handshake Failure alert 3:996 ScanTask - C0AD TLS_ECDHE_ECDSA_WITH_AES_256_CCM Received Handshake Failure alert 4:007 ScanTask - C0AF TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 Received Handshake Failure alert 4:282 ScanTask - C02C TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS 1.2 200 ms processing, 74 ms socket, 274 ms total 4:293 ScanTask - C048 TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 4:304 ScanTask - C05C TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 4:315 ScanTask - C049 TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 4:328 ScanTask - C05D TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 4:344 ScanTask - C072 TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 4:356 ScanTask - C086 TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 4:369 ScanTask - C073 TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 Received Handshake Failure alert 4:380 ScanTask - C087 TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 4:391 ScanTask - C007 TLS_ECDHE_ECDSA_WITH_RC4_128_SHA Received Handshake Failure alert 4:661 ScanTask - CCA9 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS 1.2 199 ms processing, 70 ms socket, 269 ms total 4:670 ScanTask - C012 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA Received Handshake Failure alert 4:890 ScanTask - C013 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA TLS 1.2 144 ms processing, 75 ms socket, 219 ms total 4:902 ScanTask - C027 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 5:126 ScanTask - C02F TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS 1.2 142 ms processing, 80 ms socket, 222 ms total 5:344 ScanTask - C014 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA TLS 1.2 143 ms processing, 74 ms socket, 217 ms total 5:359 ScanTask - C028 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 Received Handshake Failure alert 5:588 ScanTask - C030 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS 1.2 144 ms processing, 83 ms socket, 227 ms total 5:608 ScanTask - C04C TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 5:625 ScanTask - C060 TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 5:635 ScanTask - C04D TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 5:646 ScanTask - C061 TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 5:657 ScanTask - C076 TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 5:672 ScanTask - C08A TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 5:687 ScanTask - C077 TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 Received Handshake Failure alert 5:702 ScanTask - C08B TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 5:716 ScanTask - C011 TLS_ECDHE_RSA_WITH_RC4_128_SHA Received Handshake Failure alert 5:936 ScanTask - CCA8 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 TLS 1.2 143 ms processing, 76 ms socket, 219 ms total 5:946 ScanTask - C002 TLS_ECDH_ECDSA_WITH_RC4_128_SHA Received Handshake Failure alert 5:958 ScanTask - C003 TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA Received Handshake Failure alert 5:973 ScanTask - C004 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA Received Handshake Failure alert 5:988 ScanTask - C025 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 5:999 ScanTask - C02D TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 Received Handshake Failure alert 6:011 ScanTask - C005 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA Received Handshake Failure alert 6:023 ScanTask - C026 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 Received Handshake Failure alert 6:037 ScanTask - C02E TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 Received Handshake Failure alert 6:049 ScanTask - C04A TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 6:060 ScanTask - C05E TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 6:072 ScanTask - C04B TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 6:086 ScanTask - C05F TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 6:098 ScanTask - C074 TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 6:110 ScanTask - C088 TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 6:122 ScanTask - C075 TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 Received Handshake Failure alert 6:136 ScanTask - C089 TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 6:146 ScanTask - C00D TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA Received Handshake Failure alert 6:157 ScanTask - C00E TLS_ECDH_RSA_WITH_AES_128_CBC_SHA Received Handshake Failure alert 6:170 ScanTask - C029 TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 6:186 ScanTask - C031 TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 Received Handshake Failure alert 6:200 ScanTask - C00F TLS_ECDH_RSA_WITH_AES_256_CBC_SHA Received Handshake Failure alert 6:212 ScanTask - C02A TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 Received Handshake Failure alert 6:224 ScanTask - C032 TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 Received Handshake Failure alert 6:236 ScanTask - C04E TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 6:247 ScanTask - C062 TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 6:261 ScanTask - C04F TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 6:272 ScanTask - C063 TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 6:284 ScanTask - C078 TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 6:296 ScanTask - C08C TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 6:310 ScanTask - C079 TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 Received Handshake Failure alert 6:323 ScanTask - C08D TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 6:338 ScanTask - C00C TLS_ECDH_RSA_WITH_RC4_128_SHA Received Handshake Failure alert 6:465 ScanTask - 000A TLS_RSA_WITH_3DES_EDE_CBC_SHA TLS 1.2 49 ms processing, 77 ms socket, 126 ms total 6:477 ScanTask - 0096 TLS_RSA_WITH_SEED_CBC_SHA Received Handshake Failure alert 6:599 ScanTask - 002F TLS_RSA_WITH_AES_128_CBC_SHA TLS 1.2 49 ms processing, 72 ms socket, 121 ms total 6:615 ScanTask - 003C TLS_RSA_WITH_AES_128_CBC_SHA256 Received Handshake Failure alert 6:628 ScanTask - C09C TLS_RSA_WITH_AES_128_CCM Received Handshake Failure alert 6:756 ScanTask - 009C TLS_RSA_WITH_AES_128_GCM_SHA256 TLS 1.2 49 ms processing, 78 ms socket, 127 ms total 6:882 ScanTask - 0035 TLS_RSA_WITH_AES_256_CBC_SHA TLS 1.2 51 ms processing, 74 ms socket, 125 ms total 6:892 ScanTask - 003D TLS_RSA_WITH_AES_256_CBC_SHA256 Received Handshake Failure alert 6:908 ScanTask - C09D TLS_RSA_WITH_AES_256_CCM Received Handshake Failure alert 7:039 ScanTask - 009D TLS_RSA_WITH_AES_256_GCM_SHA384 TLS 1.2 51 ms processing, 78 ms socket, 129 ms total 7:048 ScanTask - 0041 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA Received Handshake Failure alert 7:058 ScanTask - 0084 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA Received Handshake Failure alert 7:067 ScanTask - 00BA TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 Received Handshake Failure alert 7:076 ScanTask - 00C0 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 Received Handshake Failure alert 7:088 ScanTask - C07A TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 Received Handshake Failure alert 7:100 ScanTask - C07B TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 Received Handshake Failure alert 7:110 ScanTask - C03C TLS_RSA_WITH_ARIA_128_CBC_SHA256 Received Handshake Failure alert 7:120 ScanTask - C03D TLS_RSA_WITH_ARIA_256_CBC_SHA384 Received Handshake Failure alert 7:132 ScanTask - C050 TLS_RSA_WITH_ARIA_128_GCM_SHA256 Received Handshake Failure alert 7:142 ScanTask - C051 TLS_RSA_WITH_ARIA_256_GCM_SHA384 Received Handshake Failure alert 7:152 ScanTask - 0004 TLS_RSA_WITH_RC4_128_MD5 Received Handshake Failure alert 7:167 ScanTask - 0005 TLS_RSA_WITH_RC4_128_SHA Received Handshake Failure alert 7:169 ScanTask - 15 common cipher suites out of 92 tested
「https://www.segger.com/emssl-testpage.php」ページにアクセスしてコンテンツをログコンソールに表示します。
Debug IO Console:
2:034 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 3:278 ClientTask - Data: HTTP/1.1 200 OK..Content-Type: text/html; charset=UTF-8..Connection: close..date: Fri, 14 Feb 2025 06:37:19 GMT..server: Apache..vary: Accept-Encoding..x-xss-protection: 1; mode=block..x-content-type-options: nosniff..x-ua-compatible: IE=edge..strict-tran 3:279 ClientTask - Data: sport-security: max-age=31536000; includeSubDomains; preload;..X-Cache: Miss from cloudfront..Via: 1.1 1b226d41bb3b440fb6606e8a954c03f4.cloudfront.net (CloudFront)..X-Amz-Cf-Pop: NRT12-C3..X-Amz-Cf-Id: DpniHZXIOVoK0ccaCcqAP8rVKM6PS6_lA1UxT_Zi9mjFDhMdKBetk 3:280 ClientTask - Data: w==....Welcome to www.segger.com/emssl-testpage.php!...Successfully connected via SSL...Current date is 2025-02-14...Current time is 07:37:19.. 3:282 ClientTask - Data received, socket closed: done
Debug IO Console:
2:134 IP_Task - DHCPc: IFace 0: Using IP: 192.168.1.18, Mask: 255.255.255.0, GW: 192.168.1.1. 2:164 WebServerTask - Awaiting connection 55:595 WebServerTask - Connection made, attempting to upgrade to secure 55:766 WebServerTask - Session is now secured, cipher suite follows 55:767 WebServerTask - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 55:781 WebServerTask - Session closed 55:781 WebServerTask - Awaiting connection
PC WebServer: https://192.168.1.18
SSH(Server) Application Folder: → \Application\_Exclude\SSH
Application └ _Exclude ├ SSH ....... emSSHライブラリのデモサンプル
Sample | 説明 |
---|---|
SSH_SCP_FS_Server | SSH SCPサーバーのデモサンプル(ファイルシステムが必要です) |
SSH_Shell1 | SSHサーバー実装方法を示す簡単なサンプル(入力文字データをECHOします) |
SSH_Shell6 | 複数クライアント接続をサポートするSSHサーバーの実装事例 |
Config |- SSH_Conf.h ........ SSHコンフィグレーション設定ファイル(マクロ定義) |- SSH_X_Config.c .... SSHコンフィグレーション設定ファイル(初期化設定) |- IO | |- SSH_ConfigIO.c ..... デバッグコンソールIOインターフェース設定ファイル | |- OS | |- lib_embOSLayer_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:
emSSH V2.54 - Shell1 compiled Feb 14 2025 15:50:25 Copyright (c) 2015-2021 SEGGER Microcontroller GmbH www.segger.com
圧縮・解凍機能のデモサンプル