1

我想我已经研究过了,但还没有找到正确的答案。这里有人说 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
...

所以人们会期望必须有一些支持。由于我是新手,目前声誉低,我只能提供两个链接。尽管我已经阅读了如何编写好问题的说明,但如果您觉得有必要,请帮助我改进我的问题。

4

0 回答 0