使用SQL Server进行基于PKI的x.509证书身份验证?

时间:2011-06-15 07:23:39

标签: sql-server authentication x509certificate pki

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

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

从我到目前为止发现的SQL Server的SSL选项不支持相互(双向)身份验证。一种想法是让自定义.NET存储过程执行身份验证(或SAML令牌验证),之后用户当前的SQL Server登录“启用”,但肯定必须有更好的选项。

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

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

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