2

在不使用AD 的 2 层客户端/服务器遗留应用程序(SQL Server 2008 R2)中,我想添加基于 x.509 PKI 证书的用户身份验证和授权,而不必使用 IPSec 或类似的。

客户端可以在联系 SQL Server 之前使用现有的 STS/WS 信任服务来获取签名的 SAML 令牌。

从我目前发现的情况来看,SQL Server 的 SSL 选项确实不支持相互(2 路)身份验证。一种想法是让自定义 .NET 存储过程执行身份验证(或 SAML 令牌验证),然后“启用”用户当前的 SQL Server 登录,但肯定有更好的选择。

什么是实现这一目标的好方法?

4

2 回答 2

3

您可以使用stunnel创建经过证书身份验证的 SSL 端点,然后通过 SSL 协议使用 Windows 身份验证或内置 SQL Server 身份验证。

于 2013-03-13T17:38:13.077 回答
1

我见过几个项目试图将证书改造成旧客户端/服务器。一种方法是在服务器上设置一个负责 SSL 身份验证的服务(此服务与 SQL Server 之间的通信未加密)。

根据你有多少时间,这个解决方案有两个极端。

在最简单的情况下,SSL 服务仅检查客户端证书是否有效并由受信任的 CA 颁发。在更复杂的情况下,SSL 服务还将客户端证书映射到帐户并在 SQL Server 上启动 SQL 登录(可选择定期更改密码)。

于 2011-06-21T13:28:06.513 回答