Ho una buona conoscenza della crittografia X509, ecc., dalla mia carriera nel settore delle smart card. Quindi so che lo schema delle carte (ad esempio Visa, MasterCard) è il più alto livello di fiducia - firmano le chiavi dell'emittente per la successiva diversificazione e l'uso su gamme di smart card e l'emittente quindi firma le singole chiavi della carta - quindi la catena di fiducia è presenti.
La mia domanda riguarda in realtà qualcosa di leggermente diverso. Ho sviluppato un'applicazione, che desidero inserire sotto il controllo delle licenze. Ho sviluppato il mio database personale per contenere informazioni su utenti e licenze e tutte le chiavi distribuite saranno effettivamente crittografate utilizzando una chiave 3DES a 192 bit, decifrabile solo dal server.
Ho installato un client / server WCF - e ora mi avvicino al punto di dover risolvere la mia risposta all'applicazione client - che conterrà i dettagli della licenza autenticata, firmata dalla mia chiave privata per autenticità. Quindi ho bisogno di avere la chiave pubblica disponibile per quella applicazione client.
Posso ottenere un certificato SSL per il sito Web al quale si connette l'app client. La mia domanda è quindi se la mia app sarebbe in grado di utilizzare quella chiave pubblica o se dovrei creare una nuova coppia di chiavi, firmata dal certificato SSL del mio sito Web, dandomi effettivamente una chiave separata da utilizzare per l'autenticazione di questa applicazione.
Inoltre - la chiave pubblica dovrebbe essere distribuita con l'applicazione, come un file installabile? Mentre scrivo questo, penso che probabilmente dovrebbe esserlo, dato che ho bisogno di consentire le registrazioni offline.