Code Signing Certificate in 2025: tips, ervaringen?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • dextertje
  • Registratie: Februari 2000
  • Laatst online: 16:39
Hi,

tl;dr Zijn hier developers die ervaring en/of tipshebben met het aanvraag van een code signing certificate na 1 juni 2023? Ik ben vooral benieuwd: USB-token of Azure Key Vault?

Ik had eigenlijk verwacht dat er op GOT wel meer topics zouden zijn over code signing certificaten, maar ze zijn best schaars, dus dan maar een nieuw topic.

Het bedrijf waar ik werk, schrijft wel eens software, sjablonen of macros of andere code voor klanten. Bijvoorbeeld Word-sjablonen. Om te voorkomen dat gebruikers foutmeldingen krijgen, ondertekenen we deze met een code signing certificate.
De laatste keer dat ik zo'n certificaat heb aangevraagd was vóór 1 juln 2023.
Ik wilde deze nu wederom aanvragen en dacht dat ik dat makkelijk weer bij Xolphin kon doen, maar wat blijkt (helaas pas bij het aanvragen zelf):
Starting June 1st 2023 Code Signing is required to be generated on a FIPS compliant hardware token or HSM.

Due to this we are unable to accept manually generated CSRs. Your Code Signing certificate will be shipped to your address on a hardware token instead.
WTF, dacht ik, dit gaat dus echt heel anders dan ik gewend was. Heb geprobeerd telefonisch contact op te nemen, maar kreeg niemand aan de lijn, op mijn mail heb ik inmiddels antwoord, waaruit ik opmaak dat ik niet zelf de CSR hoef aan te leveren, maar dat ze het dus zelf doen en dat ze het certificaat op een hardware (USB-)token aanleveren.

Bij Globalsign schrijven ze:
Als u of uw bedrijf momenteel gebruik maakt van een hardware beveiligingsmodule (HSM) zoals Azure Key Vault, heeft u de optie om die implementatie te selecteren bij aankoop van standaard of EV-code signing certificaten.
Voor mij klinkt dat tegenstrijdig, ik zie Azure Key Vault niet als hardware beveiliging, dus ik vroeg me af: iemand hier ervaringen hoe dit werkt?
Gewoon in Azure een Key Vault aanmaken (of een bestaande gebruiken) en dan levert Globalsign daar de key en certificaat op? Ik heb er geen goed beeld bij hoe dit werkt.
Kun je de key dan niet meer verplaatsen?

Voor mensen die een code signing certificate op een USB-token hebben: moet ik me daarbij voorstellen dat het certificaat alleen aan dit token is gekoppeld en een developer dus fysiek dat token in zijn computer moet steken om te ondertekenen?

Iemand nog ervaringen of tips over Xolphin/Sectigo en Globalsign of andere leveranciers m.b.t. code signing certificates?

[ Voor 25% gewijzigd door dextertje op 17-04-2025 17:34 ]


Acties:
  • +2 Henk 'm!

  • remco_k
  • Registratie: April 2002
  • Laatst online: 19:09

remco_k

een cassettebandje was genoeg

dextertje schreef op donderdag 17 april 2025 @ 17:27:
Voor mensen die een code signing certificate op een USB-token hebben: moet ik me daarbij voorstellen dat het certificaat alleen aan dit token is gekoppeld en een developer dus fysiek dat token in zijn computer moet steken om te ondertekenen?
Ja, klopt.

Omdat we bij ons soms meerdere keren per week de codesigning nodig hebben, voor meerdere devs, waarvan iedereen thuis werkt of op kantoor, net hoe de zon staat, en ik niet wil dat die keys over de straat zwerven of kwijtraken, hebben we zelf een code signing server gemaakt door een eenvoudige api te serveren. Daar zit de Yubi key met cert in en zo kan iedereen met toegang ertoe (inclusief onze ci/cd pipelines) code signing doen.
Aangezien zo'n USB key ook stuk kan of het certificaat verlopen kan, heb ik 2 van deze keys, met ongeveer een half jaar onderling verschil in eindtijd. Zo heb ik altijd een werkende key beschikbaar voor onze codesigning server. Ik wissel ze periodiek om zeker te weten dat beide het doen.

