LINUX.ORG.RU

Сохранение и повторное использование GSS secure context

 ,


0

1

Добрый день! Модифицирую libcurl для constrained delegation(krb5). Всё бы ничего, но каждый вызов curl приходится заново получать все токены. Для создания secure context(получение TGS тикета) вызываю метод gss_init_secure_context. Что делать в случае, когда контекст уже был проинициализирован ранее, можно его как-то использовать повторно? Пробовал сохранять initiator_context и output_token, но обойтись без вызова gss_init_secure_context не могу, ибо не работает (со старыми initiator_context, output_token). Что я упускаю?

OM_uint32 Curl_gss_init_sec_context_kcd(struct SessionHandle *data,
    OM_uint32* minor, gss_ctx_id_t *initiator_context,
    gss_name_t target_server_spn_unused, gss_OID mech_unused,
    gss_channel_bindings_t input_chan_bindings, gss_buffer_t input_token,
    gss_buffer_t output_token, const bool mutual_auth,
    OM_uint32 *ret_flags)
{
.../* много кода*/
major = gss_init_sec_context (minor, delegated_cred_handle,
                                  initiator_context, target, &mech_krb5,
                                  GSS_C_REPLAY_FLAG | GSS_C_SEQUENCE_FLAG,
                                  GSS_C_INDEFINITE, input_chan_bindings,
                                  GSS_C_NO_BUFFER/*input_token*/,
                                  NULL, output_token, ret_flags, &time_rec);

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.