Thema: Delphi DEC und HMAC-SHA-256

Einzelnen Beitrag anzeigen

Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#5

Re: DEC und HMAC-SHA-256

  Alt 19. Apr 2010, 20:17
Okay, der Code war zusammengeschustert ... und das sieht man. Ich habs mal auf das Wesentliche reduziert.
Delphi-Quellcode:

uses HMAC, Hash, SHA256, mem_util;

{...}

function GenerateHMACSignature(Text: string; Key: string): string;
var
  ctx: THMAC_Context;
  phash: PHashDesc;
  mac: THashDigest;
begin
  phash := FindHash_by_Name('SHA256');
  if phash = nil then
  begin
    {Action for 'Hash function not found/registered.'}
    exit;
  end;
  hmac_init(ctx, phash, @key, sizeof(key));
  hmac_update(ctx, @Text, sizeof(Text));
  hmac_final(ctx, mac);
  Result := HexStr(@mac, Length(mac));
end;
Bin mir trotz Doku nicht sicher, ob das so richtig ist, da ich die Test Vectors des zugehörigen RFCs und auch einige Beispiele von Webgeneratoren nicht reproduzieren konnte. Kennt sich jemand mit diesen Units aus und kann mir sagen wo mein Fehler ist?

Außerdem ist mir immer noch nicht klar, WOVON genau Amazon möchte, dass ich die Signatur erstelle. Laut deren Doku soll es ein TimeStamp sein (s.o. im Quelltext. Das sollte gehen) und der Inhalt des Action-Tags - nur leider enthält der vom WSDL erzeugte Envelope überhaupt kein solches Tag.
Es ist echt ein Krampf, die Schnittstelle war mal so gut
  Mit Zitat antworten Zitat