Namų darbas — vienkartiškumas SQL, ir įspėjimas savais žodžiais
Augina programą. Suteik savo programai klastojimui atsparų artefaktą, jei ji tokį turi, arba dirbk su SignFlow.
-
Įrodyk vienkartiškumą SQL. Atverk
psqlir paleiskUPDATE signers SET status='signed', signed_at=now() WHERE id='<laukiantis pasirašytojas>';— tada bandyk pasirašyti tą nuorodą. Gauni pasirašytą būseną, ne klaidą, oSignSignerpraneša nulį eilučių. Paaiškink vienu sakiniu, kodėlWHERE status='pending'sargyba daro pasirašymą idempotentišką be jokios Go apskaitos. -
Perskaičiuoti prieš pasitikėti.
Signlaikinai rašykdoc.FileHashįsigned_doc_hashvietojinteg.CurrentHash. Dabar suklastok failą ir pasirašyk. Ką užrašo parašas? Kodėl tai melas ir kodėl perskaičiavimas iš baitų tai ištaiso? Atkurk. -
Užbaigimo riba. Išsiųsk dokumentą trims pasirašytojams. Pasirašyk kaip du iš jų ir patikrink dokumento statusą (
sent). Pasirašyk kaip trečias ir patikrink vėl (completed). Pažiūrėk į žurnalo eilutėsremaining=skaičių per tris pasirašymus. Kur tiksliai įvyksta užbaigimas — ir kodėl jis toje pačioje transakcijoje kaip paskutinis parašas? -
Pasakyk įspėjimą savais žodžiais. Trimis sakiniais parašyk, kas šis parašas yra ir tris dalykus, kas jis nėra. Tada įvardyk vieną tikrą situaciją, kur klastojimo įrodymo pakanka, ir vieną, kur ne (ir reikėtų kvalifikuoto/eIDAS parašo). Tai sąžiningumas, ant kurio pastatyta pamoka.
Kita pamoka daro kiekvieną šį būsenos pokytį nuolatinį: papildomas-tik audito pėdsakas, užtikrintas pačios duomenų bazės — tad „kas ką padarė ir kada" išlieka net ištrynus dokumentą, kurį jis aprašo.