通过网络创建非对称密钥

问题描述 投票:6回答:2

我正在尝试使用qazxsw poi将qazxsw poi添加到SQL 2008中的数据库中。

我们使用十六进制字符串添加程序集(仅通过sql查询向程序集添加程序集)

add an assembly

这将通过我们收到的网络在本地实例上工作; asymmetric key

我可能错误地认为我应该首先添加密钥,我是否应该添加组件然后按照USE [master] GO IF NOT EXISTS (SELECT * from sys.asymmetric_keys where name = 'ManagedAsymmetricKey') BEGIN CREATE ASYMMETRIC KEY ManagedAsymmetricKey FROM FILE = 'C:\Managed.dll' CREATE LOGIN CLRLogin FROM ASYMMETRIC KEY ManagedAsymmetricKey GRANT UNSAFE ASSEMBLY TO CLRLogin END GO USE [$dbName] GO CREATE ASSEMBLY [Managed] AUTHORIZATION [dbo] FROM 0x4D5A.... WITH PERMISSION_SET = UNSAFE GO 的方式做一些事情?

sql-server sql-server-2008 assemblies public-key
2个回答
5
投票

您可以使用以下步骤使其正常工作:

  • 使用SAFE permission_set运行您的create assembly语句(即使程序集需要UNSAFE执行)
  • 从程序集创建非对称密钥
  • 放下你的装配
  • 从非对称密钥创建登录
  • 授予登录不安全的程序集权限 The certificate, asymmetric key, or private key file does not exist or has invalid format.

2
投票

CREATE ASYMMETRIC KEY ManagedAsymmetricKey FROM ASSEMBLY [workingDB].[dbo].[Managed]总是从SQL Server的角度出发。您可以将证书复制到数据库服务器上的本地驱动器。

© www.soinside.com 2019 - 2024. All rights reserved.