V případě, že na IIS serveru (pro zjednodušení uvažuji jednu NIC, jednu IP adresu, žádný Apache či jiný non-IIS HTTP server) změním adresu, je potřeba opravit i konfiguraci SSTP. Při prvním kliknutí na záložku Security (Zabezpečení) ve vlastnostech RRAS serveru dostanu toto chybové hlášení:
Uvedený dialog mi divným jazykem sděluje, že musím zvolit buď stejný certifikát, který je nakonfigurován v IIS, případně musím v IIS nastavit stejný certifikát, který je v SSTP. Alternativně mohu zvolit Default (Výchozí) certifikát, který byl vytvořen při instalaci SSTP VPN – tohle má samozřejmě nevýhodu v tom, že takový self-signed certifikát je pro uživatele nedůvěryhodný. Existuje ještě poslední možnost, hezky zdokumentovaná zdea tady – omezit navazbení RRASu pouze na jednu vybranou adresu, ale to už jsem se dostal za hranice předpokladů definovaných v prvním odstavci. Nicméně důležité je si zapamatovat, že SSTP se standardně vazbí na všechny IP adresy a všechna síťová rozhraní.
Jak si ještě jinak zkontrolovat konflikt certifikátů? Našel jsem nápomocný článek na www.sevecek.com. Aktuální konfiguraci si vypíšu pomocí NETSH HTTP show sslcert. A z něj je patrné, co vyvolává tu chybovou hlášku:
IP adresa: port: 0.0.0.0:443
Algoritmus hash certifikátu: b348c7ee8ce67a16d4eb5ff1fb533af6baf6afe2
ID aplikace: {4dc3e181-e14b-4a21-b022-59fc669b0914}
Název úložiště certifikátů: My
IP adresa: port: 127.0.0.1:443
Algoritmus hash certifikátu: b348c7ee8ce67a16d4eb5ff1fb533af6baf6afe2
ID aplikace: {4dc3e181-e14b-4a21-b022-59fc669b0914}
Název úložiště certifikátů: MY
IP adresa: port: [::]:443
Algoritmus hash certifikátu: 0b74212ef8033df9269e7896930ff940cec39c7e
ID aplikace: {ba195980-cd49-458b-9e23-c84ee0adcd75}
Název úložiště certifikátů: MY
ID aplikace {4dc3e181-e14b-4a21-b022-59fc669b0914} představuje IIS, kdežto {ba195980-cd49-458b-9e23-c84ee0adcd75} identifikuje SSTP.
Řekněme, že tedy chci v SSTP VPN používat ten samý certifikát, který je v IIS. V RRAS konfiguraci si vyberu správný certifikát, stisknu Použít. RRAS se restartuje.
Když si provedu kontrolní výpis netsh http show sslcert, dostanu jednu změnu:
IP adresa: port: [::]:443
Algoritmus hash certifikátu: b348c7ee8ce67a16d4eb5ff1fb533af6baf6afe2
ID aplikace: {ba195980-cd49-458b-9e23-c84ee0adcd75}
Název úložiště certifikátů: MY
SSTP VPN tak má nyní sladěný certifikát jak pro IPv4, tak pro IPv6. Takže jdeme na test SSTP konektivity. Ale ouha. Co to?
Chyba tentokráte není na straně serveru, ale na straně klienta. Nový certifikát totiž pochází od jiné certifikační autority, případně od té samé certifikační autority, u které ale došlo k vygenerování nového certifikátu samotné CA, který tak tím pádem neodpovídá tomu, jenž je uložen v Trusted Root Certification Authorities počítače, z něhož chci SSTP VPN navázat. Po importu nového rootovského CA certifikátu už je vše OK (pozor, neimportovat do Trusted Root Certification Authorities přihlášeného uživatele!).
První přihlášení může trvat trochu déle, protože se mohou stahovat revokační list a diferenciální revokační list. Napodruhé už by to mělo vše šlapat rychleji.