DEV Community

Cover image for What is Token Signing in Software Publisher Certificate?
Riya Sander
Riya Sander

Posted on

What is Token Signing in Software Publisher Certificate?

Many new software programs are released every day, and security and trust are important. To build trust and verify the authenticity of software, digital signing is required. That’s why token signing and a Software Publisher Certificate (SPC) are necessary.

In this article, you will see token signing and how it works with an SPC.

secure software and non secure software

What is Token Signing?

Token signing means creating a special digital mark, called a signature, on a token (a small piece of data).

This signature shows that the token is real and has not been changed. In the context of SPCs, mostly token signing is used for software packages or updates to check that the software hasn’t been tampered with and to confirm it comes from a legitimate publisher.

Token signing is a type of digital signature. Traditional digital signatures are used to verify whole documents or software files. Hence, token signing verifies smaller pieces of data called tokens. Tokens can show access or software versions.

When software is shared, tokens work like a stamp of approval from the creator, that shows your software hasn’t been changed after it was approved, and this token signing helps users trust that the software is safe and real.

What is a Software Publisher Certificate?

A Software Publisher Certificate (Also called a code signing certificate) is digital proof that the software is from a trusted source. It also allows the creator to sign their software. So users can be sure it is safe and hasn’t been changed since it was released.

It builds trust between the software developer and the user. It also shows that the software comes from a verified source. Hence the source is trusted.

SPCs depend on digital signatures to prove the software is real. When a software publisher signs their software with an SPC, a unique cryptographic hash of the software is generated.

This hash is encrypted with the publisher's private key which creates a digital signature. So, Whenever a user attempts to install the software, the operating system (or other validation systems) uses the publisher’s public key to decrypt the signature and compare the hash with the software. If the codes match, the software is considered real.
There are different types of software certificates:

  • Standard Validation: Good for small publishers or software that isn’t very sensitive.
  • Extended Validation (EV): Offers more trust, which is needed for big organizations or important applications using huge amounts of financial data.

What are the requirements for token signing certificates?

You need to follow the below requirements:

  • The token-signing certificate must include a private key.
  • Although the initial setup usually handles this, it’s important to verify that the AD FS service account has access to the private key stored in the local computer’s store.
  • If you change the certificate, use the AD FS Management tool to ensure the service account can still get to the private key.
  • If you follow these rules, your token-signing certificate will work well.

Read this article also: Are Java Code Signing Certificates Equivalent to SSL Certificates?

How Token Signing Works in a Software Publisher Certificate?

Token signing within the context of an SPC involves using the token to sign software digitally.

Find the below process:

  1. Software Creation: The software developer completes the software or an update and gets it ready to be shared.
  2. Token Generation: The developer generates a unique cryptographic hash for the software that creates a token that represents the state of the software at the time of signing.
  3. Private Key Encryption: The token is signed with the developer's private key, which creates a digital signature that is unique to that software version.
  4. Public Key Verification: When a user tries to install or run the software, the system uses the software maker's public key to unlock the signature and check the token. If the signature matches, the software is confirmed as real.

For example, systems like Microsoft Authenticode or Apple’s Developer ID use token signing and SPCs to verify software legitimacy. In these ecosystems, software that lacks a valid signature may be flagged as untrusted or even blocked from running, helping to protect users from malicious or modified software.

Conclusion

Token signing in Software Publisher Certificates helps keep software safe during distribution. It checks that the software is real, has not been changed, and comes from a trusted source. As online threats grow, token signing stays important for developers to make sure their software is trusted by both systems and users.

Top comments (0)