---
title: "Server signatures"
description: "Server signatures: digital signatures made with a private key on the server, performed entirely on the backend, and how to implement them per language."
canonical: "https://docs.lacunasoftware.com/en-us/articles/pki-guide/server-signatures"
locale: "en"
product: "PKI guide"
last_updated: "2026-07-14"
---

# Server signatures

A *server signature* is a [digital signature](https://docs.lacunasoftware.com/en-us/articles/pki-guide/signatures) performed with a private key located on the server, which
therefore can be performed entirely on the backend (as opposed to [web signatures](https://docs.lacunasoftware.com/en-us/articles/pki-guide/web-signatures) which must
necessarily involve at least one step performed on the frontend).

The way to implement server signatures depends on your programming language. Read one of the sections below accordingly:

## .NET applications

**The recommended way to implement server signatures on .NET applications is using the [PKI SDK](https://docs.lacunasoftware.com/en-us/articles/pki-sdk).**

By importing the `.pfx` file of the certificate which will be used for signature to the operating system's certificate
store, the certificate will be available when loading certificates from the OS store. See article
[Certificates with private key](https://docs.lacunasoftware.com/en-us/articles/pki-sdk/certificates/certs-with-key) for more information on how to load
certificates from the OS store, and article [Signatures](https://docs.lacunasoftware.com/en-us/articles/pki-sdk/signatures) for information on how to perform
signatures.

## Other programming languages

**The recommended way to implement server signatures on all other programming languages is using [Rest PKI](https://docs.lacunasoftware.com/en-us/articles/rest-pki).**

The Rest PKI samples that demonstrate how to implement this are called *PAdES server key* and *CAdES server key*.
Check the [Rest PKI samples availability per project](https://docs.lacunasoftware.com/en-us/articles/rest-pki/samples-availability) to see on which samples projects
these samples are available.
