{
  "tool": "signature-pdf",
  "name": "La Signature PDF",
  "apiVersion": "1",
  "description": "Signe numériquement un PDF (PAdES / PKCS#7 détaché) avec un certificat .p12/.pfx, horodatage TSA optionnel ; vérifie aussi les signatures existantes. 100 % dans le navigateur.",
  "url": "https://sui-juris.fr/p2p-tools/signature-pdf/",
  "ops": {
    "sign": {
      "summary": "Signe un PDF avec un certificat .p12/.pfx.",
      "args": {
        "fileBytes": { "type": "base64", "required": true, "description": "Le PDF à signer, en base64." },
        "certBytes": { "type": "base64", "required": true, "description": "Le certificat .p12/.pfx en base64." },
        "password":  { "type": "string", "required": true, "description": "Mot de passe du certificat." },
        "reason":    { "type": "string", "required": false, "description": "Motif de la signature." },
        "location":  { "type": "string", "required": false, "description": "Lieu." },
        "name":      { "type": "string", "required": false, "description": "Nom du signataire (défaut : CN du certificat)." },
        "tsa":       { "type": "boolean", "required": false, "default": false, "description": "Ajouter un horodatage (autorité de temps)." },
        "filename":  { "type": "string", "required": false, "description": "Nom du fichier source." }
      },
      "returns": { "bytes": "base64 du PDF signé", "mime": "application/pdf", "filename": "nom suggéré", "signer": "nom du signataire" }
    },
    "verify": {
      "summary": "Vérifie les signatures numériques d'un PDF.",
      "args": { "fileBytes": { "type": "base64", "required": true, "description": "Le PDF à vérifier, en base64." } },
      "returns": { "signed": "bool", "valid": "bool", "wholeFileCovered": "bool", "details": "informations de signature" }
    }
  }
}
