Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    69

    [C#/C++] File di configurazione protetto

    Salve,

    sto sviluppando una mia applicazione e vorrei creare un file di configurazione che contenga un po' di tutto. Ho giò spulciato il namespace .Net relativo ai file di configurazione. Tuttavia, anche se è certamente un namespace completissimo e ben fatto, produce inevitabilmente dei file xml di configurazione in output.
    Io però in realtà vorrei che i dati di configurazione siano protetti, sopratutto per evitare che l'utente smanettone si vada a modificare a piacimento questi dati, causando magari malfunzionamenti imprevisti all'applicazione. Dunque un file xml è sicuramente troppo facilmente editabile...
    Ho pensato in realtà a due soluzioni.
    1) Creare una classe (programmo in C#/VC++) per la configurazione che includa tutto ciò che mi serve e poi la serializzo in binario. In questo caso è necessario fornire un'applicazione apposita che conosca come è fatta la classe e possa quindi deserializzarla per poterla gestire... una sorta di Configuration Manager diciamo.
    2) Criptare il file di configurazione xml prodotto con il namspace Configuration di .Net. Anche in questo caso comunque serve una seconda applicazione che permetta di decriptare il file per poterlo editare, magari anche semplicemente producendo il file xml in chiaro (e poi ovviamente dovrebbe ridecriptarlo). Ovviamente questo implica l'uso di un algoritmo di crittografia e almeno una chiave segreta sicura.

    Che ne pensate? Avete suggerimenti o altre idee?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Io lo cripterei con la Microsoft CAPICOM2, la libreria CryptoAPI, compatibile anche con Vista.

    Ti scarichi il SDK e ci sono già gli esempi in diversi linguaggi, cpp compreso.

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    69
    Originariamente inviato da gibra
    Io lo cripterei con la Microsoft CAPICOM2, la libreria CryptoAPI, compatibile anche con Vista.

    Ti scarichi il SDK e ci sono già gli esempi in diversi linguaggi, cpp compreso.

    Ciao
    Interessante...

    Ma tu comunque opteresti per la crittografia perchè pensi che comunque una classe serializzata in binario sia ugualmente leggibile e modificabile in qualche modo?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da mciasco
    Interessante...

    Ma tu comunque opteresti per la crittografia perchè pensi che comunque una classe serializzata in binario sia ugualmente leggibile e modificabile in qualche modo?
    Sicuramente ... ci metti un po' piu' di tempo, ma se vuoi farlo, lo fai.

    Se fosse criptato, allora nisba.

    Comunque, C# e C++ sono differenti ... con il primo puoi sfruttare le apposite classi del framework per la crittografia ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Comunque a me pare errato partire dal concetto che è necessario difendere i file di configurazione dall'utente smanettone: se l'utente mette mano dove non deve mettere (ed è difficile modificare per sbaglio dei file .xml situati in %appdata%) è giusto che ne paghi le conseguenze; al contrario, chi sa come smanettare il file in questione in alcuni casi potrebbe trovare più comodo agire direttamente sul file di configurazione invece che dall'interfaccia del programma.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da MItaly
    Comunque a me pare errato ...
    Concordo anche se il mondo reale e' un altro ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    69
    Beh C++ intendo VC++ quindi uso comunque il framework .Net

  8. #8
    Non è così ovvio, visto che sono molto pochi quelli che usano VC++ per scrivere applicazioni gestite; la stragrande maggioranza dei programmatori lo usa per scrivere normale codice nativo.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    69
    Beh purtroppo io devo fare le cose in modo che l'utente sia quasi sempre in una botte di ferro. Nel senso che devo limitare al massimo i danni involontari fatti al file di configurazione e scoraggiare gli smanettoni. Certo è quindi che se gli presento un bel file testuale (xml o ini per esempio) anche se ben nascosto in qualche directory... beh allora gli facilito il lavoro. Anche se di fondo sono d'accordo pure io che se uno ha voglia di cacciarsi nei guai ne paga le conseguenze... ma in realtà nel mondo aziendale poi i guai ricadono sull'azienda che fornisce il programma e che magari deve fare i conti con un file di configurazione troppo facilmente modificabile.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.