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

SQL Anywhere 12.0.1 (Deutsch) » UltraLite – Java-Programmierung » UltraLiteJ-Anwendungsentwicklung

 

Verschlüsseln von Daten in einer UltraLite Java Edition-Datenbank

Die Verschlüsselung sorgt für eine sichere Repräsentation der Daten, während die Verschleierung eine einfache Sicherheitsebene darstellt, die ein zufälliges Anzeigen des Datenbankinhalts verhindern soll. In UltraLite Java Edition-Datenbanken gespeicherte Daten werden nicht standardmäßig verschlüsselt.

Sie müssen ein eigenes Verschlüsselungs-Steuerelement angeben, um Daten in einer UltraLite Java Edition-Datenbank zu verschlüsseln. Das Verschlüsselungs-Steuerelement wird mit der ConfigPersistent.setEncryption-Methode festgelegt. Diese akzeptiert ein EncryptionControl-Objekt zum Verschlüsseln und Entschlüsseln von Seiten.

Hinweis

Verschlüsselung ist für nicht-beständige Datenbankspeicher nicht verfügbar.

Mit der EncryptionControl-Schnittstelle können Sie in einer BlackBerry-Anwendung API-basierte Verschlüsselungs- oder Verschleierungsmethoden für UltraLite Java Edition-Datenbanken erstellen und anpassen.

Voraussetzungen

Eine vorhandene Java-Anwendung für ein BlackBerry-Smartphone, das die UltraLiteJ-API implementiert.

Kontext und Bemerkungen

Viele.

 Verschlüsseln oder Verschleiern von Daten in einer UltraLite Java Edition-Datenbank
  1. Erstellen Sie eine Klasse, die die EncryptionControl-Schnittstelle implementiert.

    Im folgenden Beispiel wird eine neue Klasse namens Encryptor erstellt, die die encryption-Schnittstelle implementiert:

    static class Encryptor
        implements EncryptionControl
    {
  2. Implementieren Sie die initialize-, encrypt- und decrypt-Methoden in der neuen Klasse.

    Ihre Klasse sollte wie folgt aussehen:



    static class Encryptor
        implements EncryptionControl
    {
        /** Decrypt a page stored in the database.
         * @param page_no the number of the page being decrypted
         * @param src the encrypted source page which was read from the database
         * @param tgt the decrypted page (filled in by method)
         */
        public void decrypt( int page_no, byte[] src, byte[] tgt )
            throws ULjException
        {
            // Your decryption method goes here.
        }
        
        /** Encrypt a page stored in the database.
         * @param page_no the number of the page being encrypted
         * @param src the unencrypted source
         * @param tgt the encrypted target page which will be written to the database (filled in by method)
         */
        public void encrypt( int page_no, byte[] src, byte[] tgt )
            throws ULjException
        {
            // Your encryption method goes here.
        }
        
        /** Initialize the encryption control with a password.
         * @param password the password
         */
        public void initialize(String password)
            throws ULjException
        {
            // Your initialization method goes here.
        }
    }
  3. Aktualisieren Sie Ihren API-Code so, dass die neue Verschlüsselungs-Steuerelementklasse vor dem Herstellen der Verbindung mit der Datenbank angegeben wird.

    Sie können das Verschlüsselungs-Steuerelement mit der Configuration.setEncryption-Methode angeben. Das folgende Beispiel zeigt, wie Sie das Verschlüsselungs-Steuerelement festlegen. Dabei wird vorausgesetzt, dass ein Configuration-Objekt mit dem Namen "config" vorhanden ist, das Ihre Datenbank referenziert:

    config.setEncryption(new Encryptor());

Ergebnisse

Daten, die in der Datenbank hinzugefügt oder geändert wurden, werden jetzt verschlüsselt oder verschleiert, je nachdem, wie Sie die Methoden initialize, encrypt und decrypt implementieren.

Nächste Schritte

Keine.

Das Whitepaper UltraLiteJ Security on BlackBerry Devices enthält Informationen über die Sicherheitsoptionen und -probleme bei UltraLiteJ-Anwendungen auf BlackBerry-Geräten, einschließlich der positiven und negativen Auswirkungen der integrierten Sicherheitsfunktionen des Geräts auf Anwendungen. Weitere Hinweise finden Sie im Whitepaper [external link] UltraLiteJ Security on BlackBerry Devices.

 Siehe auch