GlobalSign Blog

02 mei 2018

Meest gestelde vragen over Code Signing

Wanneer je code geschreven hebt, wil je natuurlijk aan de gebruiker laten zien dat deze te vertrouwen is. Door je code digitaal te ondertekenen, in combinatie met goed sleutelbeheer, bewijst dit dat deze afkomstig is van een bekende softwareleverancier en beschermt deze tegen manipulatie of beschadiging na de publicatie. Dit is ook een vereiste van heel wat platformen, inclusief de Apple iOS Store.

Je weet ondertussen wel al hoe belangrijk Code Signing is, maar dat maakt het proces niet minder vervelend. De volgende ontwikkelaars op Twitter vinden het ondertekenen van code even moeilijk of zelfs moeilijker dan C++ leren. Nu goed, ook al zijn de tweets al wat ouder, de vragen blijven en blijken nog steeds relevant.

Heb je momenteel ook enkele problemen bij het ondertekenen van code? No worries, je bent heus niet de eerste ontwikkelaar die een hekel heeft aan het ondertekenen van code.

We krijgen vaak vragen van onze klanten over hoe dit allemaal werkt en daarom schrijf ik dit artikel. Hopelijk kan ik het jullie hiermee iets gemakkelijker maken, voordat je die allerlaatste haren uit het hoofd trekt. Hieronder kan je de meest gestelde vragen vinden en vooral tips over hoe je deze kan oplossen.

Een SmartScreen-waarschuwing

SmartScreen werkt met Download Manager om risicovolle downloads te voorkomen. Als een download als risicovol wordt beschouwd, wordt deze onmiddellijk geblokkeerd. Hoe vaker een bestand wordt gedownload, hoe beter de reputatie zal worden en hoe minder risicovol SmartScreen dit vindt.

Zodra een bestand als minder risicovol wordt beschouwd, wordt de waarschuwing van de SmartScreen-filter niet meer weergegeven.

Code die wordt ondertekend met een EV Code Signing-certificaat veroorzaakt geen SmartScreen-waarschuwingen omdat deze meteen een goede reputatie krijgt bij SmartScreen.

Problemen met kernelcode

A Cross Certificate is needed in order to sign kernel code.

GlobalSign’s Cross Certificate can be found here.

If you are using Windows 10, please note that it is a Windows requirement that for kernel code signing, you need an EV Code Signing Certificate.

EV kernel signing instructions can be found here from step five onward.

Problemen met compatibiliteit op MAC

Om er voor te zorgen dat Macs een ondertekende applicatie vertrouwen, moet de ondertekenaar een Apple-ontwikkelaar worden. De reden hiervoor is dat de software GateKeeper van Mountain Lion, vooraf geïnstalleerde malwarebeveiliging in OS X, downloads van applicaties in de Mac App Store beperkt, tenzij deze ondertekend zijn door geïdentificeerde Apple-ontwikkelaars.

Mijn certificaat is niet meer geldig of is verlopen

Als je de app/software hebt ondertekend met een certificaat en dit certificaat is verlopen, dan geldt dat ook voor de handtekening op de code.

Om dit probleem op te lossen, kan je een handtekening met een lange geldigheidsduur en een timestamp implementeren.

Aan de hand van een timestamp van een derde partij, zoals GlobalSign, kan de software verifiëren of het certificaat geldig was op het moment van de ondertekening en dus nog vertrouwd kan worden. Anders kijkt de software of het certificaat waarmee de code ondertekend werd momenteel nog geldig is en als dat niet zo is, wordt de code niet vertrouwd.

Opmerking: De timestampfunctie is niet standaard beschikbaar bij de ondertekening van macro's en moet worden ingeschakeld via het register.

Ik ben mijn wachtwoord om het certificaat op te halen kwijt

Je bent het tijdelijke wachtwoord dat je nodig hebt om het certificaat op te halen, ingesteld bij de bestelling van het Code Signing-certificaat. Om veiligheidsredenen bewaren we geen kopieën van dit wachtwoord en kunnen we dit dus niet bezorgen.

Als je het certificaat niet zelf hebt besteld, vraag je het best aan de persoon die de bestelling plaatste. Anders zal het certificaat moeten annuleren en opnieuw bestellen.

Binnen de annuleringsperiode van zeven dagen (aangeduid door de aanwezigheid van de knop "Cancel and Reorder"), kan je een certificaat snel en eenvoudig annuleren en opnieuw bestellen. Je stuurt nadien een e-mail naar support@globalsign.com of het validatieteam met het oude en nieuwe bestelnummer. Deze procedure is helemaal gratis en de verificatie van het nieuwe certificaat wordt snel afgehandeld.

Na de annuleringsperiode van zeven dagen, dan zal de knop "Cancel and Reorder" in het account niet meer veschijnen, zal je het supportteam moeten contacteren.

Ik ben niet tevreden over de informatie in mijn certificaat

Als je een Code Signing-certificaat bij ons hebt besteld en de gegevens op dit certificaat wilt wijzigen, is de actie die volgt, afhankelijk van waar het certificaat is.

Het certificaat wordt gevalideerd

Als het certificaat nog wordt gevalideerd, stuur je een e-mail sturen naar ons validatieteam. Zij kunnen de meeste informatie wijzigen, met uitzondering van de Common Name.

Als je de verkeerde Common Name hebt ingevoerd, zal je een nieuw certificaat moeten bestellen.

Het certificaat is uitgegeven

Als het certificaat al is uitgegeven, moet je een nieuw certificaat bestellen.

Net zoals in de bovenstaande instructies voor opnieuw bestellen wanneer je het wachtwoord om het certificaat op te halen kwijt bent, zie je een knop "Cancel and Reorder" voor certificaten binnen de annuleringsperiode van zeven dagen.

CSR - Java gebruiken vs. geen Java keystore gebruiken

Als je het certificaat wil genereren met een CSR in plaats van een .pfx-bestand, kunt je dit op twee manieren doen.

Voor gebruikers van Java-keystore

Als je het Code Signing-certificaat op een Java-machine wil gebruiken, met een eigen keystore, moet je een "Code Signing for Sun Java Certificate" bestellen.
Om dit certificaat te genereren, moet je een CSR invoeren tijdens het downloadproces.

Het certificaat wordt geleverd in de vorm van een .cer-bestand dat je kunt importeren in de keystore volgens de instructies in dit supportartikel.

Voor gebruikers die geen Java-keystore gebruiken

Voor gebruikers die geen Java keystore willen gebruiken, kan je een "Code Signing for Multi-platforms Certificate" bestellen.

Tijdens het bestelproces kan je een eigen CSR (PKCS#10) opgeven onder "Hide Advanced Key Generation Options", zoals afgebeeld in de onderstaande screenshot.

Deze optie levert het certificaat ook in de vorm van een .cer-bestand tijdens de downloadfase.

Als je een probleem hebt met een Code Signing-certificaat dat hier niet wordt beschreven, kan je de opmerkingen hieronder gebruiken of, voor een sneller antwoord, een supportticket aanmaken bij ons supportteam.

Share this Post