当前位置: 首页 > 面试题库 >

SQL Server数据库中的WCF证书存储

鲁乐
2023-03-14
问题内容

我有一个SQL数据库,用于存储WCF服务和其他服务的客户端证书。(X509等)。我想使用此存储(而不是“我的”)来检索此证书(而不是在web.config中声明),然后将其用于WCF。

我试图在此网站和Google上进行搜索,但似乎没有太大帮助。

目前我在做

 var targetEndpoint = new EndpointAddress(targetLogicalAddress, targetIdentity);
 MyTransportPortTypesClient proxy = new MyTransportPortTypesClient("WebConfigSection", targetEndpoint);

因此,理想情况下,我想摆脱“ WebConfigSection”,而传递某种经过证书签名的WCF对象。

有人知道如何实现这一目标吗?

我终于解决了这个,这就是我的做法。(我将分享我的经验,这样每个人都可以使用它)这无需使用任何计算机CertificateStore。它纯粹是从数据库到客户端代理。

我已经创建了X509Certificate2对象并分配了物理文件(在byte []中)。如果密码受密码保护,您也可以输入密码。

然后,我已将证书分配给我的代理客户端。就像是 :

proxy.ClientCredentials.ClientCertificate = __MyCertificate

现在,当我在app.config中被互联网化时,我已经操纵了clientproxy。就是这样。所有这些属性将在您的代理对象中。

希望这可以帮助。


问题答案:

AFAIK这至少是非常困难的,如果没有失败的话是不可能的。WCF使用SChannel
SSPI提供程序
进行身份验证,并且此SSPI提供程序将仅从SChannel
CSP提供程序
加载证书。为了使用数据库中的证书,必须先将证书加载到PROV_RSA_SCHANNEL
CSP密钥库中,然后将该密钥库的证书上下文传递给AcquireCredentialsHandle。例如,这就是数据库镜像使用存储在数据库中的证书进行身份验证的方式。尽管也可以在托管代码中执行所有这些步骤,但是我不确定是否可以将它们插入WCF:我 希望 是这样,但可能并非出于胆小。



 类似资料:
  • 本文向大家介绍详解SqlServer数据库中Substring函数的用法,包括了详解SqlServer数据库中Substring函数的用法的使用技巧和注意事项,需要的朋友参考一下 功能:返回字符、二进制、文本或图像表达式的一部分 语法:SUBSTRING ( expression, start, length ) 1、substring(操作的字符串,开始截取的位置,返回的字符个数) 例如: 从'

  • 本文向大家介绍SqlServer 数据库 三大  范式,包括了SqlServer 数据库 三大  范式的使用技巧和注意事项,需要的朋友参考一下 1 概述 一般地,在进行数据库设计时,应遵循三大原则,也就是我们通常说的三大范式,即第一范式要求确保表中每列的原子性,也就是不可拆分;第二范式要求确保表中每列与主键相关,而不能只与主键的某部分相关(主要针对联合主键),主键列与非主键列遵循完全函数依赖关系,

  • null 大多数示例使用makecert或New-SelfSignedCertificate创建证书。在这种情况下,对于生产应用程序,自签名证书是否有问题?这仅供应用程序使用Azure Key Vault进行身份验证,客户机在浏览器中不会看到这一点。 如果在这种情况下,自签名证书仍然不受欢迎,那么从受信任的权威机构购买证书是否与购买SSL/TLS证书的过程相同?甚至是同一类型的证书吗?

  • 本文向大家介绍查询Sqlserver数据库死锁的一个存储过程分享,包括了查询Sqlserver数据库死锁的一个存储过程分享的使用技巧和注意事项,需要的朋友参考一下 使用sqlserver作为数据库的应用系统,都避免不了有时候会产生死锁, 死锁出现以后,维护人员或者开发人员大多只会通过sp_who来查找死锁的进程,然后用sp_kill杀掉。利用sp_who_lock这个存储过程,可以很方便的知道哪个

  • 我正在尝试使用Jeter针对SQLServer 2008 R2数据库设置基本负载测试。但是,当仅使用一个用户运行测试时,我收到错误。 响应消息:com。微软sqlserver。jdbc。SQLServerException:用户XXX登录失败。ClientConnectionId:。 这是我的JDBC连接配置数据库URL: jdbc: sqlserver://Serverame: 1433; Da

  • 本文向大家介绍SQLServer数据库的各种管理方法,包括了SQLServer数据库的各种管理方法的使用技巧和注意事项,需要的朋友参考一下 本文适用范围:全面阐述SQLServer数据库的各种操作,分虚拟主机和服务器两种情况。 这篇文章比较长,请使用下面的提纲访问。 提纲 一、虚拟主机 1.安装在线企业管理器     2.注册远程企业管理器(SQL2000)     3.注册远程企业管理器(SQL