Vraag


Acties:
  • 0 Henk 'm!

  • superpeter
  • Registratie: Augustus 2007
  • Laatst online: 12-08 18:20
goedendag allemaal.

ik ben al even aan het Google ge weest op hoe ik in iis draaiend op Windows 2022 men ssl certificaat toe voeg..
helaas krijg ik alleen uitleg gevonden hoe ik dit doe als ik alleen in Windows een certificaat laat aan maken.
maar helaas dus geen uitleg hoe ik een bestaand sertivicaat met key bestand importeer.

voor men sertivicaat heb ik de volgende bestanden.
.key bestand.
en een .pem bestand.
ook heb ik eventueel een .crt bestand.
hopelijk kan iemand me helpen hoe ik men ssl wildcard in iis toe voeg.
eventueel een link met een uitleg is ook welkom.

het certificaat is dus een ssl wildcard geregistreerd bij comodo en geregistreerd via argeweb

alvast bedankt: peter

Alle reacties


Acties:
  • +1 Henk 'm!

  • markvt
  • Registratie: Maart 2001
  • Laatst online: 16:32

markvt

Peppi Cola

Je kunt een pfx bestand aanmaken en dat importeren via de ssl beheer van iis.
https://www.sslmarket.com/ssl/how-to-create-an-pfx-file

Creating PFX using OpenSSL
OpenSSL is a library (program) available on any Unix operating system. If you have a Linux server or work on Linux, then OpenSSL is definitely among the available programs (in repository).

