Create a REST API for PDF Digital Signatures with Webhooks

Go to Workflow
4,723 views
Built by Ferenc Erb Ferenc Erb
Created on June 09, 2026

Description

Overview
An automation workflow that creates a complete REST API for digitally signing PDF documents using n8n webhooks. This service demonstrates how to implement secure document signing functionality through standardized API endpoints with file upload and download capabilities.

Use Case
This workflow is designed for developers and automation specialists who need to implement digital document signing. It's particularly useful for:
Integrating PDF signing capabilities into existing document workflows
API-based automation of signature processes
Creating proof-of-concept implementations for document verification systems
Learning n8n's webhook capabilities and file handling techniques
Testing PDF signing in development environments before production implementation

What This Workflow Does

API-Based Document Management
Exposes RESTful webhook endpoints for all document operations
Handles multipart/form-data uploads for PDF documents
Processes JSON payloads for signing configuration
Provides download functionality for completed documents

Digital Certificate Handling
Uploads existing PFX/PKCS#12 digital certificates
Generates new certificates with customizable attributes
Securely manages certificate storage and access
Associates certificates with signing operations

Cryptographic PDF Signing
Applies digital signatures using industry-standard cryptographic methods
Embeds signature information within PDF document structure
Validates document integrity through cryptographic verification
Preserves original document while adding signature elements

Webhook Integration System
Routes different API methods to appropriate handlers
Validates request payloads and file content
Manages authentication through webhook paths
Returns structured responses for integration with other systems

Technical Architecture

Components
API Gateway: n8n webhook nodes that receive external requests
Request Router: Switch nodes that direct operations based on method parameters
Document Processor: Function nodes for PDF manipulation and verification
Certificate Manager: Specialized nodes for cryptographic key operations
Storage Interface: File operation nodes for document persistence
Response Formatter: Nodes that structure API responses

Integration Flow
Client Request → Webhook Endpoint → Method Router →
Processing Engine → Digital Signing → Storage →
Response Generation → Client Response

Setup Instructions

Prerequisites
n8n installation (minimum version 0.214.0)
Node.js 14 or higher
Required environment variable:
NODE_FUNCTION_ALLOW_EXTERNAL: "node-forge,@signpdf/signpdf,@signpdf/signer-p12,@signpdf/placeholder-plain"
Configuration Steps
Import Workflow
Import the workflow JSON into your n8n instance
Activate the workflow to enable the webhooks

Configure Storage
Set the storage path variables in the workflow
Ensure proper permissions on the storage directories

Test API Endpoints
Use the included test scripts to verify functionality
Test PDF upload, certificate generation, and signing

Integration
Document the webhook URLs for integration with other systems
Configure error handling according to your requirements

Testing Methods
Test the workflow functionality using various HTTP requests and JSON data:
Upload PDF documents to the document processing endpoint
Upload or generate digital certificates
Execute PDF signing operations
Download signed documents from the download endpoint

Webhook Endpoints

The workflow exposes two primary webhook endpoints that form a complete API for PDF digital signing operations:

1. Document Processing Endpoint (/webhook/docu-digi-sign)

This endpoint handles all document and certificate operations:

Method: Upload PDF
HTTP: POST
Content-Type: multipart/form-data
Parameters: method, uploadType, fileName, fileData

Method: Upload Certificate
HTTP: POST
Content-Type: multipart/form-data
Parameters: method, uploadType, fileName, fileData

Method: Generate Certificate
HTTP: POST
Content-Type: application/json
Parameters: method, subjectCN, issuerCN, serialNumber, validFrom, validTo, password

Method: Sign PDF
HTTP: POST
Content-Type: application/json
Parameters: method, inputPdf, pfxFile, pfxPassword

2. Document Download Endpoint (/webhook/docu-download)

This endpoint handles the retrieval of processed documents:

Method: Download Signed PDF
HTTP: GET
Content-Type: application/json
Parameters: method, fileType, fileName

Key Workflow Sections
The workflow is organized into logical sections with clear responsibilities:
Request Processing**: Parses incoming webhook data
Method Routing**: Directs requests to appropriate handlers
Document Management**: Handles file operations and storage
Cryptographic Operations**: Manages signing and certificate functions
Response Formatting**: Structures and returns results

Nodes Used (1)

Code
n8n-nodes-base.code