Freshly installed to test this: i-meant-that$ dpkg --status sqlcipher|grep Version Version: 3.2.0-2 i-meant-that$ sqlcipher mydata.db SQLCipher version 3.8.6 2014-08-15 11:46:33 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> pragma key = 'passphrase'; sqlite> create table memos(text, priority INTEGER); Segmentation fault
ie. one line from https://www.zetetic.net/sqlcipher/sqlcipher-api/ about actually setting a key, plus the first line of the man page example. (Bonus points for maybe adding any mention at all of "pragma key" to the man page :-) i-meant-that$ gdb --quiet -ex run --args sqlcipher mydata.db SQLCipher version 3.8.6 2014-08-15 11:46:33 sqlite> pragma key = 'passphrase'; sqlite> create table memos(text, priority INTEGER); Program received signal SIGSEGV, Segmentation fault. 0x00007ffff6fc195f in EVP_EncryptUpdate () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (gdb) where #0 0x00007ffff6fc195f in EVP_EncryptUpdate () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 #1 0x00007ffff7b22e3b in sqlcipher_openssl_cipher (ctx=0x55555579c238, mode=<optimized out>, key=0x55555579c258 "\352U\243\236\375\266\026\037\242\247\370\232\215\323\063O\362-w\367\223c\242ɑ^W_]\254#)", key_sz=<optimized out>, iv=0x555555797f98 "+\372\032\331\003O\271\246\201>\210\210\360\375W\034\253p\227\303\315\331Y\210@\252\233\\\212<\032y\177\334\330\030\231\213F\177.\365\032\222\360\063\361\067q", in=0x55555579d1b8 "\004", in_sz=960, out=0x555555797bd8 "") at sqlite3.c:16517 #2 0x00007ffff7b3347e in sqlcipher_page_cipher (ctx=ctx@entry=0x555555797b38, for_ctx=<optimized out>, pgno=1, mode=1, page_sz=<optimized out>, in=0x55555579d1b8 "\004", out=0x555555797bd8 "") at sqlite3.c:15696 #3 0x00007ffff7b45104 in sqlite3Codec (iCtx=0x555555797b38, data=0x55555579d1a8, pgno=1, mode=6) at sqlite3.c:14389 #4 0x00007ffff7b53799 in pager_write_pagelist (pPager=pPager@entry=0x555555785a78, pList=0x55555579d5e0) at sqlite3.c:48086 #5 0x00007ffff7b5b5fa in sqlite3PagerCommitPhaseOne (pPager=0x555555785a78, zMaster=zMaster@entry=0x0, noSync=noSync@entry=0) at sqlite3.c:50033 #6 0x00007ffff7b5b7cf in sqlite3PagerCommitPhaseOne (noSync=0, zMaster=0x0, pPager=<optimized out>) at sqlite3.c:49932 #7 sqlite3BtreeCommitPhaseOne (p=0x555555785558, zMaster=zMaster@entry=0x0) at sqlite3.c:57764 #8 0x00007ffff7b5f421 in sqlite3BtreeCommitPhaseOne (zMaster=0x0, p=<optimized out>) at sqlite3.c:89551 #9 vdbeCommit (p=0x55555579cb48, db=0x55555576ec58) at sqlite3.c:1586 #10 sqlite3VdbeHalt (p=p@entry=0x55555579cb48) at sqlite3.c:1993 #11 0x00007ffff7b8e926 in sqlite3VdbeExec (p=p@entry=0x55555579cb48) at sqlite3.c:71867 #12 0x00007ffff7b8f8cf in sqlite3Step (p=0x55555579cb48) at sqlite3.c:69631 #13 sqlite3_step (pStmt=<optimized out>) at sqlite3.c:4161 #14 0x000055555555a9d3 in shell_exec (db=0x55555576ec58, zSql=0x55555576ebc0 "create table memos(text, priority INTEGER);", pArg=0x7fffffffd2d0, pzErrMsg=0x7fffffffd138, xCallback=0x555555559a90 <shell_callback>) at ./src/shell.c:1360 #15 0x000055555555bbdf in process_input (p=0x7fffffffd2d0, in=0x0) at ./src/shell.c:3613 #16 0x0000555555557406 in main (argc=<optimized out>, argv=<optimized out>) at ./src/shell.c:4129