|
CodeBuildingBlocks AWS Authentication Fields Generator
-
We have implemented an ActiveX component for generation of Amazon Web Services
(AWS) authentication fields. The authentication fields, "Timestamp" and
"Signature", are used in Alexa Web Information and Amazon Mechanical Turk
services. Latest version also includes methods for generic signing which
you can use to generate signatures for the Amazon S3 service. The component does NOT generate valid signatures for AWSECommerceService.
-
CBB AWSAuth generates valid "Timestamp" and "Signature" fields, thus doing the
entire authentication work necessary in order to establish a connection with
Amazon Web Services. Trying to develop this functionality by yourself
can take several days. However, CBB AWSAuth is a snap (see examples below);
the developer doesn't have to perform any cryptographic operations whatsoever.
The component implements the Keyed-Hashing for Message Authentication code
(HMAC) using SHA-1, which is exactly what you need to work with AWS.
-
Demo - Download a sample application which
is using a common engine with the component.
-
Other features include: Base64 encoding, optional URL encoding and caching of
the result. There is a significant time window of up to 15 minutes during which
your timestamp is valid even though it is not current. CBB AWSAuth will use
that to reduce the number of calculations it performs.
-
Read the Technical Paper for detailed
explanation of the methods and properties provided.
-
Order - Get this ready-made component which will save you time and money.
Order for only USD 26.00!
Full copies are automatically delivered by our e-commerce provider,
"share-it!".
-
We also have some decent experience writing tools to fetch bulk information from
Alexa Web Information services and other Amazon Web Services. For example:
Per-domains details like: ranking, keywords, contact information, etc'. "Top
X" sites and more. If you are interested in an application like this,
contact us for a quote.
VBScript example of usage with Alexa Web Info Service
The example bellow executes an authenticated AlexaWebInfo request and prints
the result.
option explicit
dim url,access_key,secret_key,domain,prefix
access_key="????????????????????"
secret_key="????????????????????????????????????????"
domain="www.codebuildingblocks.com"
prefix="UrlInfo"
url="http://awis.amazonaws.com?Operation=UrlInfo&AWSAccessKeyId= _
%access_key%&Url=%domain%&ResponseGroup=Rank&Timestamp=%timestamp%& _
Signature=%signature%"
url=replace(url,"%access_key%",access_key)
url=replace(url,"%domain%",domain)
' make url
dim aws_auth
set aws_auth=CreateObject("AWSAuth.AWSAuth")
aws_auth.SecretKey=secret_key
aws_auth.ServiceOperationPrefix=prefix
'aws_auth.DoURLEncode=false ' true is default
dim timestamp, signature
signature=aws_auth.GenAuthentication(timestamp)
url=replace(url,"%timestamp%",timestamp)
url=replace(url,"%signature%",signature)
wscript.echo url
' xml
dim xmldoc
set xmldoc=CreateObject("Msxml2.DOMDocument")
dim b
xmldoc.async = false
b=xmldoc.load(url)
if b=false then
wscript.echo("Error loading XML, " & domain & ", " & url)
else
wscript.echo xmldoc.xml
end if
|
Example of Usage with Amazon S3 (VBScript)
The example bellow calculates a signature for a constant canonical string and prints the result
option explicit
dim url,access_key,secret_key,data
access_key="??"
secret_key="??"
data="GET"&chr(10)&chr(10)&chr(10)&"1141889120"&chr(10)& _
"/quotes/nelson"
' make signature
dim aws_auth
set aws_auth=CreateObject("AWSAuth.AWSAuth")
aws_auth.SecretKey=secret_key
'aws_auth.DoURLEncode=false ' true is default
dim signature
signature=aws_auth.GenAuthenticationEx(data)
wscript.echo signature
wscript.echo "vjbyPxybdZaNmGa%2ByT272YEAiv4%3D - Correct"
|
Contact us
|