建立加密數據庫(譯文)

10.5支持本地數據庫加密(即Db2 native database encryption),可是目前文檔還不夠完善,沒有提供具體的命令和參考配置以方便用戶快速入手。web


正如Db2信息中心所說,建立一個本地加密庫,有兩個必不可少的步驟:sql

  1. 建立keystore文件
    數據庫

  2. 使用'ENCRYPT'選項建立數據庫api


下面是具體的步驟及命令:ide


1. 建立keystore文件加密

   1.1 使用stash文件建立keystore文件spa

        $ /home2/db2ins35/sqllib/gskit/bin/gsk8capicmd_64 -keydb -create -db ccardskeystore.p12 -pw Str0ngPassw0rd -strong -type pkcs12 -stashorm

   1.2 下面是建立的stash文件和keystore文件blog

/home2/db2ins35/tst_encrypt> ls -alci

total 16

drwxr-xr-x    2 db2ins35 db2iadm         256 Nov 16 09:45 .

drwxr-xr-x   12 db2ins35 db2iadm        4096 Nov 16 09:45 ..

-rw-------    1 db2ins35 db2iadm           0 Nov 16 09:37 ccardskeystore.p12

-rw-------    1 db2ins35 db2iadm         129 Nov 16 09:37 ccardskeystore.sth

   1.3 更新dbm cfg使用上上面建立的keystore文件: 

/home2/db2ins35/tst_encrypt> db2 "update dbm cfg using keystore_type pkcs12 keystore_location /home2/db2ins35/tst_encrypt/ccardskeystore.p12"

DB20000I  The UPDATE DATABASE MANAGER CONFIGURATION command completed

successfully.

/home2/db2ins35/tst_encrypt> db2 get dbm cfg | grep -i keystore

Keystore type                           (KEYSTORE_TYPE) = PKCS12

Keystore location                   (KEYSTORE_LOCATION) = /home2/db2ins35/tst_encrypt/ccardskeystore.p12


2. 使用'ENCRYPT'選項建立數據庫

注意:

1) 使用'ENCRYPT'建立數據庫時,Db2會自動爲該數據庫產生master key並加入到keystore文件

2)  目前不支持對現有數據的加密。若是要對一個現有的數據庫加密,能夠先備份,而後使用加密選項把備份恢復到一個新庫。

  2.1  建立加密數據庫

 /home2/db2ins35/tst_encrypt> db2 create db mydb encrypt

DB20000I  The CREATE DATABASE command completed successfully.

 2.2  你能夠看到自動設置的ENCRLIB和ENCROPTS值:

/home2/db2ins35/tst_encrypt> db2 get db cfg for mydb | grep -i encr

Encryption Library for Backup                 (ENCRLIB) = libdb2encr.a

Encryption Options for Backup                (ENCROPTS) = CIPHER=AES:MODE=CBC:KEY LENGTH=256

Encrypted database                                      = YES

原文連接:
https://www.ibm.com/developerworks/community/blogs/IMSupport/entry/Hands_on_example_for_a_new_encrypted_database?lang=en

相關文章
相關標籤/搜索