SQLServer 2008中的代码安全(七) 证书加密

证书同时包含公钥和密钥,前者用来加密,后者解密。SQL Server可以生成它自己的证书,也可以从外部文件或程序集载入。因为可以备份然后从文件中载入它们,证书比非对称密钥更易于移植,而非对称密钥却做不到。这意味着可以在数据库中方便地重用同一个证书。

注意:证书和非对称密钥同样的消耗资源。


我们看一组例子:


示例一、创建数据库证书


创建数据库证书:CREATE SYMMETRIC KEY  (http://msdn.microsoft.com/en-us/library/ms187798.aspx

复制代码 代码如下:

USE DB_Encrypt_Demo
GO
–创建证书
CREATE CERTIFICATE cert_Demo –证书名称
ENCRYPTION BY PASSWORD = ‘asdfG!!!’ –加密证书的密码
WITH SUBJECT = ‘DB_Encrypt_Demo Database Encryption Certificate’,–证书主题
START_DATE = ‘3/14/2011′, EXPIRY_DATE = ’10/20/2012’–起止日期
GO



示例二、查看数据库中的证书


使用目录视图sys.certificates(http://msdn.microsoft.com/en-us/library/ms189774.aspx)来查看。


复制代码 代码如下:

–查看当前数据库中的证书
use DB_Encrypt_Demo
go


–查看证书
SELECT name, pvt_key_encryption_type_desc, issuer_name
FROM sys.certificates


—-结果返回
/*
name    pvt_key_encryption_type_desc    issuer_name
cert_Demo    ENCRYPTED_BY_PASSWORD    DB_Encrypt_Demo Database Encryption Certificate
*/

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/database/235854.html

(0)
上一篇 2022年1月24日 19:33
下一篇 2022年1月24日 19:33

相关推荐

发表回复

登录后才能评论