DÉMO
📄 Certifier un document
Uploadez votre PDF, placez le QR code à l'endroit voulu, certifiez.
📄
Glissez votre PDF ici ou cliquez
A5 · A4 · A3 · A2 · A1 · A0
Fichier
—
Taille
—
Format
PDF
OUTIL
📐 Outil de position
Uploadez un PDF, déplacez le QR code, récupérez les coordonnées X% et Y% à envoyer à l'API.
📄
Glissez votre PDF ici ou cliquez
v1.0
ASN-CRYPTODOME
Certification et vérification de documents PDF — ECDSA P-256.
1
Envoyez votre PDF via l'API
2
ASN certifie — hash + signature + QR + DRM
3
Vous recevez hash + QR SVG
4
Vos clients vérifient localement
Clé publique ASN
POST /api/v1/protect
QR placé en bas à droite par défaut. Personnalisable avec qr_x, qr_y.
| Param | Type | Requis | Description |
|---|---|---|---|
file |
✅ | Document | |
mode |
string | non | public / private |
metadata |
JSON | non | Max 8 champs |
redirect_url |
string | non | URL vérif |
user_key |
string | si private | Clé AES |
logo |
PNG/JPG | non | Logo QR |
qr_x |
float | non | X % |
qr_y |
float | non | Y % |
qr_size |
float | non | Taille % |
Simple
curl -X POST http://localhost:8100/api/v1/protect -F "file=@doc.pdf"
Complet
curl -X POST http://localhost:8100/api/v1/protect \
-F "file=@doc.pdf" -F "mode=public" \
-F 'metadata={"a":"RTI","t":"CCV"}' \
-F "logo=@logo.png"
POST /api/v1/verify/upload
curl -X POST http://localhost:8100/api/v1/verify/upload -F "file=@certified.pdf"
QR SVG
SVG autonome — logo embarqué. ASN ne conserve rien.
Python
with open("qr.svg","w") as f: f.write(result["qr_svg"])
PHP
file_put_contents("qr.svg", $result["qr_svg"]);
PHP
<?php
$p=$_GET['p']??'';$pad=4-strlen($p)%4;if($pad!==4)$p.=str_repeat('=',$pad);
$d=json_decode(base64_decode(strtr($p,'-_','+/')),true);
$c=json_encode(['at'=>$d['at'],'h'=>$d['h'],'m'=>$d['m']],JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
echo openssl_verify($c,hex2bin($d['sig']),file_get_contents('keys/asn_public_key.pem'),OPENSSL_ALGO_SHA256)===1?"✅":"❌";
React / JS
// Décoder base64url puis vérifier ECDSA via Web Crypto API
Python
from Crypto.PublicKey import ECC from Crypto.Signature import DSS from Crypto.Hash import SHA256 # Vérifier sig ECDSA avec clé publique ASN
Payload
| Champ | Description |
|---|---|
h |
Hash SHA-256 |
m |
Metadata |
at |
Date ISO 8601 |
sig |
Signature ECDSA |
Modes
| Mode | m | Qui lit |
|---|---|---|
| public | JSON | Tous |
| private | Chiffré | Détenteur clé |
FAQ
Appeler ASN ?
Non. Local.
ASN stocke ?
Non.
Logo lisible ?
Oui. H 30%. Logo 16%.