=encoding utf8

=head1 NAME

XML::Compile::WSS::Sign::HMAC - WSS Signing with HMAC

=head1 INHERITANCE

 XML::Compile::WSS::Sign::HMAC
   is a XML::Compile::WSS::Sign

=head1 SYNOPSIS

  # either
  use XML::Compile::WSS::Util qw/DSIG_HMAC_SHA1/;
  my $sign = XML::Compile::WSS::Sign->new(type => DSIG_HMAC_SHA1);

  # or
  use XML::Compile::WSS::Sign::HMAC;
  my $token = XML::Compile::WSS::Sign::HMAC->new(
     hashing => 'SHA1', ...);

=head1 DESCRIPTION

See L<documentation in the base class|XML::Compile::WSS::Sign/"DESCRIPTION">.
 
=head1 METHODS

See L<documentation in the base class|XML::Compile::WSS::Sign/"METHODS">.
 
=head2 Constructors

See L<documentation in the base class|XML::Compile::WSS::Sign/"Constructors">.
 
=over 4

=item XML::Compile::WSS::Sign::HMAC-E<gt>B<fromConfig>(HASH|PAIRS)

See L<XML::Compile::WSS::Sign/"Constructors">

=item XML::Compile::WSS::Sign::HMAC-E<gt>B<new>(OPTIONS)

 -Option     --Defined in             --Default
  key                                   <required>
  sign_method  XML::Compile::WSS::Sign  DSIG_RSA_SHA1

=over 2

=item key => KEY|L<XML::Compile::WSS::SecToken::EncrKey|XML::Compile::WSS::SecToken::EncrKey> object

=item sign_method => TYPE

=back

=back

=head2 Attributes

See L<documentation in the base class|XML::Compile::WSS::Sign/"Attributes">.
 
=over 4

=item $obj-E<gt>B<key>()

=item $obj-E<gt>B<signMethod>()

See L<XML::Compile::WSS::Sign/"Attributes">

=back

=head2 Handlers

See L<documentation in the base class|XML::Compile::WSS::Sign/"Handlers">.
 
=over 4

=item $obj-E<gt>B<builder>()

See L<XML::Compile::WSS::Sign/"Handlers">

=item $obj-E<gt>B<checker>()

See L<XML::Compile::WSS::Sign/"Handlers">

=back

=head1 DETAILS

Read DETAILS in L<XML::Compile::WSS::Sign|XML::Compile::WSS::Sign> first.

See L<documentation in the base class|XML::Compile::WSS::Sign/"DETAILS">.
 
=head2 Signing, the generic part

See L<documentation in the base class|XML::Compile::WSS::Sign/"Signing, the generic part">.
 
=head2 Defend against man-in-the-middle

See L<documentation in the base class|XML::Compile::WSS::Sign/"Defend against man-in-the-middle">.
 
=head2 Signing with HMAC

=head3 Limitations

The signing algorithm uses Digest::HMAC_SHA1.  Only SHA1 hashing is
supported.

=head1 SEE ALSO

This module is part of XML-Compile-WSS-Signature distribution version 2.01,
built on October 11, 2013. Website: F<http://perl.overmeer.net/xml-compile/>

Other distributions in this suite:
L<XML::Compile>,
L<XML::Compile::SOAP>,
L<XML::Compile::SOAP12>,
L<XML::Compile::SOAP::Daemon>,
L<XML::Compile::SOAP::WSA>,
L<XML::Compile::C14N>,
L<XML::Compile::WSS>,
L<XML::Compile::WSS::Signature>,
L<XML::Compile::Tester>,
L<XML::Compile::Cache>,
L<XML::Compile::Dumper>,
L<XML::Compile::RPC>,
L<XML::Rewrite>
and
L<XML::LibXML::Simple>.

Please post questions or ideas to the mailinglist at
F<http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/xml-compile> .
For live contact with other developers, visit the C<#xml-compile> channel
on C<irc.perl.org>.

=head1 LICENSE

Copyrights 2012-2013 by [Mark Overmeer]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See F<http://www.perl.com/perl/misc/Artistic.html>

