Sorry, mijn vorige bijdrage (gisteren bijgewerkt 23:24) klopt niet. Na wat uitzoekwerk het volgende.
1) authroot.stl (uit authrootstl.cab) bevat
geen certificaten, maar metadata van (door MS) vertrouwde rootcertificaten.
2) By default staan maar een beperkt aantal rootcertificaten in het register en zijn daamee zichtbaar in "certlm.msc".
3) Verreweg de meeste certificaten staan in "c:\Windows\SystemResources\crypt32.dll.mun". Ik raad de TS aan om te checken of die file bestaat, en zo ja, of de signature klopt. Bestanden onder C:\Windows\ hebben meestal een
detached signature, waardoor je geen signature tabblad ziet in de eigenschappen/properties van die file. Die signature kun je het makkelijkst checken met sigcheck.exe/segcheck64.exe van Mark Russinovich (zie
https://docs.microsoft.com/en-us/sysinternals/downloads/sigcheck). Output bij mij:
c:\Windows\SystemResources\crypt32.dll.mun:
Verified: Signed
Signing date: 10:47 2019-06-08
Publisher: Microsoft Windows
Company: Microsoft Corporation
Description: Crypto API32
Product: Microsoft« Windows« Operating System
Prod version: 10.0.18362.1
File version: 10.0.18362.1 (WinBuild.160101.0800)
MachineType: 32-bit
4) Door te draaien:
certutil -generateSSTFromWU roots.sstwordt een file roots.sst gemaakt met daarin alle momenteel door Microsoft vertrouwde rootcertificaten. Terwijl ik dat deed (met Wireshark aan) zag ik dat eerst authrootstl.cab werd gedownload, en daarna 27 rootcertificaten afzonderlijk werden gedownload die kennelijk zijn toegevoegd of zijn vernieuwd t.o.v. wat er in crypt32.dll.mun zit.
5) Door op die roots.sst file te dubbel-klikken, wordt een certmgr instantie gestart. Daarin is te zien (in de statusbalk, onderaan), dat er 395 rootcertificaten in die file zitten.
6) Nu werkt het volgende (dit heb ik zelf zojuist getest, maar zie de "LET OP" hieronder):
- Start (als admin) certlm.msc
- Ga naar "Certificates - Local Computer" -> "Trusted Root Certification Authorities" -> "Certificates"
- Rechts-klik erop, kies "All Tasks" -> "Import"
- Kies voor alle soorten files en importeer roots.sst
In certlm.msc zijn daarna alle rootcerts te zien, volgens de statusbalk zijn dat 399 certificaten (dus 4 meer).
LET OP: hiermee worden ook een heel stel verlopen en zelfs revoked certificaten ingeladen! De enige reden die ik kan bedenken waarom Microsoft door de uitgever ingetrokken rootcertificaten als "vertrouwd" blijft beschouwen, is dat anders een heel stel authenticode-signed files ongeldig kunnen worden (het idee is dat zo'n signature geldig blijft als een of meer van de betrokken certificaten worden ingetrokken
nadat de timestamp is toegevoegd aan de digitale handtekening).
7) Om te checken of er MEER rootcertificaten zijn geïnstalleerd dan "vertrouwd door Microsoft" kun je draaien:
sigcheck64.exe -tuv. Daarmee wordt ook (ongemerkt maar zichtbaar met wireshark) authrootstl.cab gedownload, en er wordt gemeld welke rootcertificaten er zijn geïnstalleerd die
NIET in die authootstl.cab file voorkomen. Bij mij leidde dat tot de volgende output:
Sigcheck v2.72 - File version and signature viewer
Copyright (C) 2004-2019 Mark Russinovich
Sysinternals - www.sysinternals.com
Listing valid certificates not rooted to the Microsoft Certificate Trust List:
User\Root:
XBL Client IPsec Issuing CA
Cert Status: Valid
Valid Usage: Server Auth, Client Auth
Cert Issuer: XBL Client IPsec Issuing CA
Serial Number: 1D E1 67 98 91 AB E5 4E 81 BB DF 3F B8 BE CA 8C
Thumbprint: EBE112F56D5FE0BA23289319C89D7784A10CEB61
Algorithm: sha256RSA
Valid from: 04:11 2013-09-16
Valid to: 04:11 2028-09-21
XBL Server IPsec Issuing CA
Cert Status: Valid
Valid Usage: Server Auth, Client Auth
Cert Issuer: XBL Server IPsec Issuing CA
Serial Number: 4B 6F 9D 94 F5 C0 AC 48 A6 92 C1 87 AB 61 B5 D0
Thumbprint: 645984515AB9FB7AE8065B9DDB0E908F8E870ED5
Algorithm: sha256RSA
Valid from: 04:11 2013-09-16
Valid to: 04:11 2028-09-21
Die rootcertificaten hebben, volgens een zoektocht op internet, kennelijk iets te maken met XBox Live (waar ik helemaal niets mee doe) maar die zouden ook kunnen zijn toegevoegd door het bezoeken van de Windows Store. Kennelijk is het Client certificaat gebruikt voor het ondertekenen van een "Personal" IPSec certificaat dat maar 1 dag geldig is, en -notabene- een 1024bit RSA key bevat. Vies allemaal, ik ga die 2 roots verwijderen en ga in de gaten houden onder welke omstandigheden ze precies weer terugkomen (mocht dat gebeuren).
8) Daarna heb ik handmatig vergeleken welke andere twee rootcertificaten er in de "Trusted Root Certification Authorities" store op mijn PC zitten (te zien met certlm.msc) en niet in de roots.sst file:
A) OU = Copyright (c) 1997 Microsoft Corp.
OU = Microsoft Time Stamping Service Root
OU = Microsoft Corporation
O = Microsoft Trust Network
Geldig tot "Friday, 31 December 1999 01:59:59"
Thumbprint (SHA1): 245c97df7514e7cf2df8be72ae957b9e04741e85
B) CN = Microsoft Authenticode(tm) Root Authority
O = MSFT
C = US
Geldig tot "Saturday, 1 January 2000 01:59:59"
Thumbprint (SHA1): 7f88cd7223f3c813818c994614a89c99fa3b5247
Waarom die twee niet gemeld worden bij stap 7 hierboven is me nog een raadsel, want genoemde SHA1 hashes komen niet voor in een dump van authroot.stl (middels "certutil -dump authroot.stl"), terwijl SHA1 hashes van andere certificaten daar wel in voorkomen (met grep en uniq zag ik dat er in authroot.stl 395 unieke hashes staan, steeds achter "Subject Identifier: ").