Neues Thema starten

Auslesen der Seriennummer

Hallo zusammen,


wir sind uns inzwischen unsicher geworden, ob die Art und Weise, wie wir die Seriennummer auslesen korrekt ist... 


Ich bekomme von der entsprechenden DLL Funktion Bytes zurück, die ich dann nach Dokumentation Gastro-Mis nur mit Base64 encode?


Ist das korrekt? Vielleicht kann ein anderer Delphi-Kollege mir da helfen? :)


 

function TSwissbitAccess.tsePublicKey(pi : pWormInfo) : String;
var
  publicKey: PPByte;
  publicKeyLength: Pworm_uint;
  n : Integer;
  bytes : TBytes;
begin
  GetMem(publicKeyLength, 10);
  GetMem(publicKey, 20);

  worm_info_tsePublicKey(pi, publicKey, publicKeyLength);

  SetLength(bytes, (serialNumberLength^)-1);
  for n := 0 to (serialNumberLength^)-1 do begin
    bytes[n] := serialNumber^[n];
  end;

  Result := TNetEncoding.Base64.EncodeBytesToString(bytes);
end;

 


Danke und VG

Kevin


1 Person hat diese Frage

Hallo Jürgen,


bei uns funktioniert es so:


 

function TSwissbitAccess.tseSerialNumber(pi : pWormInfo) : String;
var
  serialNumber: PPByte;
  serialNumberLength: Pworm_uint;
  n : Integer;
begin
  GetMem(serialNumberLength, 10);
  GetMem(serialNumber, 20);

  worm_info_tseSerialNumber(pi, serialNumber, serialNumberLength);

  Result := '';
  for n := 0 to (serialNumberLength^)-1 do begin
    Result := Result+IntToHex(serialNumber^[n], 2);
  end;
end;

Deklarationen:

 PPByte = ^PByte;
 worm_uint = UInt64;
  Pworm_uint = ^worm_uint;


 Den Pointer "info" erhälst du durch die Funktionen worm_info_new / worm_info_read.


Schöne Grüße!

Danke Kevin!!


Für mich als Datenbankentwickler sind das böhmische Dörfer.  Bei der functions deklaration meckert er

jetzt  pWormInfo an.   

Kannst du noch mal helfen, wie und wo  deklarierst du die function und wie rufst du sie dann auf.


Ich brauche dringend mal ein Erfolgserlebnis!


gruß jürgen



Hallo zusammen,

die Seriennummer als HEX ist richtig, allerdings Weiß ich nicht welche Format die Signatur haben muss.

momentan sieht meine Signatur so aus:

 

UJW9mWFDNDH/FEBepEUKc9TAcP+vB86RKR/qEn0BwwXFgL3ZW/L3YPx1Dz4/f91bYOx5qadTdr6AIv3/A3PnUuxEe98UTfvnPwGolLCXybiDlE+zdYZ2gHw/QAIQRWXt

 

die ist in Base64 formatiert.

das Problem ist, dass Amadeus Verify liest mein QR-Code richtig, aber bei Verifizierung meldet "Verifizierung fehlgeschlagen".

Jemand hat gesagt, es kann mit Signatur zu tun haben.

 

Kennt jemand das Problem?

 

hello dear friend i am geting always this error

ByteArrayToHex in delphi code , my old version before i was using Bundesdruckerei and i maked convert to swissbit there was no so much information if i give some examplesome one can help me ?

 

procedure TForm1.Button1Click(Sender: TObject);
var
  tseStick: TfTSEClient;
  date: TDateTime;
  meal: string;
  amount: Currency;
  data: string;
  signedData: Byte;
begin
  // TSE Stick cihazini baglayin ve iletisim kurun
//  tseStick := tseStick.Create(Self);
tseStick := TfTSEClient.Create(Self);

  // Program içerisindeki verileri degiskenine atayin
  // Örnek veriler: tarih, saat, yemek bilgisi ve para miktari
  date := Now();
  meal := 'Tavuklu sebzeli makarna';
  amount := 12.50;
  data := Format('%s %s %m %s', [date, meal, amount]);

  // Verileri TSE Stick ile imzalayin ve kaydedin
//  signedData := tseStick.Sign(data);
  //  tseStick.Save(signedData, 'signed_data.txt');
//tseStick.Sign(data);

  // TSE Stick nesnesini yok edin
  tseStick.Free();
//end;


end;

Anmelden oder Registrieren um einen Kommentar zu veröffentlichen