证书同时包含公钥和密钥,前者用来加密,后者解密。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)