SSL-certifikat får vara giltiga i högst 199 dagar. Från 2027-02-24 blir gränsen 99 dagar. Läs mer →

Dynamics NAV / Business Central: automatisk förnyelse av SSL-certifikat

Microsoft Dynamics NAV och Business Central on-premise har två ställen där certifikatet ska bytas samtidigt: IIS-bindningen för Web Client och ServicesCertificateThumbprint i varje BC Service Tier-instans. simple-acme sköter IIS-delen och FairSSLs skript ImportDynamicsNAV.ps1 sköter konfigurationen av Service Tier.

Uppsättning

Steg 1: Installera simple-acme

Hämta FairSSL-utgåvan av simple-acme (förkonfigurerad med ACME-adressen och förnyelseinställningarna, med ImportDynamicsNAV.ps1 i mappen Scripts). Packa upp den till C:\simple-acme på BC-servern.

Steg 2: Förbered miljön

  • Värdnamnet är det som BC-klienterna använder, och det är inte ett wildcard.
  • Domänen är konfigurerad för FairSSL AutoDNS.
  • Planera ett servicefönster, eftersom skriptet startar om de BC-instanser där tumavtrycket ändras.
  • Öppna en kommandotolk som administratör och gå till C:\simple-acme.
  • Ta reda på vilket konto BC-tjänsten körs under. Det ska anges i kommandot i steg 3. Står det NT AUTHORITY\NetworkService skriver du NETWORK SERVICE. Övriga fall beskrivs i frågan om --acl-fullcontrol längre ner. Get-CimInstance Win32_Service -Filter "Name LIKE 'MicrosoftDynamicsNavServer%'" | Select-Object Name,StartName

Steg 3: Utfärda och distribuera

Kör kommandot som administratör. simple-acme utfärdar certifikatet via AutoDNS, installerar det i Windows Certificate Store, ger BC-tjänstkontot full behörighet till den privata nyckeln, binder certifikatet till IIS och kör ImportDynamicsNAV-skriptet, som uppdaterar varje BC-instans som är igång.

Byt ut NETWORK SERVICE mot det konto som din BC-tjänst körs under. Du tog reda på det i steg 2. Körs BC som NETWORK SERVICE låter du värdet stå kvar.

wacs.exe --verbose --baseuri "https://fairssl.dk/acme" `
  --eab-key-identifier DIN_EAB_KID --eab-key DIN_EAB_HMAC --accepttos `
  --source manual --host "bc.exempel.se" --validation none `
  --certificatestore My --acl-fullcontrol "NETWORK SERVICE" `
  --installation iis,script --script "Scripts\ImportDynamicsNAV.ps1" `
  --scriptparameters "'{CertThumbprint}'" `
  --friendlyname "fairssl-acme-bc.exempel.se"

Steg 4: Verifiera IIS-bindningen

Öppna adressen till BC Web Client i en webbläsare och kontrollera att det nya certifikatet visas. Visas fortfarande det gamla saknar IIS-bindningen en host-header som simple-acme kan matcha mot. Öppna IIS Manager, gå till webbplatsen för BC Web Client → Bindings → HTTPS → Edit och välj det nya certifikatet (friendly name fairssl-acme-<host>). Lägg samtidigt till en host-header på bindningen (t.ex. *:443:bc.exempel.se), så binds certifikatet automatiskt vid kommande förnyelser.

Steg 5: Ställ in förnyelsefönstret i simple-acme

Använder du FairSSL-utgåvan av simple-acme är det redan inställt. Annars ändrar du ScheduledTask → RenewalDays till 365 i settings.json i mappen simple-acme. Då låter simple-acme ARI styra förnyelsen i stället för ett fast schema.

Avancerat: flera instanser med olika certifikat

Gäller bara om du har flera BC-instanser som använder olika certifikat. Kör kommandot från steg 3 en gång för varje par av certifikat och instans, och lägg till instansnamnet i skriptparametrarna:

--scriptparameters "'{CertThumbprint}' 'BC-PROD'"

Vanliga frågor

Hitta svar på de vanligaste frågorna om SSL-certifikat och FairSSL.

Dynamics NAV 2017 och senare samt Business Central 14 och senare (on-premise). Själva ACME-flödet beror inte på BC-versionen. ImportDynamicsNAV.ps1 hittar instanserna via Windows-tjänsterna MicrosoftDynamicsNavServer$* och skriver direkt i CustomSettings.config för varje instans, så varken NavAdminTool eller BCAdminTool behövs.
Skriptet uppdaterar CustomSettings.config för varje BC-instans som är igång, så att ServicesCertificateThumbprint pekar på det nya certifikatet, och startar bara om de instanser där tumavtrycket ändrades. Övriga instanser fortsätter att köra. Skriptet sköter inte åtkomsten till den privata nyckeln. Den kommer från --acl-fullcontrol i wacs-kommandot, och simple-acme sätter den på nytt vid varje förnyelse.
Nej, bara de där ServicesCertificateThumbprint ändrades. Har du flera BC-instanser som använder samma certifikat startas alla om, eftersom alla behöver det nya tumavtrycket. Använder instanserna olika certifikat, se avsnittet Avancerat längst ner.
Det konto som Business Central-tjänsten körs under. Kör Get-CimInstance Win32_Service -Filter "Name LIKE 'MicrosoftDynamicsNavServer%'" | Select-Object Name,StartName på BC-servern och läs av StartName. Värdet kan inte alltid skrivas in som det står: simple-acme känner bara igen de två engelska namnen network service och administrators direkt, och slår upp allt annat i Windows under kontots lokaliserade namn. Står det NT AUTHORITY\NetworkService, skriv NETWORK SERVICE och inte det fullständiga namnet. På svenskt eller danskt Windows heter kontot NÄTVERKSTJÄNST, så det fullständiga engelska namnet går inte att slå upp. Står det LocalSystem, skriv S-1-5-18. Står det ett domänkonto eller ett gMSA, till exempel CONTOSO\svc_bc eller CONTOSO\svc_bc$, skriv det exakt som det står, eftersom domännamn inte översätts. Ett SID fungerar alltid, till exempel S-1-5-20 för NETWORK SERVICE. Flera konton skiljs åt med kommatecken. Utan den behörigheten startar instansen inte med det nya certifikatet.
Ja. Web Client och Service Tier ska visa ett certifikat där Common Name eller SAN innehåller det namn som klienterna använder. Wildcardcertifikat stöds inte för BC Web Client. Beställ ett SAN-certifikat om du har både bc.example.com och nav.example.com.
simple-acme kan bara byta certifikat på en IIS-bindning automatiskt om bindningens host-header stämmer med certifikatet. Körs webbplatsen för BC Web Client på *:443: (utan host-header) visar webbläsaren fortfarande det gamla certifikatet efter första körningen. Öppna då IIS Manager, lägg till host-headern (t.ex. bc.example.com) och välj det nya certifikatet manuellt en gång. Därefter binds certifikatet automatiskt vid varje förnyelse.
Ja. ImportDynamicsNAV.ps1 uppdaterar CustomSettings.config för Service Tier-instansen, medan simple-acme samtidigt binder certifikatet till IIS för webbplatsen med Web Client. Samma tumavtryck används på båda ställena, så varje förnyelse täcker hela BC-installationen på en gång.

Redo att automatisera BC-certifikat?

Skapa ett gratis konto och beställ ditt första certifikat. Ett DV-certifikat utfärdas på under 2 minuter.