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. import com.chilkatsoft.*; public class ChilkatExample { static { try { System.loadLibrary("chilkat"); } catch (UnsatisfiedLinkError e) { System.err.println("Native code library failed to load.\n" + e); System.exit(1); } } public static void main(String argv[]) { // This example uses sample data from: // http://docs.amazonwebservices.com/AmazonS3/2006-03-01/RESTAuthentication.html String strToSign; strToSign = "GET" + "\n" + "\n" + "\n" + "Tue, 27 Mar 2007 19:36:42 +0000" + "\n" + "/johnsmith/photos/puppy.jpg"; CkCrypt2 crypt = new CkCrypt2(); boolean success; success = crypt.UnlockComponent("Anything for 30-day trial."); if (success != true) { // Unlock Failed. System.out.println(crypt.lastErrorText()); return; } // We want SHA1 for the HMAC hash algorithm: crypt.put_HashAlgorithm("sha1"); String AWSAccessKeyId; AWSAccessKeyId = "0PN5J17HBGZHT7JJ3X82"; String AWSSecretAccessKey; 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"); String signature; signature = crypt.hmacStringENC(strToSign); System.out.println(crypt.lastErrorText()); // Display the signature as part of the HTTP Authorization header: System.out.println("Authorization: AWS " + AWSAccessKeyId + ":" + signature); System.out.println("Expected: AWS 0PN5J17HBGZHT7JJ3X82:xXjDGYUmKxnwqr5KXNPGldn5LbA="); } } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.