创建加密数据库(译文)
10.5支持本地数据库加密(即Db2 native database encryption),但是目前文档还不够完善,没有提供具体的命令和参考配置以方便用户快速入手。
正如Db2信息中心所说,创建一个本地加密库,有两个必不可少的步骤:
创建keystore文件
使用'ENCRYPT'选项创建数据库
下面是具体的步骤及命令:
1. 创建keystore文件
1.1 使用stash文件创建keystore文件
$ /home2/db2ins35/sqllib/gskit/bin/gsk8capicmd_64 -keydb -create -db ccardskeystore.p12 -pw Str0ngPassw0rd -strong -type pkcs12 -stash
1.2 下面是创建的stash文件和keystore文件
/home2/db2ins35/tst_encrypt> ls -al
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
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341