AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Wie Unterschrift für einmaligen Gebrauch erfassen
Thema durchsuchen
Ansicht
Themen-Optionen

Wie Unterschrift für einmaligen Gebrauch erfassen

Ein Thema von QuickAndDirty · begonnen am 13. Apr 2022 · letzter Beitrag vom 20. Apr 2022
Antwort Antwort
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#1

Wie Unterschrift für einmaligen Gebrauch erfassen

  Alt 13. Apr 2022, 12:12
Hallo ,
Ich möchte in meiner App eine Unterschrift (oder mehrere pro Dokument) erfassen.
Nun ich habe vor mir das so ein bisschen von diesem Tutorial abzugucken.
https://www.youtube.com/watch?v=0NYI...ndex=45&t=507s
Um das eigentliche "wie" geht es mir hier in dem thread nicht.
Sondern was muss ich machen damit die Unterschrift nur einmal benutzt werden kann, bzw. muss ich da überhaupt was machen?

Ich habe mir überlegt wenn man von der "Dokumentennummer" + dem "Unterschriftsfeldnamen" einen Hashwert nimmt und diesen als Schatten auf das "Briefpapier" bringt, dann darauf Unterschreiben lässt,
dann kann man das PNG nicht direkt ohne Aufwand als Unterschrift für andere Dokumente benutzen.

Reicht das? oder macht man das anders?

Was ist der Industrie Standard?
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (13. Apr 2022 um 12:27 Uhr)
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
543 Beiträge
 
#2

AW: Wie Unterschrift für einmaligen Gebrauch erfassen

  Alt 13. Apr 2022, 16:05
hey. Ich nutze dies auch in unserem APP.
Ich speichere die Unterschrift ab und wenn ich beim erneuten laden die Unterschrift finde, wird dies direkt angezeigt. Somit kann nur 1x unterschrieben werden.
Wirst nicht darum kommen dich selber darum zu kümmern.

Danach wird bei uns das Bild mit einer PDF verknüpft und danach gelöscht, damit diese nicht Zweckenfremdet werden kann.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#3

AW: Wie Unterschrift für einmaligen Gebrauch erfassen

  Alt 14. Apr 2022, 14:32
In meinem Anwendungsfall werden die PNGs mit der Unterschrift und die Vertragsdaten an einen Server der Firma die die APP nutzt geschickt und dort gespeichert (nicht bei der Firma die die App entwickelt).
Diese Daten können dann von der Firma zu einem PDF der Word dukument zusammen gesetzt werden.
Ich will vermeiden, dass die Unterschrift PNG eine Kunden, von einem Mitarbeiter in weiteren Verträgen eingesetzt werden kann.
Deshalb dachte ich , es sei sinnvoll die DokumentenID und den Namen des Unterschrieftenfeldes als Grau-auf-weiße-Hintergrundkacheln im Bild unterzubringen.
Ich will verhindern das diese PNGs für zwei Dokumente genutztwerden können.
Theoretisch könnte ich sogar absichern das die Unterschrift nur für einen bestimmten Satz an Dokumentenoptionen verwendbar ist, wenn ich den Hashwert über das gesammte ausgefüllte Dokument ziehe.

Gibts jemand der sowas mal gemacht hat? Oder Kritik an dem Ansatz hat?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von JanWe
JanWe

Registriert seit: 23. Mär 2015
Ort: NRW
78 Beiträge
 
Delphi 7 Personal
 
#4

AW: Wie Unterschrift für einmaligen Gebrauch erfassen

  Alt 15. Apr 2022, 09:00
hm, also ich würde meinen, daß das so nicht geht.

eine Bilddatei kann immer wieder verwendet werden.
Dazu ist sie ja eine sparate Datei.

