Amazon フォーラムで見つけたファイルを使用しています。これはスレッドです:
https://forums.aws.amazon.com/message.jspa?messageID=147377
これは、ASP コードで使用できるオブジェクトを定義する単なる JScript ファイルである .wsc ファイルを使用します。このような:
' ### be sure to have sha256.wsc in the same folder as this script
Dim sha256
Set sha256 = GetObject( "script:" & Server.MapPath("sha256.wsc") )
sha256.hexcase = 0
Dim result
result = sha256.b64_hmac_sha256( secretkey, stringtosign )
これは、もともと Amazon API へのリクエストに署名するために使用されたファイルです。理解できない理由により、これには次のコード行が .wsc ファイルに含まれていました。
d=d.replace ( /\s/g, "\n");
これにより、スペースを含むすべての空白文字が「\n」に変換されます。スペースを "\n" に変換する必要があるとは信じがたいです。とにかく、コードを機能させるために、この行をコメントアウトする必要がありました! そして、それは機能します。しばらく問題なく使用しています。
sha256.wsc ファイルから:
/*
* A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
* in FIPS 180-2
* Version 2.2 Copyright Angel Marin, Paul Johnston 2000 - 2009.
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
* Distributed under the BSD License
* See http://pajhome.org.uk/crypt/md5 for details.
* Adapted into a WSC for use in classic ASP by Daniel O'Malley
* (based on an SHA-1 example by Erik Oosterwaal)
* for use with the Amazon Product Advertising API
*/
sha256.wsc ファイルへの直接リンク:
https://forums.aws.amazon.com/servlet/JiveServlet/download/9-34858-139271-2601/sha256.wsc
公式のダウンロード サイトが見つかりませんでした。