Ruby Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Ruby
Examples

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

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

Unreleased...
LZW
Bz2
Icon

 

 

 

 

 

 

 

HMAC SHA1 for Amazon S3

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

Download Chilkat Ruby Library

require '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 = Chilkat::CkCrypt2.new()

success = crypt.UnlockComponent("Anything for 30-day trial.")
if (success != true)
    #  Unlock Failed.
    print crypt.lastErrorText() + "\n"
    exit
end

#  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() + "\n";

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

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

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

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