Abbiamo bisogno di fornire una chiave di licenza ai clienti per la nostra applicazione. La licenza attuale è XML, ma è necessario crittografarla e quindi nel nostro programma decrittografarla. Penso che sia il seguente, ma sto chiedendo di assicurarmi che non mi manchi qualcosa (il sotto è aggiornato dalla crittografia alla firma in base ai commenti seguenti):
- Sul nostro server creare l'XML per la chiave. La chiave si trova nel contenitore delle chiavi sul server.
- Sul nostro server firma l'XML utilizzando la nostra chiave privata.
- UUEncodifica la licenza crittografata in modo che emails ok.
- Invia la licenza al nostro cliente.
- Il cliente inserisce la licenza nel suo file app.exe.config.
- L'app legge la licenza dal file di configurazione.
- L'app UUDecode la licenza.
- L'app verifica la firma utilizzando la nostra chiave pubblica. La chiave pubblica è incorporata nel programma.
- Ora disponiamo dell'XML e utilizziamo le proprietà della licenza.
È questo il modo migliore per farlo? In caso negativo, quale approccio dovremmo adottare?
Se sì, quale API .NET dovremmo usare per questo e quali link al codice di esempio?
E un gigante grazie a tutti quelli che mi hanno guidato attraverso questo.