tls-sni-01 funguje tak, ze se hashuje token + '.' + key. token je soucasti konkretni challenge, key je udaj z uctu zadatele. Vystaveny certifikat je na pouze jedno jmeno a to je ten hash. HTTPS client se pak na jmeno dotaze a pokud mu server odpovi, je overen.
tls-sni-02 hashuje zvlast token a zvlast key. Self-signed certifikat je na dve domenove jmena a to na hash tokenu a hash key (s tim acme.invalid okolo). HTTPS client se pta na hash tokenu a nesmi nijak prozradit key. Overi tedy, ze zadatel zna key.
Z diskuse okolo vyplynulo, ze nektere web-hostingy umoznuji nahrat libovolny HTTPS certifikat pres web rozhrani. U tls-sni-01 ale musi znat dopredu key. HTTPS client sice key efektivne prozradi, ale to uz je pozde na to, aby tam utocnik nahral certifikat pres web rozhrani. Zaroven se asi key nedozvi pro dalsi pokus (key se narozdil od tokenu nemeni).
Nevsiml jsem si, ze by Lets Encrypt zakazal i tls-sni-02. Pokud ano, zrejme nejak dochazi k prozrazeni key.