Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
HMAC SHA1 for Amazon S3Demonstrates the HMAC SHA1 computation required by the Amazon S3 web service.
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.