Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Ultra Light - C/C++ プログラミング » アプリケーション開発 » Palm OS 用 Ultra Light アプリケーションの開発 » Ultra Light Palm アプリケーションのステータスの管理 (旧式)

 

Palm OS の暗号化キーの保存、取り出し、クリア

Palm OS では、ユーザが別のアプリケーションに切り替えると、アプリケーションがシステムによって自動的に終了します。そのため、Palm OS 上で Ultra Light データベースを暗号化する場合は、アプリケーションに切り替えるたびにキーの再入力を要求するプロンプトが表示されます。

♦  暗号化キーの再入力を回避するには、次の手順に従います。
  1. Palm の機能として、暗号化キーを動的メモリに保存します。

    機能には、作成者と機能番号のインデックスが付けられます。アプリケーションでは、各自の作成者 ID または NULL を、機能番号または NULL と一緒に渡して、暗号化キーを保存したり取り出したりできます。

  2. アプリケーションで、再起動時にキーを取り出すようにプログラミングします。

    注意

    デバイスのリセット時は暗号化キーがクリアされるため、そのときはキーの取り出しに失敗します。この場合、キーの再入力を要求するプロンプトが表示されます。

    次のサンプル・コード (Embedded SQL) は、暗号化キーの保存と取り出し方法を示しています。

    startupRoutine() {
       ul_char buffer[MAX_PWD];
    
       if( !ULRetrieveEncryptionKey(
              buffer, MAX_PWD, NULL, NULL  ) ){
          // prompt user for key
          userPrompt( buffer, MAX_PWD );
    
          if( !ULSaveEncryptionKey( buffer, NULL, NULL ) ) {
             // inform user save failed
          }
       }
    }
  3. メニュー項目を使用して、暗号化キーをクリアしてデバイスがセキュリティで保護されるようにします。

    次のコード・サンプルは、この目的を達成する方法を示しています。

    case MenuItemClear
        ULClearEncryptionKey( NULL, NULL );
        break;
参照