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

SQL Anywhere 11.0.1 (Deutsch) » UltraLite - C- und C++-Programmierung » Anwendungsentwicklung » UltraLite-Anwendungen für Palm OS entwickeln » Status in UltraLite-Palm-Anwendungen aufrechterhalten (nicht mehr weiterentwickelt)

 

Chiffrierschlüssel auf Palm OS speichern, abrufen und löschen

Auf Palm OS fahren Anwendungen automatisch herunter, wenn ein Benutzer zu einer anderen Anwendung wechselt. Wenn Sie eine UltraLite-Datenbank auf Palm OS verschlüsseln, wird der Endanwender jedes Mal, wenn er zu der Anwendung zurück wechselt, aufgefordert, den Schlüssel erneut einzugeben.

♦  So vermeiden Sie die wiederholte Eingabe des Chiffrierschlüssels
  1. Speichern Sie den Chiffrierschlüssel im dynamischen Speicher als Palm-Funktion.

    Funktionen werden anhand des Creators und einer Funktionsnummer indiziert. Anwender können dann ihre Creator ID oder NULL zusammen mit der Funktionsnummer oder NULL eingeben, um den Chiffrierschlüssel zu speichern und abzurufen.

  2. Programmieren Sie die Anwendung so, dass sie den Schlüssel beim Neustart abruft.

    Hinweis

    Da der Chiffrierschlüssel bei jedem Zurücksetzen des Geräts gelöscht wird, schlägt der Abruf des Schlüssels zu diesem Zeitpunkt fehl. Der Benutzer wird in diesem Fall aufgefordert, den Schlüssel erneut einzugeben.

    Das folgende Codebeispiel (Embedded SQL) zeigt, wie Sie den Chiffrierschlüssel speichern und abrufen:

    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. Verwenden Sie eine Menüoption, um den Chiffrierschlüssel zu löschen und das Gerät somit zu sichern.

    Das folgende Codebeispiel zeigt die Methode, wie Sie dieses Ziel erreichen:

    case MenuItemClear
        ULClearEncryptionKey( NULL, NULL );
        break;
Siehe auch