Het aanvragen is wel wat gedoe. Identiteitskaart, kvk uittreksel. Gaat ook wat tijd overheen, meerdere werkdagen. Technisch is het ook even puzzelen.
Als je de hardware key nog moet bestellen is dat nog extra wachttijd, want je kan de certs dan pas aanvragen als je de key hebt.

Wij doen dit bij Sectigo, geen specifieke reden voor anders dan dat we daar ook andere producten afnemen.

[ Voor 20% gewijzigd door remco_k op 17-04-2025 18:19 ]

Alles kan stuk.


Acties:
  • 0 Henk 'm!

  • dextertje
  • Registratie: Februari 2000
  • Laatst online: 16:39
Dank voor je post, @remco_k. :)

Ik had me niet gerealiseerd dat die key dus ook echt het enige exemplaar is waarmee je kunt signen, dus het is geen bestandje op een usb-stick die je zo even op je eigen computer kan installeren (met certificaten van vóór juni 2023 ging dit wel).

Heb je ze rechtstreeks bij sectigo.com besteld of bij sectigo.nl (=Xolphin)?
Ik kreeg namelijk de indruk dat we helemaal geen CSR hoefden aan te leveren en dat Xolphin zelf CSR aanmaakt op basis van onze gegevens en na telefonische validatie een certificaat op de usb-key zou aanleveren.

Wellicht dat ik toch even naar de mogelijkheden via de Azure Key Vault ga kijken, want zo'n usb-token raakt veel te makkelijk kwijt.
Code signing server is wel slim idee, maar wel een beetje overkill voor iets dat misschien maar 2x per jaar wordt gebruikt, zoals bij ons. :D

Acties:
  • +1 Henk 'm!

  • remco_k
  • Registratie: April 2002
  • Laatst online: 19:09

remco_k

een cassettebandje was genoeg

Klopt. Het gaat in mijn geval om de Yubikey 5 FIPS serie (https://www.yubico.com/products/yubikey-fips).
Bij Sectigo.com regel ik de certs. Die key was destijds niet leverbaar daar, dus moest ergens anders vandaan komen en dan moet je met die key aan de gang om de CSR aan te maken e.d.
Maar ik kan me voorstellen dat als je de key daar besteld, je hem compleet met cert erop kan bestellen.

Je hebt idd de key fysiek nodig om dan codesigning te doen. De private key krijg je niet te pakken. Die zit in die key op geborgen en vandaar dus ook dat zo'n key een spof wordt als je er maar eentje hebt.

Bij cert renewal (na 1 of 3 jaar) moet je bij een hardware key altijd de CSR zelf doen. Dus misschien is die cloud optie bij jullie een beter plan als je het maar zo weinig nodig hebt. Ik heb die optie destijds bekeken, maar ik vond de afhankelijkheid van die cloud dienst te groot worden (en als ik het nog goed weet de prijs te hoog).

Wat je ook kiest, reken er op dat je er wel even een tijdje druk mee kan zijn en een stijle leercurve hebt, voordat je je codesign cert gebruiken kan en je script(s) erop hebt aangepast. Documenteer ook goed voor jezelf welke stappen je doet of moet doen bij renewal over 1 of 3 jaar. Dan ben je daar tegen die tijd blij mee. :)

[ Voor 15% gewijzigd door remco_k op 18-04-2025 19:32 ]

Alles kan stuk.


Acties:
  • +1 Henk 'm!

  • Beekforel
  • Registratie: November 2001
  • Laatst online: 19:23

Beekforel

Is eigenlijk geen vis

Geinig, net van de week ingeregeld omdat die van ons ook wat verlopen. Xolphin/Sectigo leverde een usb stick en kon ons niet helpen aan een certificaat voor in een Azure Keyvault (of de support medewerker had geen idee).

Na wat zoeken bij Sign My Code uitgekomen.

Je Keyvault moet premium zijn. Ik heb er een dedicated voor gemaakt. Je genereert de csr in Azure en krijgt een pem file terug na validatie.

Vervolgens kun je Azure Signtool gebruiken om je bestanden te signen.

