简体   繁体   English

无法使用LDAP SSL连接服务器?

[英]Unable to connect server using LDAP SSL?

Below is the code i am using for connecting LDAPS server 以下是我用于连接LDAPS服务器的代码

/* Open LDAP Connection */
if( ldap_initialize( &ld, ldapServer ) )//Success Response
{
    perror( "ldap_initialize" );
    //return( OTHER );
}

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"server"
                                                     ofType:@"pem"];
int version =  LDAP_VERSION3;
ldap_set_option(ld, LDAP_OPT_PROTOCOL_VERSION, &version);    
ldap_set_option(ld, LDAP_OPT_X_TLS_CACERTFILE, NULL);
ldap_set_option(ld, LDAP_OPT_X_TLS_CERTFILE,(__bridge const void *)(filePath));
ldap_set_option(ld, LDAP_OPT_X_TLS_KEYFILE, (__bridge const void *)(filePath));
rc = ldap_start_tls_s(ld, NULL, NULL);  //Failure Response (LDAP_INAPPROPRIATE_MATCHING)
if( rc != LDAP_SUCCESS ){
    printf("start tls failed.\n");
    exit(0);
}

here ldap_start_tls_s is giving Failure Response (LDAP_INAPPROPRIATE_MATCHING) ldap_start_tls_s在此给出故障响应(LDAP_INAPPROPRIATE_MATCHING)

any one can help me where i done mistake. 任何人都可以在我做错地方帮助我。

If you find any useful links pleases do share with me. 如果您找到任何有用的链接,请与我分享。

Casting from NSString to const void * cannot be right: NSStringconst void *不能正确:

ldap_set_option(ld, LDAP_OPT_X_TLS_CERTFILE,(__bridge const void *)(filePath));
ldap_set_option(ld, LDAP_OPT_X_TLS_KEYFILE, (__bridge const void *)(filePath));

You probably want: 您可能想要:

ldap_set_option(ld, LDAP_OPT_X_TLS_CERTFILE, [filePath UTF8String]);
ldap_set_option(ld, LDAP_OPT_X_TLS_KEYFILE,  [filePath UTF8String]);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM