我想我已经研究过了,但还没有找到正确的答案。这里有人说 iOS 中不支持 Kerberos,但是,以下链接和发现似乎指向相反的方向。
Apple 表示 iOS 中对 GSS API 有一定的支持。但令人惊讶的是,Apple 文档在这个主题上相当糟糕。iOS 5 中的新增功能:通用系统安全框架中有备注,参考 RFC 2743(关于 GSS API 包括 Kerberos)和头文件以获取更多详细信息。在 iOS 技术概述中可以看到一行:设备框架
当您查看时,/System/Library/Frameworks/GSS.framework/Versions/A/Headers
您可以在那里找到这些标题:
gssapi_krb5.h
gssapi_netlogon.h
gssapi_ntlm.h
gssapi_spnego.h
gssapi.h
摘自 gssapi_krb5.h:
...
/*
* kerberos mechanism specific functions
*/
struct krb5_ccache_data;
OM_uint32 GSSAPI_LIB_FUNCTION gss_krb5_copy_ccache
(OM_uint32 * /*minor*/,
gss_cred_id_t /*cred*/,
struct krb5_ccache_data * /*out*/);
OM_uint32 GSSAPI_LIB_FUNCTION
gss_krb5_ccache_name(OM_uint32 * /*minor_status*/,
const char * /*name */,
const char ** /*out_name */);
OM_uint32 GSSAPI_LIB_FUNCTION gsskrb5_register_acceptor_identity
(const char * /*identity*/);
OM_uint32 GSSAPI_LIB_FUNCTION krb5_gss_register_acceptor_identity
(const char * /*identity*/);
OM_uint32 GSSAPI_LIB_FUNCTION
gsskrb5_extract_authz_data_from_sec_context
(OM_uint32 * /*minor_status*/,
gss_ctx_id_t /*context_handle*/,
int /*ad_type*/,
gss_buffer_t /*ad_data*/);
/*
* Function declarations
*/
OM_uint32 GSSAPI_LIB_FUNCTION
gss_krb5_export_lucid_sec_context(OM_uint32 *minor_status,
gss_ctx_id_t *context_handle,
OM_uint32 version,
void **kctx);
OM_uint32 GSSAPI_LIB_FUNCTION
gss_krb5_free_lucid_sec_context(OM_uint32 *minor_status,
void *kctx);
OM_uint32 GSSAPI_LIB_FUNCTION
gss_krb5_set_allowable_enctypes(OM_uint32 *minor_status,
gss_cred_id_t cred,
OM_uint32 num_enctypes,
int32_t *enctypes);
GSSAPI_CPP_END
...
所以人们会期望必须有一些支持。由于我是新手,目前声誉低,我只能提供两个链接。尽管我已经阅读了如何编写好问题的说明,但如果您觉得有必要,请帮助我改进我的问题。