NAME
Net::BEEP::Lite::TLSProfile - A TLS tuning profile for Net::BEEP::Lite.
SYNOPSIS
use Net::BEEP::Lite;
use Net::BEEP::Lite::TLSProfile;
my $c_session = Net::BEEP::Lite::beep_connect(Host => localhost,
                                            Port => 12345) ||
  die "could not connect to beep peer: $!";
if ($c_session->has_remote_profile($Net::BEEP::Lite::TLSProfile::URI)) {
  my $tls_profile = new Net::BEEP::Lite::TLSProfile(SSL_verify_mode => 0x01);
  $tls_profile->start_TLS($c_session) || die "could not establish TLS";
  print "peer certificate info: ", $session->{peer_certificate}, "\n";
}
---
use Net::BEEP::Lite;
use Net::BEEP::Lite::TLSProfile;
my $other_profile = ...;
my $tls_profile = Net::BEEP::Lite::TLSProfile
    (Server        => 1,
     Callback      => sub { my $session = shift;
                            $session->add_local_profile($other_profile); },
     SSL_cert_file => 'my_cert.pem',
     SSL_key_file  => 'my_key.pem',
     SSL_ca_file   => 'my_ca.pem',
     SSL_passwd_db => sub { "some-passwd" });
Net::BEEP::Lite::beep_listen(Port     => 12345,
                             Method   => 'fork',
                             Profiles => [ $tls_profile ]);
ABSTRACT
<Net::BEEP::Lite::TLSProfile> is a TLS profile for BEEP as defined by RFC 3080 for use with the Net::BEEP::Lite module.
DESCRIPTION
This is a TLS profile for BEEP as defined by RFC 3080 for use with the Net::BEEP::Lite module. It can be use for both the initiator and listener roles. This module relies heavily on the IO::Socket::SSL module for the TLS implementation.
CONSTRUCTOR
- new( ARGS )
 - 
This is the main constructor. It takes a named parameter lists as its argument. See the
initializemethod of a list of valid parameters. It also takes the named parameters ofNet::BEEP::Lite::BaseProfile. 
METHODS
- initialize( ARGS )
 - 
Initialze this profile. This is generally called by the constructor. It takes the following named parameters:
- Server
 - 
Set this to true when this profile is being used by a BEEP peer in the Listener role. This will tell the underlying TLS negotation that it is the server. If this isn't set correctly, the TLS negotiation will fail.
 - Callback
 - 
If this is set to a sub reference, this subroutine will be called upon a successful TLS negotiation. It will be passed a reference to the session as its first and only argument. For example, this might be used to change the local profiles offered.
 - SSL_*
 - 
These are parameters that are understood by
IO::Socket::SSL::new. You will probably want to use a few of them: SSL_cert_file, SSL_key_file, and SSL_verify_mode are typical. 
 - start_TLS($session)
 - 
This is the main routine for the client side. This will initiate a request for TLS. It will return undef if it failed, setting $errstr, true if it succeeded. The peer certificate info will be placed in $session->{peer_certificate}.
 
SEE ALSO
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 444:
 =over without closing =back