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.
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.
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 { |
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. } } |
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()); |
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 UltraLiteJ Security on BlackBerry Devices.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |