首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网络上的非对称密钥创建

网络上的非对称密钥创建
EN

Stack Overflow用户
提问于 2012-01-30 13:51:52
回答 2查看 3.5K关注 0票数 6

我正在尝试使用asymmetric key通过add an assembly连接到SQL2008中的数据库。

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

代码语言:javascript
复制
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

这将在本地实例上工作,但是通过我们接收的网络;The certificate, asymmetric key, or private key file does not exist or has invalid format.

我可能错误地认为我应该首先添加密钥,我是否应该添加程序集,然后按照CREATE ASYMMETRIC KEY ManagedAsymmetricKey FROM ASSEMBLY [workingDB].[dbo].[Managed]的思路进行一些操作?

EN

回答 2

Stack Overflow用户

发布于 2012-07-04 00:10:17

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

使用安全的程序集运行您的create assembly语句(即使程序集需要UNSAFE将非对称密钥从程序集删除

  • drop your assembly

  • create a execution)

  • create a permission_set

  • 授予login unsafe程序集权限

从0x4D5A创建程序集托管授权dbo ....WITH PERMISSION_SET = SAFE从程序集创建非对称密钥ManagedAsymmetricKey管理删除程序集管理从非对称密钥ManagedAsymmetricKey创建登录CLRLogin将不安全的程序集授予CLRLogin

票数 5
EN

Stack Overflow用户

发布于 2012-01-30 14:11:23

FROM FILE =总是从SQL Server的角度来看的。您需要将证书复制到数据库服务器上的本地驱动器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9059912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档