0

我在 java 中使用 GSS 实现 S4U 协议。由于 java 7 不支持此协议,我计划在 C 中的 gss api 方法上编写一个 JNI 包装器,这些方法在 java 中没有等效项。

作为其中的一部分,我正在gss_acquire_cred_impersonate_name上编写 JNI,如 http://k5wiki.kerberos.org/wiki/Projects/Services4User#gss_acquire_cred_impersonate_name中所述。

此方法采用先前填充的输入凭据句柄 (gss_cred_id_t) 并填充输出凭据句柄。在我的 java 代码中,我创建了一个 GSSCredential,我需要以 gss_cred_id_t 的形式将其传递给 C 函数,并将输出凭据句柄从 gss_cred_id_t 转换回 GSSCredential 以供进一步使用。

如何将 GSSCredential 对象导出到字节数组,反之亦然,以便与 C 函数通信?

谢谢

4

2 回答 2

0

当我遇到类似问题时,我使用了https://github.com/cconlon/kerberos-java-gssapi并通过包装器完成了我所有的 GSS-API 工作。(但这只是完全放弃 Java 之前的一个临时阶段。)

于 2014-05-06T14:46:49.937 回答
0
  1. 您应该更喜欢 Java 8 代码,它具有内置支持。
  2. Export 为我们提供了 GSS-API 的自定义扩展,因此不可用。Globus JGSS 实现支持此扩展。
于 2013-09-01T14:55:04.217 回答