2013-05-13 2 views
1

Я пишу программу, которая будет подключаться к LDAP-серверу, работающему на порту 10389. Я могу успешно привязываться к серверу с пользователем dn и паролем.Связывание с ldap-сервером с помощью «ldaps»

Вот мой пример программы:

#include "windows.h" 
#include "winldap.h" 
#include "stdio.h" 

int main(int argc, char* argv[]) 
{ 
    LDAP* pLdapConnection = NULL; 
    ULONG version = LDAP_VERSION3; 
    ULONG connectSuccess = 0; 
    INT returnCode = 0; 

    pLdapConnection = ldap_init("localhost", 10389); 

    if (pLdapConnection == NULL) 
    { 
     printf("ldap_init failed"); 
     goto error_exit; 
    } 
    else 
     printf("ldap_init succeeded \n"); 

    // Set the version to 3.0 (default is 2.0). 
    returnCode = ldap_set_option(pLdapConnection, 
           LDAP_OPT_PROTOCOL_VERSION, 
           (void*)&version); 

    if(returnCode != LDAP_SUCCESS) 
    { 
     printf("SetOption Error:%0X\n", returnCode); 
     goto error_exit; 
    } 

    // Connect to the server. 
    connectSuccess = ldap_connect(pLdapConnection, NULL); 

    if(connectSuccess == LDAP_SUCCESS) 
     printf("ldap_connect succeeded \n"); 
    else 
    { 
     printf("ldap_connect failed with 0x%x.\n",connectSuccess); 
     goto error_exit; 
    } 

    printf("Binding ...\n"); 

    returnCode = ldap_bind_s(pLdapConnection, "dc=mojo,dc=com", "mojo", LDAP_AUTH_SIMPLE); 

    if (returnCode == LDAP_SUCCESS) 
     printf("The bind was successful"); 
    else{ 
     printf("ldap_bind_s failed with 0x%x.\n",returnCode); 
     goto error_exit; 
    } 

    // Cleanup and exit. 
    ldap_unbind(pLdapConnection); 
    return 0; 

    // On error cleanup and exit. 
    error_exit: 
     ldap_unbind(pLdapConnection); 
     return -1; 
} 

Как подключиться через "ldaps://"? LDAPS сервер прослушивает порт 10636.

enter image description here

Что необходимо для моей программы для подключения к «LDAPS» на порт 10636?

ответ

1

LDAPS - это протокол, используемый для подключения к ldap через SSL-туннель. Это означает, что вам нужно будет начать сеанс SSL (или TLS в зависимости от версии ldap), а затем использовать свой протокол ldap для подключения к серверу.

Вот протокол LDAPS для окон: http://support.microsoft.com/kb/938703

Смежные вопросы