In una configurazione di Active Directory, i "modelli di certificato" devono essere utilizzati dai client e dalla stessa CA ("Servizi certificati AD").
Per la CA , i modelli descrivono come devono essere rilasciati i certificati, tra cui:
- I contenuti del certificato, comprese tutte le estensioni, il periodo di validità e così via.
- Le condizioni di rilascio, ad es. se la richiesta deve essere firmata da qualche agente autorizzato RA o meno.
- I diritti di accesso al modello.
Ci sono molte varianti, perché i modelli sono stati arricchiti lungo le versioni di Windows (quindi ci sono i modelli "Windows 2000", "Windows 2003" e "Windows 2008"), e la stessa CA può essere "autonoma" o " impresa "- in quest'ultimo caso, la CA deve automaticamente alimentare gli account AD e ACL per sapere se una determinata richiesta di certificato deve essere onorato, mentre in una CA autonoma la maggior parte delle richieste sarà soggetta a un intervento manuale da parte il responsabile della CA (che farà clic su "emettere" o "negare").
L'albero AD contiene tutti i modelli conosciuti (puoi crearne uno tuo). La stessa CA (il servizio CS AD) "pubblicherà" alcuni di questi modelli: questo è l'elenco dei modelli che il servizio effettivamente utilizzerà.
In ogni caso, il contenuto delle richieste di certificati da parte dei clienti sarà per lo più ignorato (tranne, ovviamente, la chiave pubblica); i modelli decidono cosa deve fare i certificati, non la richiesta. Ci sono delle eccezioni; ad esempio, il modello può specificare che il nome del soggetto deve essere preso dalla richiesta, nel qual caso il SubjectDN e l'estensione del nome alt soggetto sarà importato "così com'è" dalla richiesta (al momento della configurazione , potresti ricevere un avvertimento dalla GUI che tale impostazione in un "PKI aziendale" può essere pericolosa perché chiunque sia autorizzato, a livello di AD, a richiedere tale certificato, può quindi inserire un nome arbitrario lì, quindi tu " d meglio ricontrolla i tuoi diritti di accesso).
Per il cliente , i modelli sono di consulenza: documentano il tipo di certificato che i clienti possono richiedere e cosa dovrebbero inserire nella richiesta. Ad esempio, il modello potrebbe affermare che i client devono utilizzare un CSP specifico (provider di servizi di crittografia) per generare la coppia di chiavi; dal momento che la CA non può effettivamente verificare che il CSP specificato è stato utilizzato, questo è solo a beneficio dei clienti. Alcune altre impostazioni sono utilizzate sia dal client che dal server (ad esempio la dimensione della chiave).
Il modello può essere utilizzato solo dai client che hanno accesso al server AD, ad esempio all'interno del dominio. I clienti esterni al dominio devono costruire le loro richieste in qualsiasi modo ritengano opportuno, sulla base di informazioni trasmesse fuori banda. Un metodo usuale, nel mondo Windows, per un client out-of-domain per generare una richiesta di certificato, consiste nell'utilizzare certreq.exe
strumento da riga di comando con un" file di criteri "e l'opzione -new
.
CertEnroll è un'API programmatica da utilizzare sul lato client; incapsula diverse funzionalità:
- CertEnroll può generare una nuova richiesta di certificato (inclusa la generazione di coppie di chiavi). Può farlo alimentando i parametri di richiesta forniti a livello di codice (ad esempio, tipo e dimensione della chiave). Può anche accedere automaticamente al server AD per ottenere le informazioni da un modello pubblicato.
- CertEnroll può parlare con la CA per inviare la richiesta.
- CertEnroll salva localmente le richieste (in un archivio certificati dedicato) in modo che, quando il certificato viene ricevuto e importato, il collegamento con la chiave privata (che non ha mai lasciato il computer client) possa essere ripristinato.
Per riassumere:
- I modelli di certificato sono il metodo con cui è possibile configurare ciò che la CA inserisce nei certificati emessi e in quali condizioni può emettere i certificati.
- I client devono inviare richieste che "funzionano" con ciò che la CA si aspetta (ad esempio, tipo e dimensione della chiave). I clienti possono utilizzare i modelli per ottenere tali informazioni, se hanno effettivamente accesso ai modelli (ad esempio, i client si trovano nel dominio). L'utilizzo dei modelli da parte dei clienti non è obbligatorio.
- Tuttavia, quando un client richiede un certificato, la CA deve "sapere" in qualche modo a quale modello si riferisce la richiesta. Il nome del modello può essere incluso all'interno della richiesta (come estensione specifica di Microsoft) o fornito insieme alla richiesta; CertEnroll e
certreq.exe
sanno come farlo.