Kezdőoldal > PKI, Windows Server > Public Key Infrastructure (PKI) 3. rész – konkrét probléma

Public Key Infrastructure (PKI) 3. rész – konkrét probléma


Megvolt az elmélet (1. rész, 2. rész) – jöhetett a gyakorlat. Adott helyen egy nyomozás kiderítette, hogy az ISA szerver lejárt tanúsítványa okoz gondot a Mátrixban hálózatban.

Mivel tartományi gépről volt szó, s Enterprise CA-ról, a furcsa az volt, hogy nem kért/kapott magának automatikusan új tanúsítványt. Az összes többi gép a hálózatban rendben működött – de az ISA nem, az automatikus igénylés folyamatosan RPC-hibára panaszkodott.

Ekkor vettem végig az előző cikkben említett módszereket: az mmc konzolon keresztüli frissítés szintén RPC-hibára panaszkodott, a webes felületen pedig nem volt elérhető a Computer sablon. Mielőtt még nekiálltam „kézzel” generálni, átfutottam ezt is, itt is a már említett módszerek voltak felsorolva:

The “Advanced Certificate Enrollment and Management” white paper describes various methods for requesting certificates from an enterprise CA. For example, you can request certificates by using the Web-based CA interface, by creating .inf files that contain certificate information, by using the Certreq.exe utility, and by using the Certutil.exe utility.

Következett a kézi generálás a CertReq használatával. Ha egy új tanúsítványt hozunk létre, akkor alapnak elég ez:

[NewRequest]

Subject=”CN=computer.domain.hu”
KeyLength=1024
MachineKeySet=TRUE
Silent=TRUE

Ha már létezőt akarunk megújítani, akkor a

certutil -store my

paranccsal kilistázott tanúsítványokból (értelemszerűen nem az Archived! jelzéssel ellátottból) tudjuk kiolvasni azt az adatot, amit az alábbi két sor egyike tartalmaz (amit majd az .inf állományhoz kell illesszünk):

UseExistingKeySet=TRUE
KeyContainer=”ea725e035fb897b670fb28f41358ae5f_4a40ddf8-1ce7-4886-bf3d-a97870755888″

A kérelem tartalmát a certutil -dump newreq.req parancs segítségével tudjuk megnézni, ha viszont megvan a tanúsítvány, akkor a certreq –accept utasítással tudjuk importálni a cél-gépre.

A kérelem létrehozásakor egy Access denied hibaüzenetet fogadott, így a %AllUsersProfile%\application data\microsoft\crypto\rsa\machinekeys mappának minden állományán átállítottam a jogokat (Adminoknak full jog – valamiért nem örökölte). Ezután már a „bővített” kérést is elfogadta, mármint létrehozta a request állományt. A request-et viszont a CA továbbra sem fogadta el, a sablon hiányára vonatkozva (The request contains no certificate template information 0x80094801 (-2146875391). Denied by Policy Module 0x80094801).

Ha betettem a

[RequestAttributes]

CertificateTemplate=Computer

sorokat, a CA továbbra is beintett, de a Computer helyett Machine sablont kérve máris más jellegű hibaüzenet került elő.

(Mivel innentől egy másik irányba mentem el, leírom egy általános kérelem formáját:

[NewRequest]

Subject = “CN=computer.domain.hu”
KeySpec = 1
KeyLength = 1024
Exportable = TRUE
MachineKeySet = TRUE
SMIME = False
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = “Microsoft RSA SChannel Cryptographic Provider”
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0  

[RequestAttributes]

CertificateTemplate=Machine

Ezt tudjuk a mi igényünk szerint átszabni.)

Szóval a fenti próbálkozás kapcsán a The DNS name is unavailable and cannot be added to the Subject Alternate name. 0x8009480f (-214875377) hibaüzenet fogadott. Már kicsit kóválygott a fejem, így anélkül, hogy logikusan végig-gondoltam volna az értelmét, elindultam ebbe az irányba. Lefuttattam az alábbi parancsot:

CERTUTIL -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2

