如何正确使用gss_import_name?

发布于 2024-10-02 14:03:04 字数 361 浏览 10 评论 0原文

我在客户端使用 gss_import_name 使用 GSS_C_NT_HOSTBASED_SERVICE 来获取像 service/server-host@realm 这样的主体。

我这样打电话,

gss_import_name(状态,“服务”, GSS_C_HOSTBASED_SERVICE,输出名称);

但我得到的主体是 service/local-machine@realm。从手册页中我了解到它内部使用 krb5_sname_to_principal 来获取主机名,如果为 NULL,则采用本地主机名称。现在我的问题是如何将正确的主机名(服务器主机)传递给 gss-api 来创建主体?

I am using gss_import_name on the client side using GSS_C_NT_HOSTBASED_SERVICE to get a principal like service/server-host@realm.

I am calling like this,

gss_import_name(status, "SERVICE",
GSS_C_HOSTBASED_SERVICE, output_name);

But i get the principal like, service/local-machine@realm. From the man page I have learned it internally uses krb5_sname_to_principal to get the hostname, if NULL it takes the localhost name. Now my question is how do pass the correct host name (server-host) to gss-api to create the principal?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只为守护你 2024-10-09 14:03:04

我忽略了它。获取“service/server-host@realm”形式的主体
我应该打电话

gss_导入_名称(状态,
“服务@服务器主机”,
GSS_C_HOSTBASED_SERVICE,输出名称);

而不是

gss_import_name(状态,“服务”,
GSS_C_HOSTBASED_SERVICE,输出名称);

如果主机名丢失,则假定为本地主机名。

I overlooked into it. To get the principal in the form 'service/server-host@realm'
I should call

gss_import_name(status,
"service@server-host",
GSS_C_HOSTBASED_SERVICE, output_name);

instead of

gss_import_name(status, "service",
GSS_C_HOSTBASED_SERVICE, output_name);

If the host name is missing then it assumes to be the local host name.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文