In OpenSSL, separately stored keys must be used in a single PFX (PKCS#12) file. So join existing keys to PFX:
openssl pkcs12 -export -in linux_cert+ca.pem -inkey privateky.key -out output.pfx

When you enter the password protecting the certificate, the output.pfx file will be created in the directory (where you are located).

van-tilburg.info -=- meka (sega emulator) - Proud MEDION fanclub member - KOPPIG VOLHOUDEN !


Acties:
  • 0 Henk 'm!

  • Umbrah
  • Registratie: Mei 2006
  • Laatst online: 15:26

Umbrah

The Incredible MapMan

Zoiets?

PowerShell:
1
2
3
4
5
6
7
8
9
10
11
$certPath = "c:\temp\my-domain.com.pfx"  
$certPass = "pass123"  
  
  
$pfx = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2  
$pfx.Import($certPath,$certPass,"Exportable,PersistKeySet")   
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store("WebHosting","LocalMachine")   
$store.Open("ReadWrite")  
$store.Add($pfx)   
$store.Close()   
$certThumbprint = $pfx.Thumbprint


Daarmee zet je hem in het systeem, en hiermee zet je hem aan een site binding (kan ook via UI evt maar niet elke server heeft een volle UI en scripts maken dingen herhaalbaar):

PowerShell:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Import-Module WebAdministration    
    
$iisAppPoolName = "temp"    
$iisAppPoolDotNetVersion = "v4.0"    
    
$iisWebsiteFolderPath = "C:\temp"    
$iisWebsiteName = "temp"    
  
$thumbprints = Get-ChildItem -path cert:\LocalMachine\WebHosting  
  
$iisWebsiteBindings = @(    
   @{protocol="http";bindingInformation="*:80:temp1.com"},    
   @{protocol="http";bindingInformation="*:80:temp2.com"},  
   @{protocol="https";bindingInformation="*:443:my-domain.com";hostHeader="my-domain.com";SSLFlags=1}   
)    
    
if (!(Test-Path IIS:\AppPools\$iisAppPoolName -pathType container))    
{    
New-Item IIS:\AppPools\$iisAppPoolName    
Set-ItemProperty IIS:\AppPools\$iisAppPoolName -name "managedRuntimeVersion" -value $iisAppPoolDotNetVersion    
}    
    
if (!(Test-Path IIS:\Sites\$iisWebsiteName -pathType container))    
{    
New-Item IIS:\Sites\$iisWebsiteName -bindings $iisWebsiteBindings -physicalPath $iisWebsiteFolderPath    
Set-ItemProperty IIS:\Sites\$iisWebsiteName -name applicationPool -value $iisAppPoolName    
(Get-WebBinding -Name $iisWebsiteName -Port 443 -Protocol "https").AddSslCertificate($thumbprints[0].Thumbprint, "WebHosting")  
}



Bron: https://dejanstojanovic.n...l-ssl-certificate-on-iis/

Acties:
  • +2 Henk 'm!

  • Paul
  • Registratie: September 2000
  • Laatst online: 15:07
Wat @markvt zegt inderdaad. Windows 'snapt' private keys alleen als ze in een PFX zitten; die zul je dus om moeten zetten.

Gelukkig hoef je niet per se openssl te installeren (al zou ik dat zeker doen op een management machine als je vaker dingen met certificaten gaat doen), certutil kan het ook.

Zet beide bestandjes in dezelfde map, zorg dat de .key en .pem dezelfde naam hebben (behalve dus de extentie) en haal in die bestandjes (is "leesbare" tekst) alles weg dat buiten de -----BEGIN CERTIFICATE----- en -----END CERTIFICATE----- (of begin key, end key) staat. Voer vervolgens op de commandline het volgende commando uit:

certutil -mergepfx mycert.pem mycert.pfx

(edit, mogelijk is dat niet allemaal nodig en werkt het ook met de "extra" tekst in het bestand; ik heb overal openssl dus bovenstaande komt van Google :P Ik zie in de handleiding van certutil dat die eerste bestandsnaam ook een comma separated list kan zijn en je dus ook de naam van de key er bij kunt zetten: `certutil -mergepfx mycert.pem,mycert.key mycert.pfx`)

Daarna kun je de PFX dubbelklikken, aangeven dat het naar de lokale computer moet (niet naar je gebruiker) en daarna kun je het certificaat in IIS gebruiken.

Open ook de certificate snapin (certlm.msc -> certificates local computer -> personal ) en controleer daar of je certificaat ok is. Op de eerste tabblad moet er bij staan dat je een geldige private key hebt voor je certificate, en op het derde tabblad moeten geen rode kruisjes staan in de boom. Als je rode kruisjes hebt dan moet je de intermediate's en/of root installeren (maar als je de root moet installeren dan is er mogelijk iets mis want dan vertrouwen je gebruikers / klanten het certificaat waarschijnlijk ook niet).

Komt deze server rechtstreeks aan het internet? Je moet altijd stil staan bij hardening, maar als de server rechtstreeks aan het internet hangt is dat nog belangrijker. Denk aan TLS versies (1.0 en 1.1 uitzetten; SSL3 en ouder zou al niet meer aan mogen staan op zo'n nieuw OS), ciphers, welke headers je meestuurt (Server, X-Powered-By, X-AspNet-Version), HSTS, of je delen van de website af wil schermen middels bijvoorbeeld een IP-restrictie (of nog beter, de admin helemaal niet vanaf het internet benaderbaar), etc.

Een site waar je kunt kijken of je website op TLS-gebied een beetje OK is, is https://www.ssllabs.com/ssltest/, het liefst heb je een A+. Let wil, dit zegt niets over de rest van de site, als je een oude Wordpress installatie gebruikt (of nu de nieuwste installeert en er nooit meer naar omkijkt) dan ga je alsnog nat.

@Umbrah Die eerste gaat er vanuit dat je al een PFX hebt, en die heeft @superpeter niet. Die tweede doet ook (veel) meer dan alleen het certificaat koppelen aan een site :)

Onderstaande is (een deel van) het script dat ik gebruik (met een definitie voor $cn, die komt in het script eigenlijk ergens anders vandaan :) En dit script is voor het aanmaken van een webserver, dus ik WEET dat er maar één certificaat met deze naam is. Heb je er meer dan moet je "get the thumbprint" aanpassen. Is er al een certificaat aan de site gekoppeld en wil je deze aanpassen dan moet je onderstaande ook niet gebruiken :) ).
PowerShell:
1
2
3
4
5
6
7
8
9
10
11
12
13
$cn = "superpeter.nl"

# Get the thumbprint of the new certificate
$Thumbprint = (Get-ChildItem -Path 'Cert:\localmachine\My' | Where-Object { $_.FriendlyName -eq $cn } | Select-Object -First 1 ).ThumbPrint

# Create HTTPS biding in IIS
New-WebBinding -Name "Default Web Site" -Protocol "https" -IPAddress "*" -Port 443

# Get the new binding
$Binding = Get-WebBinding -Name "Default Web Site" -Protocol "https" -IPAddress "*" -Port 443

# Add the certificate to the binding
$Binding.AddSslCertificate($Thumbprint, "my")

[ Voor 72% gewijzigd door Paul op 09-05-2022 10:14 ]

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


Acties:
  • 0 Henk 'm!

  • superpeter
  • Registratie: Augustus 2007
  • Laatst online: 12-08 18:20
Heel erg bedankt ik ga strax kijken of ik het voor elkaar krijg maar vermoed het wel met de al gegeven info

Acties:
  • +1 Henk 'm!

  • superpeter
  • Registratie: Augustus 2007
  • Laatst online: 12-08 18:20
in midels heb ik ssl geïnstalleerd en werkende.
met heel veel dank aan alle posters in deze topic.
Pagina: 1