und wenn Du einen Hash über die Vertrags-Datei machst und diesen Wert in die Bilddatei einfügst und das Bild auch noch unter den Vertrag setzt, hat sich ja der Hashwert der Vertragsdatei auch geändert. (oder der Hashalgorithmus ist nicht gut ....)
Das heißt - für jemanden, der Nachprüfen möchte, ob der Hashwert "auf" dem PNG-Bild mit dem der Datei übereinstimmt muß erst das Bild fehlerfrei extrahieren (die machen da eine PDF raus? - und hoffen, daß die Vertragsdatei genauso viele und solche Zeichen enthält, wie das Originaldokument.


und dann hast Du nur einen Hashwert.
Keine Signatur.
D.h. mit nem Bildmanipulierungsprogramm könnte man (wer genügend Finanziellen Hintergrund hat) den Hashwert (CRc32?, md5?) und so anpassen, daß er zu einem verändeten Vertragsdokument gehört.

Also ich glaub, so bringt das nix, würd ich sagen.

Also entweder, Deine App macht selber alles zusammen -
aber dann bleibt noch das Problem:

Als was wird da gespeichert? PDF oder DOCX?

Du schreibst was von Worddokument. ...
Word DOCX Sind ZIP-Dateien (Ok, mit Prüfsummen gegen Beschädigung gesichert).
Aber da kannst Du eh die Unterschriften mit WinRAR, 7Zip WinZIP, etc. oder sogar Windows/Linux durch Umbenennen in blabla.ZIP und öffnen die Unterschriftsbilder raus klauen.
Jan
Allen demnächst ein gutes 2023!
  Mit Zitat antworten Zitat
hanvas

Registriert seit: 28. Okt 2010
168 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Wie Unterschrift für einmaligen Gebrauch erfassen

  Alt 16. Apr 2022, 12:45
Falls Du dein Dokument als PDF speichern kannst, kannst Du das PDF (mit der Unterschrift als Bilddatei) und einem X.509 / PKCS#12 Zertifikat (z.B. Elster) signieren. Evtl. solltest Du einen Zeitstempel einbinden. Die Signatur kannst Du beispielsweise mit JSignPDF erzeugen (wird per Komandozeile eingebunden)

Alternativ kannst Du eine Zip Datei mit deinem Dokument und der Bilddatei erzeugen und diese ZIP Datei signieren. Dazu musst Du Dir allerdings selbst die nötigen Tools heraussuchen.

cu Ha-Jö

[1] http://jsignpdf.sourceforge.net/
[2] https://github.com/intoolswetrust/jsignpdf/
[3] Liste freier Timestamp Server
https://gist.github.com/Manouchehri/...455713efada710
[4] Alternativen zu JSignPDF
https://progsoft.net/de/software/jsignpdf
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: Wie Unterschrift für einmaligen Gebrauch erfassen

  Alt 16. Apr 2022, 19:43
Falls Du auch eine eigenständige, kommerzielle App integrieren willst, melde Dich mal.
Gruß, Jo
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#7

AW: Wie Unterschrift für einmaligen Gebrauch erfassen

  Alt 20. Apr 2022, 12:19
hm, also ich würde meinen, daß das so nicht geht.

eine Bilddatei kann immer wieder verwendet werden.
Dazu ist sie ja eine sparate Datei.

und wenn Du einen Hash über die Vertrags-Datei machst und diesen Wert in die Bilddatei einfügst und das Bild auch noch unter den Vertrag setzt, hat sich ja der Hashwert der Vertragsdatei auch geändert. (oder der Hashalgorithmus ist nicht gut ....)
Das heißt - für jemanden, der Nachprüfen möchte, ob der Hashwert "auf" dem PNG-Bild mit dem der Datei übereinstimmt muß erst das Bild fehlerfrei extrahieren (die machen da eine PDF raus? - und hoffen, daß die Vertragsdatei genauso viele und solche Zeichen enthält, wie das Originaldokument.
Das Bild ist nicht die gesammte Kette des Informationsflusses in das Dokument integriert. Das "Dokument" kannst du dir als Datenbank Datensatz vorstellen. Den Hashwert ermittle ich dann natürlich für den Record OHNE die Unterschriften oder Prüfsummen sondern nur über die "Geschäftsdaten" des Dokuments.
Diese Prüfsumme würde dann als lauftext hintergrund auf das Virtuelle Briefpapier gegeben und mit der Unterschrift verheirted, so dass ein wieder verwenden der Unterschrift nur ginge wenn mann sie per Bildbearbeitungsprogramm freistellt.

Die Sache ist die, dass der "Unterschreiber" keinen pgp Schlüssel oder sowas hat, also wollte ich das wiederverwenden der Unterschrift wenigstens ein bisschen erschweren.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#8

AW: Wie Unterschrift für einmaligen Gebrauch erfassen

  Alt 20. Apr 2022, 12:44
Falls Du auch eine eigenständige, kommerzielle App integrieren willst, melde Dich mal.
Ich verstehe schon, dass es natürlich am besten ist, wenn nicht wirklich eine Bilddatei mit der Unterschrift bei dem Vertragspartner landet, sondern am besten bei einer art Treuhänder(Deine Komerzielle App?).
Ich bin mir Ziemlich sicher das wir nicht der Treuhänder sein wollen. In sofern ist eine Komerzielle App die man per Intent aufruf einbinden kann sicher keine schlechte Idee, vorrausgesetzt das Kundenverhältnis ist dann, sollte diese App genutzt werden, zwischen den Benutzern der App an der ich arbeite und der den Entwicklern der Unterschriften App.
Es hört sich, aber schon nach "Notar" und Teuer an... ^^
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Wie Unterschrift für einmaligen Gebrauch erfassen

  Alt 20. Apr 2022, 13:20
Ich kenne mich mit dieser Thematik leider nicht aus aber mein Gedankengang wäre vielleicht eines der Info Felder im Bild selbst zu nutzen, EXIF hat da viele.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#10

AW: Wie Unterschrift für einmaligen Gebrauch erfassen

  Alt 20. Apr 2022, 23:48
Ich kenne mich mit dieser Thematik leider nicht aus aber mein Gedankengang wäre vielleicht eines der Info Felder im Bild selbst zu nutzen, EXIF hat da viele.
PNG hat tatsächlich Metadata chunks unter anderem "tEXT" da könnte man es unterbringen hmm...
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz