如何进行Kerberos客户端身份验证.Net api 7.1

时间:2016-05-25 10:10:40

标签: solace

我使用安慰作为客户端和服务器通信的中间件。 我想从无法转移到kerberos身份验证。

服务器是unix并且已配置用于kerberos身份验证。 客户端是.Net桌面gui应用程序。并且有多个用户。

我对客户端kerberos身份验证有一些疑问。

  1. 我们是否需要keytab文件连接到服务器,keytab文件应该对所有用户都是通用的,或者应该使用每个用户凭据创建keytab文件。
  2. 如果密码更改怎么办?
  3. 我们是否需要让用户安装java来获取kinit或krb5?
  4. 客户端需要哪些设置/配置?
  5. 提前致谢..!

1 个答案:

答案 0 :(得分:1)

您需要将一个密钥表添加到Solace的/ keytabs目录中。要在添加文件后将密钥表选项卡中的密钥配置为Solace的已注册密钥表,请输入以下Kerberos Keytab身份验证CONFIG CLI命令:

solace(config-kerberos keytab)# add-keytab <keytab-filename> <index>

keytab文件的数量完全取决于您的设置。通常,每个IP地址都有一个密钥表文件对所有用户都是通用的,但如果您的设置需要更多控制,则最多可以添加48个密钥记录。

更改Kerberos密码后,您需要重新创建并重新添加所有密钥记录。

客户端使用Kerberos身份验证的客户端API要求包括使用适当的Java分发或为所使用的消息传递API安装Kerberos库。对于.NET应用程序,使用随Windows一起分发的SSPI,因此不需要Java。

客户端应用程序还必须为相应的会话将身份验证方案设置为Kerberos。在.NET中,这是通过 SessionProperties.AuthenticationSchemeKRB 会话属性完成的。您还可以使用 Session.Properties.KRBServiceName 会话属性设置服务主体名称。