Snap-in di PowerShell: Configurazione di SSL con lo snap-in powerShell IIS
di IIS Team
Per abilitare SSL tre passaggi sono coinvolti:
- Acquisizione e installazione di un certificato
- Creazione di un'associazione SSL in IIS
- Assegnazione del certificato all'indirizzo IP:Port dell'associazione IIS
e facoltativamente:
- Applicazione di SSL nel sito Web
Acquisizione e installazione di un certificato
L'acquisizione di certificati è un business difficile. Gli utenti del sito Web devono considerare attendibile il certificato e questo è il motivo per cui è necessario ottenerlo da un'autorità di certificazione attendibile. A scopo di test, è tuttavia possibile creare un certificato personalizzato. Per questa procedura dettagliata verrà usato un certificato autofirmato. Lo strumento che consente di creare un certificato autofirmato è chiamato MAKECERT ed è parte di Visual Studio SDK Tools. Il comando MAKECERT seguente creerà un certificato autofirmato e lo installerà automaticamente nell'archivio certificati di Windows "my":
makecert -r -pe -n "CN=MyTestServer" -b 07/01/2008 -e 07/01/2010 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12
È possibile esaminare i certificati nell'archivio certificati usando il provider di certificati:
PS IIS:\> dir cert:\localmachine\my
Directory: Microsoft.PowerShell.Security\Certificate::localmachine\my
Thumbprint Subject
---------- -------
7ABF581E134280162AFFFC81E62011787B3B19B5 CN=MyTestServer
Nota
L'identificazione personale del certificato sarà diversa!
Ora consente di usare lo snap-in di PowerShell IIS per creare un'associazione SSL e associarla al certificato appena creato
Creazione di un'associazione SSL
Si aggiunge l'associazione SSL al sito Web predefinito usando uno dei cmdlet basati su attività denominata New-WebBinding:
PS IIS:\> New-WebBinding -Name "Default Web Site" -IP "*" -Port 443 -Protocol https
È possibile esaminare la raccolta di binding usando il comando seguente:
PS IIS:\> Get-WebBinding 'Default Web Site'
protocol bindingInformation
-------- ------------------
http *:80:
https *:443:
Assegnazione del certificato all'indirizzo IP:Port dell'associazione IIS
Ora si ottiene un po 'difficile perché le impostazioni SSL vengono archiviate nell'archivio di configurazione HTTP.SYS e le convenzioni di denominazione sono un po 'diverse.
- In HTTP.SYS è necessario usare 0.0.0.0.0 per specificare tutti gli indirizzi IP; in IIS si usa un asterisco (*).
- In IIS si usa ":" per separare l'associazione. Poiché PowerShell vede invece un punto di unità come indicatore di unità viene usato un contrassegno esclamativo:
È possibile eseguire il CD nella directory IIS:\SslBindings ed eseguire query sulle associazioni SSL esistenti. La directory sarà vuota in un'installazione predefinita di IIS:
PS IIS:\> cd SslBindings
PS IIS:\SslBindings> dir
È ora possibile usare l'hash del certificato ottenuto nel passaggio 1 e associarlo a tutti gli indirizzi IP (0.0.0.0) e alla porta SSL 443:
PS IIS:\SslBindings> get-item cert:\LocalMachine\MY\7ABF581E134280162AFFFC81E62011787B3B19B5 | new-item 0.0.0.0!443
Il comando precedente ha generato l'associazione SSL seguente:
IP Address Port Store Sites
---------- ---- ----- -----
0.0.0.0 443 My Default Web Site
SSL è pronto per passare ora e è possibile passare al sito immettendo https://localhost
.
Riepilogo
È abbastanza semplice elaborare per configurare SSL con PowerShell. È necessario ottenere un certificato, creare un'associazione SSL in IIS e quindi usare l'indirizzo IP e la porta dell'associazione IIS per creare un'associazione SSL in HTTP.SYS.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per