Dynamics NAV / Business Central: automatiseret SSL-certifikat
simple-acme på BC-serveren opdaterer både IIS-bindingen til Web Client og ServicesCertificateThumbprint i hver Service Tier-instans.
Sådan virker det
- Installer simple-acme på BC-serveren Udpak FairSSL-udgaven med ImportDynamicsNAV.ps1 til C:\simple-acme, og sæt domænet op til FairSSL AutoDNS.
- Udsted og udrul Kør wacs-kommandoen som administrator med BC-tjenestens konto i --acl-fullcontrol. Certifikatet installeres, bindes i IIS, og ImportDynamicsNAV opdaterer hver kørende BC-instans.
- Kontrollér IIS-bindingen Åbn BC Web Client i en browser. Vises det gamle certifikat, mangler HTTPS-bindingen et host-header.
- Fornyelse FairSSL-udgaven har fornyelsesvinduet sat, så ARI styrer fornyelsen. Kun instanser med ændret certifikat genstartes.
Microsoft Dynamics NAV og Business Central on-premise har to certifikatpunkter, som skal opdateres
samtidigt: IIS-bindingen til Web Client, og ServicesCertificateThumbprint i hver BC Service
Tier-instans. simple-acme håndterer IIS-delen, og FairSSLs ImportDynamicsNAV.ps1-script
håndterer Service Tier-konfigurationen.
Understøttede versioner
| Platform | Versioner | Kører på | ACME-klient |
|---|---|---|---|
| Dynamics NAV / Business Central | VersionerNAV 2013 R2 og nyere, alle Business Central-versioner (on-premises) | Kører påWindows Server 2012 eller nyere | ACME-klientsimple-acme 2.4.0+ (FairSSL-udgaven, .NET 10 medfølger) + ImportDynamicsNAV.ps1 |
Opsætning
Trin 1: Installer simple-acme
Hent FairSSL-udgaven af simple-acme
(forudkonfigureret med ACME-adresse og fornyelsesindstillinger, og indeholder
ImportDynamicsNAV.ps1 i Scripts-mappen). Udpak til C:\simple-acme på
BC-serveren.
Trin 2: Forbered miljøet
- Hostnavnet matcher det BC-klienterne bruger, og er ikke et wildcard.
- Domænet er konfigureret til FairSSL AutoDNS.
- Planlæg et serviceinterval - scriptet genstarter de BC-instanser, hvor thumbprintet ændrer sig.
- Kør en kommandoprompt som administrator og naviger til
C:\simple-acme. - Find den konto, BC-tjenesten kører som - den skal ind i kommandoen i Trin 3. Står der
NT AUTHORITY\NetworkService, skriver duNETWORK SERVICE; se FAQ'en om--acl-fullcontrolfor de øvrige tilfælde.Get-CimInstance Win32_Service -Filter "Name LIKE 'MicrosoftDynamicsNavServer%'" | Select-Object Name,StartName
Trin 3: Udsted og udrul
Kør kommandoen som administrator. simple-acme udsteder certifikatet via AutoDNS, installerer det i Windows Certificate Store, giver BC-servicekontoen fuld kontrol over den private nøgle, binder certifikatet til IIS, og kører ImportDynamicsNAV-scriptet som opdaterer hver kørende BC-instans.
Skift NETWORK SERVICE ud med den konto, din BC-tjeneste kører under.
Du fandt den i Trin 2. Kører BC som NETWORK SERVICE, lader du den stå.
wacs.exe --verbose --baseuri "https://fairssl.dk/acme" `
--eab-key-identifier DIN_EAB_KID --eab-key DIN_EAB_HMAC --accepttos `
--source manual --host "bc.eksempel.dk" --validation none `
--certificatestore My --acl-fullcontrol "NETWORK SERVICE" `
--installation iis,script --script "Scripts\ImportDynamicsNAV.ps1" `
--scriptparameters "'{CertThumbprint}'" `
--friendlyname "fairssl-acme-bc.eksempel.dk" Trin 4: Verificér IIS-bindingen
Åbn BC Web Client-URL'en i en browser og bekræft at det nye certifikat vises. Hvis det gamle stadig
serveres, så har IIS-bindingen ikke et host-header, som simple-acme kan matche. Åbn IIS Manager,
gå til BC Web Client-sitet → Bindings → HTTPS → Edit, og vælg det nye certifikat
(friendly name fairssl-acme-<host>). Tilføj samtidig et host-header til bindingen
(fx *:443:bc.eksempel.dk), så fornyelser fremover binder automatisk.
Trin 5: Indstil simple-acme fornyelsesvinduet
Hvis du brugte FairSSL-udgaven af simple-acme, er dette allerede sat. Ellers så ret i
settings.json i simple-acme-mappen ScheduledTask → RenewalDays til
365. Det får simple-acme til at lade ARI styre fornyelsen i stedet for en fast tidsplan.
Avanceret: flere instanser med hvert sit certifikat
Kun hvis du har flere BC-instanser, der bruger forskellige certifikater. Kør Trin 3-kommandoen én gang pr. certifikat/instans-par og udvid scriptparametrene med instansnavnet:
--scriptparameters "'{CertThumbprint}' 'BC-PROD'" Certifikater på mange servere og appliances
Et offentligt SSL-certifikat kan højst være gyldigt i 199 dage nu, 99 dage senest 15-03-2027 og 46 dage senest 15-03-2029. Hvert certifikat skal dermed skiftes mindst to gange om året nu og mindst otte gange om året fra 2029, på hver server, firewall og load balancer, det bruges på. sslbrain fra FairSSL kører som en appliance i jeres eget netværk og fornyer og installerer certifikaterne fra ét sted, også på udstyr uden agent.
Sådan fornyer og installerer sslbrain certifikater på Dynamics NAV og Business Central(åbner sslbrain.com i en ny fane)Ofte stillede spørgsmål
Find svar på de mest almindelige spørgsmål om SSL certifikater og FairSSL.
MicrosoftDynamicsNavServer$* og skriver direkte i hver instans' CustomSettings.config, så det kræver hverken NavAdminTool eller BCAdminTool.ServicesCertificateThumbprint peger på det nye certifikat, og genstarter kun de instanser, hvor thumbprintet ændrede sig. Instanser uden ændring forbliver kørende. Adgangen til den private nøgle er ikke scriptets: den kommer fra --acl-fullcontrol i wacs-kommandoen, og simple-acme sætter den ved hver fornyelse.ServicesCertificateThumbprint blev ændret. Hvis du har flere BC-instanser, der bruger samme certifikat, genstartes alle, men kun fordi de alle skal opdateres. Hvis du har en separat opsætning hvor forskellige instanser bruger forskellige certifikater, så se det avancerede afsnit nederst.Get-CimInstance Win32_Service -Filter "Name LIKE 'MicrosoftDynamicsNavServer%'" | Select-Object Name,StartName på BC-serveren og se på StartName. Værdien skal oversættes, for simple-acme genkender kun de to engelske navne network service og administrators direkte; alt andet slår den op i Windows under kontoens lokaliserede navn. Står der NT AUTHORITY\NetworkService, så skriv NETWORK SERVICE og ikke det fulde navn - på dansk Windows hedder kontoen NETVÆRKSTJENESTE, og det fulde engelske navn kan derfor ikke slås op. Står der LocalSystem, så skriv S-1-5-18. Står der en domænekonto eller en gMSA, fx CONTOSO\svc_bc eller CONTOSO\svc_bc$, så skriv den som den står; domænenavne oversættes ikke. En SID virker altid, fx S-1-5-20 for NETWORK SERVICE. Flere konti adskilles med komma. Får kontoen ikke adgang, starter instansen ikke med det nye certifikat.bc.example.com og nav.example.com.*:443: (ingen host-header), så viser browseren stadig det gamle certifikat efter første kørsel. Løsning: åbn IIS Manager, tilføj host-headeret (fx bc.example.com), vælg det nye certifikat manuelt én gang. Fremtidige fornyelser binder automatisk.Klar til at automatisere BC-certifikater?
Opret en gratis konto og bestil dit første certifikat. Et DV-certifikat udstedes på under 2 minutter.