Uitleg Code Signing

Digitale handtekeningen voor software

Met behulp van een Code Signing certificaat onderteken je je software of ActiveX applicaties digitaal. Deze ondertekening garandeert de identiteit van de maker en de integriteit van de software. De digitale handtekening wordt onderdeel van de software code. Dit maakt het onmogelijk de code ongemerkt te wijzigen; bij een wijziging van de code wordt de digitale handtekening ongeldig. Uw klanten controleren op eenvoudige wijze dat de genoemde uitgever juist is, dat de software niet door derden is gewijzigd of beschadigd en krijgen geen vervelende beveiligingswaarschuwingen meer. Hiermee realiseert u veilige verspreiding van uw software, bescherming van uw merk en een groter klantvertrouwen.

Geschikt voor bijvoorbeeld

Niet geschikt voor Driver en Kernel Signing. Let op: Office 2007 (of eerdere versies) kan niet overweg met SHA-2 code signing certificaten.

Voordelen

  • Vermindert foutmeldingen en veiligheidswaarschuwingen
  • Zekerheid over uitgever en inhoud
  • Voorkomt verspreiding van beschadigde code
  • Door gebruik van timestamping verloopt handtekening niet
  • Ongelimiteerd aantal applicaties ondertekenen

SHA-1 Code signing

Vanaf 2014 worden alle certificaten geleverd met SHA-2 in plaats van SHA-1 algoritme. Nu nog geldige SHA-1 certificaten worden niet ingetrokken, maar hiervoor geldt wel:

  • Tot 1 januari 2016 kun je met een SHA-1 certificaat een geaccepteerde handtekening zetten, mits deze voorzien is van een timestamp. De ondertekening blijft dan tot 2020 geldig.
  • Alle ondertekeningen met timestamp die na 1 januari 2016 geplaatst zijn worden niet meer geaccepteerd.

Heb je een SHA-1 code signing certificaat dat nog geldig is na 1 januari 2016? Neem dan even contact met ons op.

Proces

Voor het ondertekenen van software heeft een ontwikkelaar een Code Signing certificaat en een Code Signing programma nodig. Voor bijvoorbeeld Windows programmacodes is SignTool.exe van Microsoft beschikbaar. Na ondertekening van de code kan deze beschikbaar gesteld worden via bijvoorbeeld een website. Bij een download controleert de gebruikte browser/applicatie de digitale handtekening. Mogelijkheden na deze controle zijn het toestaan van de download, het geven van een waarschuwing of het blokkeren van de download. Het gebruik van een digitale handtekening verkleint de kans op een waarschuwing of blokkering aanzienlijk.

Code signing vindt plaats door gebruik van Asymmetrische cryptografie, ook wel bekend als public key (publieke sleutel) encryptie. De versleuteling wordt bij code signing meestal gedaan met behulp van RSA encryptie. Asymmetrische cryptografie maakt gebruik van twee verschillende sleutels, samen het zogenaamde 'key pair':

  • Private key: Alleen bekend bij de eigenaar van de sleutel. Met de private key kunnen versleutelde berichten worden gedecodeerd en berichten worden ondertekend.
  • Public key: Beschikbaar voor iedereen. Met de public key worden digitale handtekeningen gecontroleerd en kunnen berichten bestemd voor de eigenaar van de public key worden versleuteld.


Voorbeelden

Onderstaand een voorbeeld waarschuwing bij niet ondertekende software:

Code Signing Waarschuwing

Ondertekende software geeft bijvoorbeeld de volgende melding:

Code Signing Ondertekening

SSLCheck

De SSLCheck controleert of je certificaat goed op je server is geïnstalleerd en of er mogelijke problemen zijn.