On 4/5/06 10:41, Scott Hegel <[EMAIL PROTECTED]> wrote: > Hi, > > I am wondering if someone can help me out. I am trying to use the > Net::LDAP module on perl 5.8 on a HP-UX 11.i server. I have installed > the module and its dependent. > > I have the following in my script: > > #!/opt/perl/bin > > use Net::LDAP; > use warnings; > > $ad = Net::LDAP->new("ldap://my.company.com") > or die("Could not connect to LDAP server."); > > $mesg = $ad->bind("jimbob"); > > $mesg->code && die $mesg->error; > > $ad->unbind > > When I run this I get: > This server requires a TLS connection at perlad.pl line 11, <DATA> line > 225. > > I am not sure why it is needs TLS for the connection. Anyone have any > thoughts.
It is likely that the administrator of the server doesn't permit plaintext authentication over an insecure connection. You should probably fix your bind call a bit. It isn't clear what a single argument of "jimbob" actually means; the bind method expects a DN as the first argument and it isn't a DN, so Net::LDAP might be trying to do a simple (ie plaintext) bind with a bad DN and no password... Try doing a SASL bind instead, something like this (untested): my $sasl = Authen::SASL->new(mechanism => 'DIGEST-MD5 CRAM-MD5', callback => { user => 'jimbob', pass => 'secret' }); $mesg = $ad->bind('', sasl => $sasl, version => 3); See the Authen::SASL docs for more details. You can also create a TLS connection too, either using start_tls() or by using LDAPS. Cheers, Chris