Problém se SSL certifikátem na IIS 7.5
Narazil jsem na záludnou chybu při nastavování SSL bindings webu, který běží na víceuzlovém NLBS web clusteru a využívá SSL certifikát. Samozřejmě netřeba zdůrazňovat, že v IIS6.0 problém nebyl. Nejprve jsem na prvním uzlu clusteru vytvořil certifikát (CSR, potvrzení CA, dokončení vytvoření certifikátu). Poté jsem certifikát vyexportoval do PFX a chtěl jej naimportovat na druhý uzel farmy. “Best practises” říkají, že certifikát by měl být uložen bez možnosti zpětně exportovat privátní klíč, takže jsem příslušný checkbox odškrtnul (jako v dobách W2003 a IIS6.0). Pak jsem vytvořil adresáře na disku, zapnul sdílenou IIS shared konfiguraci a chtěl dokončit konfiguraci webů na druhém uzlu spárováním SSL bindings s příslušným certifikátem.
První, co člověka zarazí u wildcard certifikátu, je zašedlý Host name. Ačkoliv IIS shared konfigurace šlape, spárování IP adresy s konkrétním certifikátem je potřeba provést jednotlivě na každém uzlu farmy. Inu dobrá, vyberu příslušný wildcard certifikát, tím se mi zpřístupní i možnost zadání Host name (finta je v tom, že Friendly name wildcard certifikátu MUSÍ začínat hvězdičkou *, jinak se to nezpřístupní!).
Paráda, vše vypadá dobře, takže hurá na OK.
Tak tohle nevypadá dobře. Přitom v souboru applicationHost.config vypadá vše dobře. Začal jsem hledat, zdali se někdo nepotýká se stejným problémem – potýká :) Problém se mi podařilo nakonec vyřešit tím, že jsem smazal importovaný certifikát a naimportoval jej znovu, tentokráte s povoleným zaškrtávátkem, že tento certifikát lze opětovně exportovat s primárním klíčem. A ejhle, najednou SSL bindings fungují. Záludná chyba IIS 7.0/7.5.
Ačkoliv to z výše uvedeného popisu přímo nevyplývá, platí tato chyba i pro běžný FQDN SSL certifikát, ve kterém žádná hvězdička nestraší. IIS 7 a výš prostě nerado certifikáty, u nichž nelze exportovat privátní klíč.