分类目录归档:管理系统[ERP]

mssql sqlserver sys.asymmetric_keys系统对象简介说明


摘要:
获取指定数据库下的”非对称密钥”的相关信息
实验环境:sql server 2008 R2



sys.asymmetric_keys 对象功能说明

返回指定数据库下的“非对称密钥信息”,每个非对称密钥返回一行数据



sys.asymmetric_keys 对象返回值说明

列名

列类型

说明
name

sysname

非对称加密的名称
principal_id

int

非对称加密的编号
asymmetric_key_id

int

密钥的辅助编号
pvt_key_encryption_type

char(2)

密钥的加密类型
NA = 未加密
MK = ENCRYPTED_BY_MASTER_KEY
PW = ENCRYPTED_BY_PASSWORD
SK = ENCRYPTED_BY_SERVICE_MASTER_KEY
pvt_key_encryption_type_desc

nvarchar(60)

密钥类型的描述文件
NO_PRIVATE_KEY
ENCRYPTED_BY_MASTER_KEY
ENCRYPTED_BY_PASSWORD
ENCRYPTED_BY_SERVICE_MASTER_KEY
thumbprint

varbinary(32)

密钥SHA-1编码
algorithm

char(2)

密钥算法
1R = 512 位元 RSA
2R = 1024 位元 RSA
3R = 2048 位元 RSA
algorithm_desc

nvarchar(60)

密钥使用算法的详细描述文件
RSA_512
RSA_1024
RSA_2048
key_length

int

sid

varbinary(85)

密钥登入SID,可为NULL
string_sid

nvarchar(128)

public_key

varbinary(max)

公钥内容
attested_by

nvarchar(260)

系统内部使用
provider_type

nvarchar(120)

密码编译提供者类型
cryptographic_provider_guid

uniqueidentifier

密钥提供的GUID ,可为NULL
cryptographic_provider_algid

sql_variant

密钥编译提供者的算法识别码,可为NULL

mssql sqlserver 删除”非对称密钥”的方法分享


摘要:
下文讲述使用sql脚本的方法删除“非对称密钥”的方法,如下所示:
实验环境:sql server 2008 R2


在sqserver中,使用sql脚本剔除非对称密钥需要使用以下脚本:

  drop  ASYMMETRIC KEY  '密钥名称'
   go

例:
删除密钥”testKey”

     drop ASYMMETRIC KEY testKey
	 go;
  

mssql sqlserver 修改非对称密钥相关属性的方法分享


摘要:
下文讲述使用关键字Alter ASYMMETRIC KEY 关键字修改非对称密钥属性的方法分享,如下所示:
实验环境:sqlserver 2008 R2



ALTER ASYMMETRIC KEY 关键字简介

ALTER ASYMMETRIC KEY 关键字功能:
修改非对称加密的相关属性

ALTER ASYMMETRIC KEY 关键字语法说明:

ALTER ASYMMETRIC KEY Asym_Key_Name

::= | REMOVE PRIVATE KEY

::=
WITH PRIVATE KEY ( [ , ] )

::=
ENCRYPTION BY PASSWORD = ‘strongPassword’
| DECRYPTION BY PASSWORD = ‘oldPassword’
——-参数说明——
Asym_Key_Name:
非对称密钥定义时所使用的 密钥名称
REMOVE PRIVATE KEY
将非对称密钥中的私钥删除,保留公钥。
WITH PRIVATE KEY
修改私钥保护方式
ENCRYPTION BY PASSWORD =’strongPassword’
修改私钥所对应的新密码,输入的密码必须符合windows的密码策略。
DECRYPTION BY PASSWORD =’oldPassword’
私钥所对应的旧密码



ALTER ASYMMETRIC KEY 关键字举例应用

例1:
修改私钥密码

     
ALTER ASYMMETRIC KEY testKey    
    WITH PRIVATE KEY (  
    DECRYPTION BY PASSWORD = '',  
    ENCRYPTION BY PASSWORD = '');  
GO 


ALTER ASYMMETRIC KEY testKey    
    WITH PRIVATE KEY (  
    DECRYPTION BY PASSWORD = 'abcwewe_AL',  
    ENCRYPTION BY PASSWORD = 'abcwewe_AL123');  
GO 
  

例2:
删除非对称密钥testKey中的私钥,保留公钥

    ALTER ASYMMETRIC KEY testKey REMOVE PRIVATE KEY;  
     GO  

例3:
从私钥中删除密码保护

    OPEN MASTER KEY;  
      ALTER ASYMMETRIC KEY PacificSales09 WITH PRIVATE KEY (  
       DECRYPTION BY PASSWORD = '' );  
     GO
	 


OPEN MASTER KEY;  
      ALTER ASYMMETRIC KEY PacificSales09 WITH PRIVATE KEY (  
       DECRYPTION BY PASSWORD = 'abcwewe_AL123' );  
     GO