πŸ–ŠοΈ Digitally Sign PDFs Securely with eMark – Cross-Platform & Free πŸš€



This content originally appeared on DEV Community and was authored by Pintu Prajapati

eMark – PDF Signing Application

📝 Overview

eMark is a robust, cross-platform desktop application for digitally signing PDF documents with support for multiple signing methods. It provides a user-friendly interface for secure document signing while maintaining the highest security standards.

✨ Features

  • Multiple Signing Methods
    • Windows Certificate Store integration
    • PKCS#11/HSM support (multi-device support)
    • PFX/PKCS#12 file support
  • Cross-Platform Support
    • Executable JAR works on Windows, macOS, and Linux
    • Native installers available for:
      • Windows (.exe)
      • Linux Ubuntu/Debian (.deb)
    • macOS installer coming soon 🚀
    • Consistent UI experience across platforms
  • Advanced Security
    • Support for hardware security modules (HSM)
    • Timestamping support
    • Password-protected PDF support
    • LTV (Lightweight Trust Verification) support
    • Timestamp Authority (TSA) support
  • User-Friendly Interface
    • Modern, simple but powerful dark-themed UI
    • Visual signature placement and customization
    • Signature preview and configuration
    • Document preview
  • Open Source
    • Open source codebase available for customization and contribution

🚀 Getting Started

📦 Prerequisites

Before installing or running eMark, make sure you have:

  • Java SE 8 (JDK or JRE) installed

    • ⚠ Exactly Java 8 is required
    • Not compatible with Java 7 or Java 9+
    • Windows: Download Java
    • macOS: brew install openjdk@8
    • Linux: sudo apt-get install openjdk-8-jdk
  • A supported operating system:

    • Windows 7 or later (64-bit recommended)
    • Linux Ubuntu 18.04+ / Debian
    • macOS (JAR only, installer coming soon)
  • A valid digital signing certificate (Windows Keystore, PKCS#11 token, or PKCS#12/PFX file)

Installation

Option 1: Download Latest Release

GitHub release (latest by date)

  1. Download the latest release from the Releases page
  2. Select the appropriate installer for your operating system (Windows, macOS, or Linux)
  3. Run the installer and follow the on-screen instructions

Note: Each release includes platform-specific installers for easy setup on your operating system.

Option 2: Build from Source

git clone https://github.com/code-muni/eMark.git
cd eMark
mvn clean package
java -jar target/eMark-1.0-SNAPSHOT.jar

🖥 Usage

Signing a PDF Document

  1. Launch eMark
  2. Click “Open PDF” and select your document
  3. Click “Begin Sign” and select the signing area
  4. Choose your certificate from the list
  5. Enter your certificate password if required
  6. Click “Sign” and choose where to save the signed document

Supported Operations

  • Open PDF: Open and view PDF documents
  • Sign Document: Add digital signatures to PDFs
  • Save As: Save signed documents with a new filename
  • Settings: Configure application preferences and security settings

🛠 Troubleshooting

Common Issues

Java Version Error

  • Ensure you have Java 8 or later installed
  • Run java -version to check your Java version

PDF Loading Issues

  • Ensure the PDF is not corrupted
  • Check if the PDF is password protected and provide the correct password

Certificate Issues

  • Ensure your certificate is properly installed
  • Check certificate expiration date
  • Verify certificate trust chain

🌐 Explore eMark Online

You can also check out the live GitHub Pages site for eMark here:

Website

This page contains documentation, screenshots, download links, and guides for getting started quickly.

Report a Bug / Request a Feature

Found a bug or have a feature idea? We’d love to hear about it!

  1. Search existing issues to avoid duplicates
  2. Create a new issue using the appropriate template:
  3. Fill in the template with as much detail as possible
  4. Submit the issue and we’ll review it as soon as possible

📧 Contact

For support or queries, please open an issue on our GitHub repository.

Made with ❤ by CodeMuni


This content originally appeared on DEV Community and was authored by Pintu Prajapati