ClicInSitu
Seguretat & confidencialitat

Lo format de fichièr .clicinsitu

Un modèl partejat dempuèi l'aplicacion, o remés per MVT Conseil, viatja dins un fichièr .clicinsitu. Aqueste fichièr es encodat e signat, non chifrat : lo podètz tornar legir sens nosautres.

Çò que i a dins lo fichièr

  1. Una sola linha de tèxte UTF-8 : CLICINSITU_PACK_V1:<contengut>[.<signatura>]. Extension .clicinsitu, tipe application/vnd.clicinsitu.
  2. Lo contengut : los modèls en JSON, compressats (gzip) puèi escriches en base64url sens emplenatge — exactament l'encodatge dels QR còdis de modèl.
  3. Lo JSON : una lista de modèls, o un objècte {"schema": "clicinsitu/pack/v1", "meta": {…}, "models": […]}. Los noms dels modèls, las informacions demandadas, los destinataris e los tèxtes de l'e-mail s'i legisson en clar.
  4. La signatura, facultativa : ECDSA P-256 (SHA256withECDSA) dels octets del contengut, amb la clau de MVT Conseil. Valida : l'aplicacion aficha « Modèl certificat ClicInSitu ». Absenta : « Modèl partejat per un utilizaire ». Presenta mas falsa : lo fichièr es refusat.
  5. Los limits : 512 Ko per fichièr, 2 Mo de JSON, 100 modèls, e los meteisses contraròtles qu'un QR còdi. Un fichièr activa pas la configuracion verrolhada e conten pas de còdi PIN.

Tornar legir un fichièr

Cal pas l'aplicacion per lo relegir, tres linhas de Python bastan :

import base64, gzip, json
contengut = open("modele.clicinsitu", encoding="utf-8").read().strip().split(":", 1)[1].split(".")[0]
print(json.dumps(json.loads(gzip.decompress(base64.urlsafe_b64decode(contengut + "=="))), indent=2, ensure_ascii=False))

Clau publica de verificacion de las signaturas (X.509, base64) :

MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErIab062yMtMF0y1xXYI3OVA6Nsl6Ec3FW3nFWlgm9wuOlNo9HJdOjp+4YNpkctfFt443k5gstoMw1/ljh8W/uw==

Format documentat, sens dependéncia : vòstres modèls son vòstres. La signatura ditz d'ont ven un fichièr, n'escond pas res.

Tornar a Seguretat & confidencialitat.