Translated from: PowerShell script to download the Belgian eID root and intermediate certificates

Wanneer je AD gebruiks wil toelaten om aan te loggen op AD met hun (Belgische) eID card, moet je de AD / PKI omgeving configureren om de root en intermediate CA van de Belgische overheid te herkennen.

Daarvoor moet je de certificaten downloaden en hen toevoegen aan de trusted root en intermediate certificate authorities van je AD/PKI.

Je kan ze natuurlijk manueel downloaden van: http://repository.eid.belgium.be/index.php?lang=en
De certificaten lijst is eigenlijk beschikbaar op: http://certs.eid.belgium.be/

Je kan natuurlijk een downloadmanager gebruiken. 

Maar het is even handig om met een gratis Powershell script de download te automatiseren.

Hier gaan we:

#----------------------------------------------------------------------------------------------------
# Original Author: Peter Geelen
# e-mail:
#peter@fim2010.be
# Web: blog.identityunderground.be
#----------------------------------------------------------------------------------------------------
# Set base parameters
#----------------------------------------------------------------------------------------------------

$sourceURL="http://certs.eid.belgium.be/"
$sourceEXT="crt"

$destination="D:\Downloads\eID\allcerts"

#----------------------------------------------------------------------------------------------------
# generate list of current eID certs
#----------------------------------------------------------------------------------------------------

#open web connection

$webclient= New-Object Net.Webclient

$htmlData  = $webclient.DownloadString("$sourceURL")

#skip header info

$index= $htmlData.IndexOf("Description")

$htmlData  = $htmlData.substring($index)

#find first cert URL (after header info)

$startpos= $htmlData.IndexOf("a href")

$fileList  = @()

$datelist= @()

)

#find first cert URL (after header info)

$startpos=while ($startpos -ge 0)

{

    $htmlData  = $htmlData.substring($startpos+8)

    $endpos = $htmlData.IndexOf(">")

    $filename = $htmlData.Substring(0,$endpos-1)

    $startpos = $htmlData.IndexOf("right"">")

    $htmlData  = $htmlData.substring($startpos+7)

    $endpos = $htmlData.IndexOf(" <")

    $date = $htmlData.Substring(0,$endpos)

    if ($filename.Contains($sourceEXT))

    {

        $fileList += $filename
        $datelist += $date

    }

    $startpos = $htmlData.IndexOf("a href")

} 

#----------------------------------------------------------------------------------------------------
# download all current eID certs
# from URL
# to local folder
#----------------------------------------------------------------------------------------------------

$counter= 0

foreach ($file in $fileList)
{

$from= $sourceURL + "/" +$file

$to=  $destination + "\" +$file

$to
$region
= [Globalization.CultureInfo]::CreateSpecificCulture('en-US')

$webclient.DownloadFile($from, $to)

$creationdate= [datetime]::parseexact($datelist[$counter].Trim(),"dd-MMM-yyyy HH:mm",$region)

#$creationdate

 

#set creation date to original timestamp
Get-Item
$to | % { $_.CreationTime = $creationdate }

$counter+=1
}

En je krijgt de gratis add-on voor de CRL download erbij.

Je past gewoon het script aan.
Wijzig de download URL naar : http://crl.eid.belgium.be/
En
de file extension wordt "crl".