Web Enrollmemnt sayfasından Certificate Request yaparken gets "An Unexpected error has occurred" hatası alınıyor ve Event ID 96 loglanıyor

 

Web Enrollmemnt sayfasindan Certificate Request yaparken gets "An Unexpected error has occurred" hatasi aliniyor ve asagidaki Event ID 96 loglaniyorsa

 

Event Type:        Error

Event Source:    CertSvc

Event Category:                None

Event ID:              96

Date:                     4/20/2011

Time:                     3:05:01 PM

User:                     N/A

Computer:          N/A

Description:

Certificate Services could not create an encryption certificate.  Requested by Domain\computer.  lMaxVerPages exceeded (XJET only) 0xc800042d (ESE: -1069).

bu durumun nedeni CA database’inde oldukça fazla sayida failed request bulunmasi ve database boyutunun oldukça büyümesi olabilir. Default lokasyon %windir%\system32\certlog

Bu durumda bu database boyutunun bu failed request ler silinerek küçültülmesi gerekmektedir. Bu islemi yapmadan önce CA in backup’i alinmali :

CA ( Certification Authority ) ya da AD CS ( Active Directory Certificate Services ) ‘in yedeginin alinmasi. Bu adim herhangi bir sorun olustugunda geri dönebilmeniz açisindan oldukça önemlidir. Dolayisiyla bu adimi uygulamadan diger adimlara geçmenizi kesinlikle önermiyorum.

A- Certification Authority konsolunu açiniz.

B- CA ismi üzerinde sag klik yapilarak –> All Tasks –> Back up CA –> Next

C- Asagidaki seçenekleri seçerek devam ediniz

- Private key and CA certificate

- Certificate database and certificate database log

- Browse butonunu tiklayarak bir Backup lokasyonu belirleyiniz. Sistem disk sürücüsü disinda bir sürücü ya da bir network kaynagi seçmenizi öneririm.

D- Private Key için bir password yazin ve Next ‘I seçerek ilerleyin.Dosyalarin belirtilen lokasyonda oldugundan emin olunuz.

E- Sonrasinda kayit defterini Regedit komutu ile açiniz ve HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CertSvc\Configuration lokasyonunun yedegini export seçenegi ile ayni lokasyona aliniz.

ve sonrasinda  asagidaki uygulamalardan biri vasitasi ile failed request ler silinerek database boyutunun küçültülmesi gerekmektedir ;

A- Asagidaki gibi içerikteki bir bat dosyasi yardimi ile 

:start

Certutil –deleterow <date> request

Goto start

B- Ya da asagidaki gibi içerikteki bir vbs scrtipt dosyasi yardimi ile silebilirsiniz.

Set objShell = CreateObject("WScript.Shell")

Set objWshScriptExec = objShell.Exec("certutil -silent -view -out ""RequestID"" LogFail")

Set objStdOut = objWshScriptExec.StdOut

Do Until objStdOut.AtEndOfStream
strLine = objStdOut.ReadLine
If Len(strLine) > 10 Then

Set regEx = New RegExp
regEx.Pattern = "( .*?\(|\))"
regEx.IgnoreCase = True
regEx.Global = True
regEx.MultiLine = True
WScript.Echo "Deleting: " & strLine
Set objWshScriptExec = objShell.Exec("certutil -deleterow " & regEx.Replace(strLine, ""))

End If
Loop

 

Bu islemler sonrasi artik requestlerde hata almayacaksiniz .