Perl Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Perl Examples

Quick Start
Perl Unicode
Perl Byte Array
Perl Certs
Perl Email
Perl Encryption
Perl FTP
HTML-to-XML
Perl HTTP
Perl IMAP
Perl MHT
Perl MIME
Perl RSA
Perl S/MIME
Perl Signatures
Perl Socket
Perl Spider
Perl Tar
Perl Upload
Perl XML
Perl XMP
Perl Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA

Unreleased...
Bzip2
LZW
Bz2
Icon

 

 

 

 

 

 

 

HMAC SHA1 for Amazon S3

Demonstrates the HMAC SHA1 computation required by the Amazon S3 web service.

Chilkat Module for Perl 5.8.*

Chilkat Module for Perl 5.10.*

use chilkat;

#  This example uses sample data from:
#  http://docs.amazonwebservices.com/AmazonS3/2006-03-01/RESTAuthentication.html
$strToSign = "GET" . "\n" . "\n" . "\n" . "Tue, 27 Mar 2007 19:36:42 +0000" . "\n" . "/johnsmith/photos/puppy.jpg";

$crypt = new chilkat::CkCrypt2();

$success = $crypt->UnlockComponent("Anything for 30-day trial.");
if ($success != 1) {
    #  Unlock Failed.
    print $crypt->lastErrorText() . "\n";
    exit;
}

#  We want SHA1 for the HMAC hash algorithm:
$crypt->put_HashAlgorithm("sha1");

$AWSAccessKeyId = "0PN5J17HBGZHT7JJ3X82";
$AWSSecretAccessKey = "uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o";

#  Set the HMAC secret key:
$crypt->SetHmacKeyString($AWSSecretAccessKey);

#  By setting the charset = "utf-8", the string will be converted
#  to utf-8 (internal to the Chilkat component) prior to signing:
$crypt->put_Charset("utf-8");

#  Indicate that Base64 output is desired:
$crypt->put_EncodingMode("base64");

$signature = $crypt->hmacStringENC($strToSign);
print $crypt->lastErrorText() . "\r\n";

#  Display the signature as part of the HTTP Authorization header:
print "Authorization: AWS " . $AWSAccessKeyId
     . ":" . $signature . "\r\n";

print "Expected:      AWS 0PN5J17HBGZHT7JJ3X82:xXjDGYUmKxnwqr5KXNPGldn5LbA=" . "\r\n";
 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2007 Chilkat Software, Inc. All Rights Reserved.