Solo per aggiungere il mio centesimo.
Non sono a conoscenza di tali strumenti pronti, tuttavia questa funzione è stata richiesta da un mio cliente qualche tempo fa. Alla fine, ho finito con la mia soluzione PowerShell per Windows. Ecco due post del blog in cui descrivo il comportamento:
Sebbene i post si riferiscano a Microsoft ADCS, esiste un parametro -Certificate
in cui puoi passare un certificato arbitrario.
Generalmente, lo script fa quanto segue:
- Prepara il certificato di input;
- Esegui una catena per ogni certificato per selezionare ancore affidabili e passare attraverso la catena;
- Recupera tutti gli URL degli emittenti da AIA;
- Convalidare ogni url (deve essere http o ldap) e provare a scaricare il contenuto;
- Se i contenuti vengono scaricati, verifica se si tratta di un certificato;
- Verifica se il certificato scaricato è un emittente del certificato in oggetto;
- Convalidare altre proprietà del certificato;
- Estrai URL dall'estensione CDP;
- Convalidare ogni url (deve essere http o ldap) e provare a scaricare il contenuto;
- Se i contenuti vengono scaricati, verifica se si tratta di un CRL;
- convalida le proprietà CRL di base, come la validità (non ancora valida, scaduta, in scadenza);
- Convalida se il CRL ha una firma valida (rispetto al certificato CA);
- Fai lo stesso per i DeltaCRL;
- Estrai tutti gli URL OCSP dall'estensione AIA;
- Convalidare la risposta OCSP inviando richiesta OCSP ed elaborando la risposta;
- Scrivi report sullo stato (gestito, mantengo l'oggetto report e puoi accedere alle proprietà del report);
- Ripeti i passaggi da 3 a 16 per ciascun certificato successivo nella catena fino al certificato di origine;
- Componi il rapporto di riepilogo.
Non tutti quelli che hai richiesto (i certificati incrociati non sono verificati), ma sufficienti per un buon inizio.
Dove si trova l'ultima versione della sceneggiatura? Fa parte del mio modulo PKI PowerShell. Scarica le fonti della versione più recente: link
ti serviranno solo tre file:
-
Get-EnterprisePKIHealthStatus.ps1
-
PKI.Core.dll
-
SysadminsLV.Asn1Parser.dll
Tutti i file sono firmati digitalmente da me. Se ti preoccupi delle DLL, sono aperte: PKIX.NET (PKI.Core.dll) e Asn1DerParser.NET (SysadminsLV.Asn1Parser.dll)
e l'ultima guida in linea per la funzione PowerShell: Get-EnterprisePKIHealthStatus .
HTH