Se come dici il certificato è già installato e l'identità del pool di applicazioni ha il permesso alla chiave privata, allora si dovrebbe essere in grado di registrare un nuovo vincolante come questo:
New-WebBinding -Name $WebsiteName -Protocol "https" -Port 443 -IPAddress $IPAddress -HostHeader $HostHeader -SslFlags $sslFlags
avrete sicuramente bisogno di impostare le variabili prima di eseguire questo codice tuttavia questi dovrebbero essere auto-esplicativi.
Quando si imposta il valore della variabile $ sslFlags dovrebbe essere impostato in base alla seguente tabella:
0 No SNI
1 SNI Enabled
2 Non SNI binding which uses Central Certificate Store.
3 SNI binding which uses Central Certificate store
Nel tuo caso questo dovrebbe essere impostato a 1 dal momento che non si sta utilizzando l'archivio certificati centrale.
Una volta ottenuto il binding SSL in atto, è necessario associare l'associazione al certificato corretto. Ho trovato attraverso l'esperienza che il modo più semplice per farlo è utilizzare il comando netsh.exe. È possibile utilizzare direttamente Powershell, tuttavia dopo molte ore di ricerca e di risoluzione di diversi problemi, ho trovato netsh solo più affidabile.
La sintassi qui dipende da quanto l'associazione sta per essere messa a punto se si utilizza SNI allora si avrà bisogno la seguente sintassi: (non preoccuparti per l'AppID, non è importante ciò che il valore è)
netsh http add sslcert hostnameport=$($HostHeader):$($Port) certhash=$Thumbprint appid='{4dc3e181-e14b-4a21-b022-59fc669b0914}' certstorename=MY
Questo codice richiede anche l'impostazione di variabili. L'intestazione host deve essere il nome DNS a cui è associato il tuo sito web, la porta molto probabilmente sarà 443 e la variabile $ Thumbprint deve contenere l'identificazione personale o l'hash del certificato che stai per utilizzare.È possibile trovare questo utilizzando il provider di certificati come in questo codice:
$Thumbprint = (Get-ChildItem -Path cert:\LocalMachine\My | Where-Object {$_.GetNameInfo("SimpleName",$false) -eq "my cert common name"}).Thumbprint
Spero che questo aiuti, se avete bisogno di più aiuto quindi aggiornare la domanda. Ho lavorato molto in quest'area.
La (non documentato) '-SSLFlags 1' su' nuovo elemento di cui sopra 'e omettendo l'indirizzo IP ha fatto il trucco per me. Grazie, ha aiutato molto! –