tirsdag den 14. august 2018

Certifikat Navision 2009 - SSL Webservice

Her vil jeg vise, hvordan du ændre din webservice til at køre https/SSL.


Konfigurer Web service til SSL


  1. Åben notepad som administrator (Højre klik --> kør som administrator)
    Find følgende sti: “C:\Program Files\Microsoft Dynamics NAV\Service\CustomSettings.config”
  2. Find følgende i config filen:
    <add key="WebServiceSSLEnabled" value="false"></add>

    Og ændre det til

    <add key="WebServiceSSLEnabled" value="true"></add>

Importer Certifikat til Server

  1. Vælg kør 
  2. Skriv MMC og tryk "OK"
  3. ADD/Remove snap-in
  4. Find "Certificate"
  5. Vælg "Computer Account"
  6. Vælg "Local Computer"
  7. Klik "OK"
  8. Udvid "Certificates" --> højreklik "Personal" --> vælg "import"
  9. Kør guiden igennem og importer dit certifikat
  10. Lig alle certifikater i denne

Find Certifikates Thumbprint

  1. I certifikater --> udvid "Personal" --> vælg "Certificates"
  2. Find dit certifikat, som skal tilknyttes webservicen
  3. Dobbelt klik på certifikatet --> vælg "Details"
  4. Kopier nederste linie i "Details" denne skulle gerne være "Thumbprint"
  5. Jeg plejer at ligge det i en notepad

Konfigurer serverens ACL til Webservice porten

  1. Åben en kommandopromt som administrator (Højre klik --> kør som administrator)
  2. Hvis servicen allerede er kørende, skal du fjerne disse inden. For at finde ud af om noget kørende gør følgende:
  3. skriv følgende:

    netsh http show urlacl
  4. Nu viser den en liste over de eksisterende porte der er anvendt

  5. Du skal nu slette alle porte der er sat op med din webservice (standard port er: 7047)
    I dette tilfælde er det disse porte:

    http://+:7047/ og http://+:7047/DynamicsNAV
  6. Du slette dem ved at køre følgende kommandoer:

    netsh http delete urlacl url=http://+:7047/DynamicsNAV
    netsh http delete urlacl url=http://+:7047/
  7. Du kan nu registrerer porten: 7047 til https-adressen, det gør du med følgende kommandoer:
    (Husk at ændre porten, hvis ikke du kører standard 7047)

    netsh http add urlacl url=https://+:7047/ sddl=D:(A;;GX;;;NS)(A;;GX;;;BA)
  8. Kør nu følgende for at registrer din Webservice på port: 7047
    (Igen husk at ændre hvis du ikke kører standard port: 7047)

    netsh http add urlacl url=https://+:7047/DynamicsNAV/ user=NAS

    Bemærk her, jeg kører min service med en bestemt bruger, kaldet "NAS":
    Hvis ikke du skriver noget, kører servicen standard NetworkService, det er ikke altid dette virker. Når jeg sætter en service op, er det altid med brugeren NAS

    Din Webservice er nu klar til at køre HTTPS, vi mangler nu at forbinde certifikat med webservicen

Konfigurer port til at bruge SSL Certifikat

  1. Åben en kommando promt som administrator (Højre klik --> kør som administrator)
  2. Kør følgende kommando:

    netsh http show sslcert
  3. Hvis der er noget listet på porten du bruger, skal du slette disse.
    Dette gøres med følgende kommando

    netsh http delete sslcert ipport=0.0.0.0:7047

    IGEN husk at ændre port, hvis ikke du kører standard 7047
  4. Registrer nu dit SSL Certifikat til din port

    netsh http add sslcert ipport=0.0.0.0:7047 certhash=c461e441cafa42b045d0634a8ddfa049794dc9cd appid={00000000-0000-6002-0022-0000836BD2D2}
    Bemærk mit thumbprint er: c461e441cafa42b045d0634a8ddfa049794dc9cd
    Bemærk min port er: 7047

    Husk at ændre dette til det thumbprint du fandt i begyndelsen, således det henviser til dit certifikat
    HUSK igen at ændre port, hvis ikke du kører standard port 7047
Dette var en "hurtig" guide til opsætning af Certifikat til din Navision webservice