perldoc > Authen::SASL::Perl::GSSAPI(3pm)

📛 NAME

Authen::SASL::Perl::GSSAPI - GSSAPI (Kerberosv5) Authentication class

🚀 Quick Reference

Use CaseCommandDescription
🔑 Initialize SASL client with GSSAPI use Authen::SASL qw(Perl); $sasl = Authen::SASL->new(mechanism => 'GSSAPI'); $sasl->client_start($service, $host); Starts client-side GSSAPI authentication using Kerberos credentials
🔗 Bind to LDAP with GSSAPI $ldap->bind(sasl => $sasl); Performs LDAP bind using SASL GSSAPI mechanism
🔐 Use custom GSSAPI credentials $sasl = Authen::SASL->new(mechanism => 'GSSAPI', callback => { pass => $mycred }); Provide a GSSAPI::Cred object via the pass callback

📋 SYNOPSIS

  use Authen::SASL qw(Perl);

  $sasl = Authen::SASL->new( mechanism => 'GSSAPI' );

  $sasl = Authen::SASL->new( mechanism => 'GSSAPI',
                             callback => { pass => $mycred });

  $sasl->client_start( $service, $host );

📝 DESCRIPTION

This method implements the client part of the GSSAPI SASL algorithm, as described in RFC 2222 section 7.2.1 resp. draft-ietf-sasl-gssapi-XX.txt.

With a valid Kerberos 5 credentials cache (aka TGT) it allows to connect to service@host given as the first two parameters to Authen::SASL's client_start() method. Alternatively, a GSSAPI::Cred object can be passed in via the Authen::SASL callback hash using the pass key.

âš ī¸ Note: This module does not currently implement a SASL security layer following authentication. Unless the connection is protected by other means, such as TLS, it will be vulnerable to man-in-the-middle attacks. If security layers are required, then the Authen::SASL::XS GSSAPI module should be used instead.

📞 CALLBACK

The callbacks used are:

💡 EXAMPLE

 #! /usr/bin/perl -w

 use strict;

 use Net::LDAP 0.33;
 use Authen::SASL 2.10;

 # -------- Adjust to your environment --------
 my $adhost      = 'theserver.bla.net';
 my $ldap_base   = 'dc=bla,dc=net';
 my $ldap_filter = '(&(sAMAccountName=BLAAGROL))';

 my $sasl = Authen::SASL->new(mechanism => 'GSSAPI');
 my $ldap;

 eval {
     $ldap = Net::LDAP->new($adhost,
                             'die')
       or  die "Cannot connect to LDAP host '$adhost': '$@'";
     $ldap->bind(sasl => $sasl);
 };

 if ($@) {
     chomp $@;
     die   "\nBind error         : $@",
           "\nDetailed SASL error: ", $sasl->error,
           "\nTerminated";
 }

 print "\nLDAP bind() succeeded, working in authenticated state";

 my $mesg = $ldap->search(base   => $ldap_base,
                          filter => $ldap_filter);

 # -------- evaluate $mesg

âš™ī¸ PROPERTIES

The properties used are:

🔗 SEE ALSO

Authen::SASL, Authen::SASL::Perl

âœī¸ AUTHORS

Written by Simon Wilkinson, with patches and extensions by Achim Grolms and Peter Marschall.

Please report any bugs, or post any suggestions, to the perl-ldap mailing list <perl-ldap AT perl.org>

ÂŠī¸ COPYRIGHT

Copyright (c) 2006 Simon Wilkinson, Achim Grolms and Peter Marschall. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Authen::SASL::Perl::GSSAPI(3pm)
📛 NAME 🚀 Quick Reference 📋 SYNOPSIS 📝 DESCRIPTION
📞 CALLBACK
💡 EXAMPLE
âš™ī¸ PROPERTIES
🔗 SEE ALSO âœī¸ AUTHORS ÂŠī¸ COPYRIGHT

Generated by phpman v4.9.26-5-g7740029 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-08-21 02:00 @216.73.216.45
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!

^_top_^