Acties:
  • +1 Henk 'm!

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Ik gebruik ook een EV certificate van sectigo op een hw token die ze zelf aanleveren. (klein usb stickje). Op zich werkt het prima, het is alleen wel langzaam als je veel files moet signen. Verder is de tool die ze gebruiken wat onnozel: het password moet je iedere keer invullen als de machine down geweest is. Dus je kunt niet het password opgegeven en dan altijd je code signen, dus je moet daar wel rekening mee houden.
Renewals van de key vereisen een nieuwe HW key, die ook weer naar je geshipt moet worden. Dus hou daar rekening mee.

EV certificates zijn de enige die nuttig zijn (en dan ook alleen tot op zekere hoogte). Smartscreen tests falen nog steeds bij nieuwe files soms en Windows Defender plakt er soms nog een random !ml gebaseerde trojan aanvast wanneer de code in een zip zit... (ik maak custom photomodes voor games)... en dat is wel minder geworden nu de files gesigned zijn maar het komt nog steeds terug. Dus mocht je een certificate gebruiken om dat totaal te omzeilen, maak je geen illusies, het helpt maar gedeeltelijk.

Ik zou willen dat Microsoft dit beter zou oplossen en we geen dure certificates meer nodig hebben want het voelt echt als regelrechte oplichting.

Code signen in scripts is op zich niet zo moeilijk, het zijn een paar commandos.

code:
1
signtool sign /tr http://timestamp.sectigo.com /td sha256 /fd sha256 /a <jouw filename>


Het signen van VSIX files is wat lastiger, je moet dan hashes opgeven. Het signen van nuget packages is weer anders, daar moet je de certificate fingerprints opgeven aan nuget.exe.
Mocht je de commando's nodig hebben, laat het me maar weten

[ Voor 35% gewijzigd door EfBe op 19-04-2025 08:58 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Acties:
  • 0 Henk 'm!

  • remco_k
  • Registratie: April 2002
  • Laatst online: 19:09

remco_k

een cassettebandje was genoeg

EfBe schreef op zaterdag 19 april 2025 @ 08:51:
...het password moet je iedere keer invullen als de machine down geweest is.
...Renewals van de key vereisen een nieuwe HW key, die ook weer naar je geshipt moet worden.
Van beide heb ik geen last...?

Alles kan stuk.


Acties:
  • 0 Henk 'm!

  • EfBe
  • Registratie: Januari 2000
  • Niet online
remco_k schreef op zaterdag 19 april 2025 @ 09:30:
[...]

Van beide heb ik geen last...?
Jij vult je hw key password in de Safenet Authentication client 1 keer in en die blijft dat password dan onthouden bij de volgende signing actie *nadat* je je systeem hebt gerestart? (dus het systeem waar de hw key in zit) ?

Ik ging van een 1 jaar cert naar een 3 jaar cert en dat moest op een nieuwe hw key worden aangeleverd. Op zich niet zo'n probleem, je moet alleen waar je fingerprints/hashes gebruikt in scripts die vervangen door de nieuwe

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Acties:
  • 0 Henk 'm!

  • dextertje
  • Registratie: Februari 2000
  • Laatst online: 16:39
EfBe schreef op zaterdag 19 april 2025 @ 08:51:
(..)
EV certificates zijn de enige die nuttig zijn (en dan ook alleen tot op zekere hoogte). Smartscreen tests falen nog steeds bij nieuwe files soms en Windows Defender plakt er soms nog een random !ml gebaseerde trojan aanvast wanneer de code in een zip zit... (ik maak custom photomodes voor games)... en dat is wel minder geworden nu de files gesigned zijn maar het komt nog steeds terug. Dus mocht je een certificate gebruiken om dat totaal te omzeilen, maak je geen illusies, het helpt maar gedeeltelijk.
(..)
Dank voor je input.
Het gebruik ervan is bij ons erg beperkt: minder dan een handvol klanten met Word-sjablonen.
Die mogen van hun ICT-beheerder geen ongetekende sjablonen laden, dus dan moeten ze ondertekend zijn.
Wij hebben altijd OV certificates gebruikt, ik heb begrepen dat dit tot dusverre geen probleem is,
Pagina: 1