Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
服务器验证允许远程客户端对数据库服务器的标识进行核实。数字签名和证书字段校验应一同使用以实现服务器验证。
一个数据库服务器证书包含一个或多个用于保持数据完整性和防止篡改的数字签名。下面是创建数字签名的步骤:
一个对证书执行的算法会生成一个唯一值或散列值。
此散列值是使用签名证书或证书颁发机构的专用密钥进行加密的。
加密的散列值(称为数字签名)嵌入到证书中。
数字签名可以自签名或由企业根证书或证书颁发机构签名。
如果客户端应用程序与数据库服务器联系,并且双方均配置为使用传送层安全,则服务器就会将其证书的副本发送到客户端。客户端使用此证书中包含的服务器公共密钥解密证书的数字签名,计算出证书的一个新散列值,并比较这两个值。如果这两个值匹配,则可以确认服务器证书的完整性。
如果您使用经 FIPS 认证的 RSA 加密,则必须使用 RSA 生成证书。
当使用全局签名证书时,每个客户端必须验证证书字段的值,以避免信任已被同一证书颁发机构签署给其它客户端的证书。这一问题可以通过要求客户端测试证书的标识部分中相应字段的值予以解决。证书颁发机构必须保证其签署的所有证书中的标识信息的准确性。
当使用 createcert 实用程序创建证书时,请输入组织、组织单位和公用名字段的值。请使用相应的客户端连接参数校验这些字段。如果您使用第三方证书颁发机构对证书进行全局签名,强烈建议您校验证书字段。
组织 [组织] 字段对应于 certificate_company 加密协议选项。
组织单位 [组织单位] 字段对应于 certificate_unit 加密协议选项。
公用名 [公用名] 字段对应于 certificate_name 加密协议选项。
如果在 Encryption 连接参数中指定了 TLS,则此选项是唯一必需的协议选项。客户端使用 trusted_certificates 加密协议选项指定受信任的数据库服务器证书。受信任证书可以是服务器的自签名证书、公共企业根证书或属于商业证书颁发机构的证书。