ldap_sasl_bind_s的cred参数的格式是什么?

时间:2013-05-20 14:42:26

标签: ldap kerberos openldap

将ldap_sasl_bind_s与Kerberos凭据文件(/ tmp / krb5cc_id)一起使用时,您对ber值使用了什么?它是文件的名称吗?它是文件的内容吗?

例如(这似乎不起作用):

struct berval cred;

cred.bv_val = "/tmp/kr5cc_id";  
cred.bv_len = strlen(cred.bv_val);  
ldap_sasl_bind_s(ld, NULL, NULL, &cred, NULL, NULL, NULL);  

1 个答案:

答案 0 :(得分:0)

cred参数包含从实现特定SASL机制的层获得的不透明数据。比方说,如果您使用的是GSSAPI SASL机制,那么您应该调用某个库(例如Cyrus SASL)并在其与ldap_sasl_bind()之间挖掘数据。就ldap_sasl_bind()而言,数据是不透明的:它只是将其嵌入到它生成的绑定消息中,并从它接收的“正在进行中的绑定”消息中读出。

This answer提供了相当完整的解释。它特定于Microsoft的SSPI(实现GSSAPI(Kerberos V5),NTLMGSS-SPNEGODIGEST-MD5)。