Настройка ключа шифрования для базы данных (Sybase Unwired Platform) - PullRequest
7 голосов
/ 21 декабря 2011

В настоящее время я могу установить ключ шифрования для своей локальной базы данных, выполнив следующие действия:

 if(![MyDemo_MyDemoDB databaseExists]){
        SUPConnectionProfile* cp = [MyDemo_MyDemoDB
                                    getConnectionProfile];
        [cp setEncryptionKey:@"Yourkey"];
        [MyDemo_MyDemoDB closeConnection];
    }

Итак, когда мой пользователь успешно входит в систему (предоставив правильный пароль для SUPDataVault ), я получаю следующую ошибку:

ERROR sup_sqlite_db_ConnectionWrapperImpl.m:62 dynamicStatement: There is an exception file is encrypted or is not a database
2011-12-21 13:32:05.112 MyDemo10389:11603 MBODebugLogger: SUPPersistenceException SUPPersistenceException from find: -- sup_sqlite_db_StatementWrapperImpl: There is an exception null value for sqlite3_stmt
2011-12-21 13:32:05.225 MyDemo10389:11603 *** Terminating app due to uncaught exception 'SUPPersistenceException', reason: 'SUPPersistenceException from find: -- sup_sqlite_db_StatementWrapperImpl: There is an exception null value for sqlite3_stmt'

Я думаю, что происходит то, что хотя база данных была успешно создана, она все еще зашифрована. Как мне расшифровать это?

1 Ответ

4 голосов
/ 26 декабря 2011

На самом деле это довольно просто, мне просто нужно было делать это каждый раз, когда я начинаю сеанс:

SUPConnectionProfile* cp = [MyDemo_MyDemoDB
                                    getConnectionProfile];
[cp setEncryptionKey:@"Yourkey"];
...