[英]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: 从
NSString
为const 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.