utána kaptam (kiemelés tőlem):

SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\TTRootCA3\PolicyModules\CertificateAuthority_MicrosoftDefault.Policy\EditFlags:

 Old Value:

  EditFlags REG_DWORD = 11014e (1114446)
    EDITF_REQUESTEXTENSIONLIST — 2
    EDITF_DISABLEEXTENSIONLIST — 4
    EDITF_ADDOLDKEYUSAGE — 8
    EDITF_BASICCONSTRAINTSCRITICAL — 40 (64)
    EDITF_ENABLEAKIKEYID — 100 (256)
    EDITF_ENABLEDEFAULTSMIME — 10000 (65536)
    EDITF_ENABLECHASECLIENTDC — 100000 (1048576)

New Value:

  EditFlags REG_DWORD = 15014e (1376590)
    EDITF_REQUESTEXTENSIONLIST — 2
    EDITF_DISABLEEXTENSIONLIST — 4
    EDITF_ADDOLDKEYUSAGE — 8
    EDITF_BASICCONSTRAINTSCRITICAL — 40 (64)
    EDITF_ENABLEAKIKEYID — 100 (256)
    EDITF_ENABLEDEFAULTSMIME — 10000 (65536)
    EDITF_ATTRIBUTESUBJECTALTNAME2 — 40000 (262144)
    EDITF_ENABLECHASECLIENTDC — 100000 (1048576)

CertUtil: -setreg command completed successfully.
The CertSvc service may need to be restarted for changes to take effect.

Ennek értelemszerűen akkor van értelme, ha a kérelmet kiegészítjük az alábbi sorral:

[RequestAttributes]
SAN=dns=abc.domain.hu&dns=ldap.domain.hu

De esetünkben nem ez volt a gond, így természetesen ez sem hozott megoldást.

Össze voltam zavarodva.

Megpróbáltam visszatérni a grafikus felületre, így ismét a webes igénylést vettem górcső alá. Jött az ötlet, miszerint másoljam le a Computer tanúsítvány-sablont (mert a CA-n mégiscsak ez volt a neve, nem Machine), s ez alapján hozzam létre az igényt. A Certificate Templates-en jobb klikk, másolás megtörtént, s ott átállítottam, hogy Subject Name fülön Supply in the request szerepeljen. A webes oldalon való megjelenéshez még szükséges egy New / Certificate template to issue. A probléma nem oldódott meg ezután sem…

Mondhatni szerencsére közbejött más intéznivaló, így ezt félbehagytam.

Csak arra nem gondoltam, ami a legkézenfekvőbb lett volna: a gép újraindítása. Ez ugyanis (mint időközben kiderült) megoldotta a problémát, kapott végre egy normális tanúsítványt (lehet, hogy az egész csak jogosultsági gond volt, amit már az elején megjavítottam?).

Az új tanúsítvány esetén még arra kell figyelni, hogy ISA lévén, még van további tennivalónk: az ISA konzolon, a Config / Networks / Internal / Web Proxy fülön a tanúsítványra rá kell mutatni.

Nem tartozik a témához, de menet közben begyűjtöttem pár OID-ot (amelyek itt vannak említve), pár használtabb:

[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1 ; Server Authentication
OID=1.3.6.1.5.5.7.3.2 ; Client Authentication
OID=1.3.6.1.4.1.311.20.2.2 ; Smart Card Logon

Egyéb hasznos certutil parancsok:

certutil -store my: a tanúsítványok parancssoros listázása és megjelenítése
certutil -viewstore my: a tanúsítványok grafikus listázása és megjelenítése
certutil -viewdelstore my: a tanúsítványok grafikus felületen történő törlése
certutil -delstore my <certid>:  a <certid> azonosítóval rendelkező tanúsítvány törlése

További olvasnivalók:

CA hibaüzenetek itt.

A Certreq szintaxisa, az inf állomány lehetséges mezői, típusai itt.

Advertisements
Kategóriák:PKI, Windows Server
  1. Még nincs hozzászólás.
  1. No trackbacks yet.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: