Domanda

Stiamo cercando di attivare la nostra ricca applicazione client C ++ di Windows di utilizzare carte DoD CAC.

Stiamo usando una libreria di terze parti per assicurare la nostra comunicazione client / server utilizzando SSL, e riconosce / maniglie generiche le smart card, ma solo se il certificato è stato creato da una propria applicazione in bundle.

Perché? non è un certificato di un certificato? Come fanno variano?

In particolare, qualcuno mi può punto di condensato, documentazione tecnica che spiega ciò che è richiesto dallo standard rilevanti e ciò che resta implementazione definita? Ho provato a guardare il reale specifiche, ma sono troppo dettagliati, e ho trovato articoli molto vaghi, che non rispondono alle mie domande. Sto cercando una via di mezzo.

È stato utile?

Soluzione

Non ho abbastanza punti per commentare, ma ho voluto essere d'accordo con @Jay. È probabile che sia necessario configurare questa libreria di terze parti a fidarsi dei certificati di origine DoD, in modo che quando un utente CAC presenta il suo cliente cert, la vostra applicazione può fidare.

Il DoD certificati di origine sono a disposizione del pubblico: http://dodpki.c3pki.chamb.disa.mil/rootca.html

Anche se il comportamento si sta osservando è che il cliente non è nemmeno sempre richiesto di scegliere un cert cliente, o non stanno osservando un cert cliente di essere inviato nella traccia del pacchetto, allora questo può anche essere perché il server esegue non fidarsi del DoD CA. Quando quando un server ben educati richiede un cert client, pubblicizza anche i nomi distinti (DN) del CA di che si fida. Un cliente ben educati sarà quindi ispezionare quella lista, e confrontare quei nomi le emittenti dei certs cleint che ha a disposizione. Se non v'è alcuna corrispondenza, allora il cliente invierà un cert "null". So IIS / Apache e Firefox / IE / Chrome si comportano in questo modo. Opera, tuttavia, non sembra di discriminare sulla base delle emittenti pubblicizzati, e invierà alcuna cert che il cliente è in giro.

Altri suggerimenti

  • Un certificato è un certificato. I certificati sono di solito "creati" da un CA, non dal fornitore di software di personalizzazione smart card. L'accesso alle chiavi è ciò che conta quando si utilizzano le smart card.
  • Pensate di smart card come CD-s. Hanno tutti lo stesso aspetto, ma è necessario conoscere il formato del disco. Sì, c'è un formato "generico" che può essere letto dalla maggior parte dei computer, ma alcuni software speciale può scrivere roba speciale sul disco, gli altri non possono leggere.

Ultimo ma non meno importante, se i vostri rende il software utilizzare di PKCS # 11 quindi fino a quando si dispone di un provider PKCS # 11 per la scheda (ci sono diversi moduli CAC e "generici" carte vendor vengono solitamente con uno pure) non c'è bisogno di preoccuparsi il cartellino, perché PKCS # 11 astrae i dettagli di distanza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top