Archívum

Posts Tagged ‘Web Enroll’

CA tanúsítvány igénylése – webes felület

április 19, 2021 Hozzászólás

Adott helyen bevezetésre került egy CA-infrastruktúra, létrehoztuk a sablonokat, majd felmerült, hogy miként lehet tanúsítványokat kérni egy adott sablon alapján, ha annak verziója >=3. Ez a kitétel azért fontos, mert felkerült a webes komponens is, így első körben böngészőből szerették volna kezelni.

Mivel ez a téma eddig csak érintve volt (a PKI-sorozatban: Public Key Infrastructure (PKI) 2. rész), megpróbálok pár gondolatot összeírni.

Egyik kolléga régebbi kérdésére szeretném tisztázni, hogy már az alap CA-szolgáltatás telepítésekor létrejön a CertEnroll mappa. Ha telepítjük a webes komponenst, akkor az IIS-ben a Default Web Site alatt is megjelenik, de a nevével ellentétben nem az igénylés célját szolgálja, abba a mappába (ami ráadásul fizikailag alapértelmezetten a CertSrv alatt van) általában a CA tanúsítványa, az alap CRL és a Delta-CRL (ahol a < DeltaCRLAllowed> engedélyezett volta esetén egy “+” jel látszik), illetve egy nsrev_CANév.asp állomány található (ami a Netscape (iPlanet) alkalmazás tanúsítvány-visszavonásához köthető).

Tehát akkor maradjunk a https://szervernév/CertSrv oldalon (alapból nincs 443 porton publikálva!), a “Request a certificate” link után kétféle felület fogadhat bennünket, kezdem az alapesettel:

,

majd az ACR-re történő kattintás után jön elő az alábbi:

vagy egyből az ACR-ben találjuk magunkat.

Ez utóbbi akkor történik, ha az adott felhasználónak nincs (vagy tiltva van) az “Enroll” jogosultság a “User” sablonhoz (akár közvetlenül, akár csoporton keresztül).

Technikailag, a weboldal kódja úgy van felépítve, hogy a “User” sablon elérhetőségétől függően a certrqad.asp vagy certrqus.asp (esetleg certrqxt.asp) oldal töltődjön be (=> URL-szerkesztéssel is be lehet hozni a kért oldalt 🙂 ):

If “Enterprise”=sServerType Then

    If IsUserTemplateAvailable()=False Then

    fShowRQAD = True %>

    <TD><LocID ID=locLblRequestCert><A Href=”certrqad.asp“><Font Face=”Arial”>Request a certificate</Font></A></LocID></TD>

<%    End If

End If

If fShowRQAD=False Then %>

    <TD><LocID ID=locLblRequestCert><A <%If “Text”=sBrowser Then%> Href=”certrqxt.asp” <%Else%> Href=”certrqus.asp” <%End If%>><Font Face=”Arial”>Request a certificate</Font></A><LocID></TD>

<%End If%>

Nézzük akkor tételesen az ACR oldalon található két linket.

A Submit oldalon egyértelmű a történet, egy már meglévő tanúsítvány-igényt tudunk beadni:

De adott helyen az első opció (Create and submit) volt fontos, ahol “lokálisan” tudjuk elkészíteni az igényt (tehát nem már létező req-et nyújtunk be):

Itt szerettek volna tanúsítványt igényelni – ehhez viszont szükséges, hogy megjelenjen a sablon. Ugyanis a bevezetőben említett sablon-verziók a webes részen nem jelennek meg.

Kerülő-megoldásként egyrészt megpróbálhatjuk a rendszert “átverni” – természetesen, mint ahogy a cikk is említi, fokozott figyelemmel és csomó teszteléssel, másrészt más (nem böngésző-alapú) módszert használunk tanúsítvány-igénylésre. Jelen cikk az előbbit járja körül: az “átverésnek” több módja is van, a végeredmény ugyanaz:

  • létrehozunk egy v1 vagy v2 sablont, majd utólag módosítjuk “nagyobbra”
  • egy már létrehozott sablon verzió-értékét írjuk át az AD-ban (mint a cikk teszi)

Nem lehet elégszer hangsúlyozni, hogy ezt tesztelni kell! Sőt, a weboldal bizonyos esetekben nem is töltődik be jól minden böngészőben, néha érdemes IE-t használni (nos igen, itt is látszik, hogy MS kicsit hanyagolja). Ráadásként IE-ben is lehetnek gondok, pl. ez.

Személy szerint van ennél jobban kedvelt igénylési módszerem (a grafikus mmc-konzol használata szinte gyerekjáték, ha tudjuk, hogy milyen tanúsítványt akarunk 🙂 ), de tervezem, hogy egy következő cikkben megnézzük az egyik leggyakrabban használt parancssoros opciót.