Аутентификация Kerberos на iPhone - PullRequest
2 голосов
/ 15 января 2012

Есть ли библиотеки для аутентификации kerberos для iPhone? У Heimdal нет сборки для iOS.

Есть ли примеры использования Kerberos для аутентификации на сервере Active Directory?

Ответы [ 3 ]

1 голос
/ 27 марта 2012

iOS 5 (может быть, даже раньше) имеет GSS.framework, который поддерживает Kerberos.

Хотя я не совсем уверен, как его использовать.У Apple есть пример кода здесь: https://developer.apple.com/library/mac/samplecode/KerberosGSS/

1 голос
/ 15 января 2012

Если Apple не предоставляет GSS-API для / на iOS, вам не повезло. Вам следует обратиться к форумам разработчиков iOS на веб-сайте Apple. Простой поиск в Google показывает, что поддержки нет.

0 голосов
/ 17 июля 2013

Что ж, 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
...

Так что можно ожидать, что должна быть некоторая поддержка.Поскольку я НАСТОЯЩИЙ новичок и сейчас у меня низкая репутация, я могу предоставить только две ссылки.

...