_GetCertificateCount Certificaatfunctie

Met _GetCertificateCount wordt het aantal certificaten bepaald in de 'Certificate Store' waarvan één van de velden van het 'Subject' de opgegeven tekenreeks bevat. Er kan alleen gezocht en het aantal bepaald worden in een bepaalde groep ('Store') van certificatem zoals 'Personal' en 'Trusted People'. Verder kan alleen gezocht worden naar computer of persoonlijke certificaten.

_GetCertificateCount (Subject)
_GetCertificateCount (Subject, Store)
_GetCertificateCount (Subject, Store, Location)

Subject (MergedString)
In Subject wordt een tekenreeks opgegeven die voor moeten komen in één van de velden van het 'Subject' van het gezochte certificaat.

Store (MergedString)
In Store wordt optioneel de groep van certificaten vermeld waarbinnen geazocht en het aantal bepaald moet worden. Indien Store niet is vermeld dan wordt de 'Personal Ceritificate Store' gekozen. De waarde van Store wordt gecodeerd met 2 letters:

PS=Personal Certificate Store
OU=Other Users
CA=Third Party Certificate Authories
IC=Intermediate Certificate Authories
RD=Revoked CS Ingetrokken Certificaten
TR=Trusted Root Certificate Authories
TP=Trusted people and resources
TU=Trusted publishers

Location (MergedString)
In Location wordt optioneel de locatie van de te doorzoeken 'Certificate Store' opgegeven. Er zijn twee mogelijke locaties: de persoonlijke of de computer certificaten. Indien Location niet is vermeld dan worden de certificaten van de huidige gebruiker geselecteerd. De waarde van Location wordt gecodeerd met 1 letter:

C=Current User
L=Local Computer

Voorbeeld:
{
 Integer iCnt
 String sSubject, sLocs, sStores, sLoc, sStore
 
 Copy(sSubject,procesinfrastructuur)
 iCnt = _GetCertificateCount([sSubject])
 Copy(sLocs,CL)
 While Length([sLocs])
  Copy(sLoc,[#1 sLocs])
  Copy(sLocs,[>1 sLocs])
  Copy(sStores,PS-OU-CA-IC-RD-TR-TP-TU)
  While Length([sStores])
   Copy(sStore,[#2 sStores])
   Copy(sStores,[>3 sStores])
   iCnt = _GetCertificateCount([sSubject],[sStore],[sLoc])
}
Er zijn [iCnt] [sSubject] Certificaten in de: [sStore] store van: [sLoc]
{
  Wend
 Wend
}

Resultaat:
Er zijn 2 procesinfrastructuur Certificaten in de: PS store van: C
Er zijn 1 procesinfrastructuur Certificaten in de: OU store van: C
Er zijn 0 procesinfrastructuur Certificaten in de: CA store van: C
Er zijn 0 procesinfrastructuur Certificaten in de: IC store van: C
Er zijn 0 procesinfrastructuur Certificaten in de: RD store van: C
Er zijn 0 procesinfrastructuur Certificaten in de: TR store van: C
Er zijn 2 procesinfrastructuur Certificaten in de: TP store van: C
Er zijn 0 procesinfrastructuur Certificaten in de: TU store van: C
Er zijn 1 procesinfrastructuur Certificaten in de: PS store van: L
Er zijn 0 procesinfrastructuur Certificaten in de: OU store van: L
Er zijn 0 procesinfrastructuur Certificaten in de: CA store van: L
Er zijn 0 procesinfrastructuur Certificaten in de: IC store van: L
Er zijn 0 procesinfrastructuur Certificaten in de: RD store van: L
Er zijn 0 procesinfrastructuur Certificaten in de: TR store van: L
Er zijn 2 procesinfrastructuur Certificaten in de: TP store van: L
Er zijn 0 procesinfrastructuur Certificaten in de: TU store van: L