1

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

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

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

  1. 我们是否需要 keytab 文件来连接服务器,并且 keytab 文件应该对所有用户通用,或者应该使用每个用户的凭据创建 keytab 文件。
  2. 如果密码更改了怎么办?
  3. 我们是否需要要求用户安装 java 才能获得 kinit 或 krb5?
  4. 客户端需要什么设置/配置?

提前致谢..!

4

1 回答 1

1

您确实需要将 keytab 添加到 Solace 的 /keytabs 目录。要在添加文件后将密钥从 keytab 选项卡配置到 Solace 的已注册密钥表,请输入以下 Kerberos Keytab Authentication CONFIG CLI 命令:

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

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

当您更改 Kerberos 密码时,您需要重新创建并重新添加所有密钥表。

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

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

于 2016-05-25T15:01:25.000 回答