Autore Topic: [Risolto] Settings: come memorizzare una password?  (Letto 1320 volte)

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
[Risolto] Settings: come memorizzare una password?
« il: 26 Febbraio 2020, 20:33:04 »
 :ciao:
Con settings devo memorizzare i dati per l'invio della posta elettronica, compresa la password di accesso al SMTP.
Con un TextBox (con la proprietà .password attivata) registro la password, ma quando uso settings per memorizzarla, appare in chiaro.
Non è molto "carino"! ;D
Avete delle idee da suggerirmi?
Devo usare il componente gb.crypt?
 :ciao:
« Ultima modifica: 29 Febbraio 2020, 16:44:40 da kicco »
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Settings: come memorizzare una password?
« Risposta #1 il: 26 Febbraio 2020, 21:44:04 »
...
Devo usare il componente gb.cript?
 :ciao:

Non saprei, mai usato.
Forse potresti dare un'occhiata al codice di SerializeModel di Christof Thalhofer, nella discussione tedesca:
https://www.gambas-club.de/viewtopic.php?f=3&t=5659#p13701

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Settings: come memorizzare una password?
« Risposta #2 il: 27 Febbraio 2020, 08:57:22 »
Grazie!
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Settings: come memorizzare una password?
« Risposta #3 il: 27 Febbraio 2020, 12:35:24 »
Citazione
Devo usare il componente gb.crypt?
Mi rispondo da solo: Sì bisogna usare il componente gb.crypt !  :D
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Settings: come memorizzare una password?
« Risposta #4 il: 28 Febbraio 2020, 09:48:11 »
No! Il componente gb.crypt permette di criptare una password e poi di confrontare una nuova immissione di password con quella archiviata.
Il risultato è un booleano che vale False(!), se c'è corrispondenza.
Non permette di recuperare la password  per passarla, nel mio caso all'SMTP (nel caso di validazione).  :hard:
Prosegue la ricerca...
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Settings: come memorizzare una password?
« Risposta #5 il: 28 Febbraio 2020, 09:55:32 »
Forse qua c'è la soluzione:
https://lists.gambas-basic.org/pipermail/user/2011-May/033970.html
devo provarla perchè dal 2011 sono cambiate un po' di cose!
 :P
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Settings: come memorizzare una password?
« Risposta #6 il: 28 Febbraio 2020, 13:53:01 »
Forse qua c'è la soluzione:
https://lists.gambas-basic.org/pipermail/user/2011-May/033970.html
devo provarla perchè dal 2011 sono cambiate un po' di cose!
 :P

Sembra che funzioni sempre allo stesso modo.
Il problema però rimane o tu fai scrivere la password per il porta chiave oppure crei un porta chiave senza password che però mostra le password archiviate.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Settings: come memorizzare una password?
« Risposta #7 il: 28 Febbraio 2020, 14:11:11 »
Forse qua c'è la soluzione:
https://lists.gambas-basic.org/pipermail/user/2011-May/033970.html
devo provarla perchè dal 2011 sono cambiate un po' di cose!
 :P

Sembra che funzioni sempre allo stesso modo.
Il problema però rimane o tu fai scrivere la password per il porta chiave oppure crei un porta chiave senza password che però mostra le password archiviate.

 :ciao:
Non ho avuto molto tempo, ma la prova che ho fatto non mi funzionava. Hai seguito Minisini alla lettera?
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Settings: come memorizzare una password?
« Risposta #8 il: 28 Febbraio 2020, 17:15:37 »

Non ho avuto molto tempo, ma la prova che ho fatto non mi funzionava. Hai seguito Minisini alla lettera?
 :ciao:

Scusa il ritardo nella risposta, ma cercavo di capire un po di più sul porta chiavi di Ubuntu.
Ne esiste uno di default che si chiama Login e se noi facciamo il login classico cioè scrivendo la password all'avio del sistema si può sboccare con la password del sistema, cosa che non avviene se accediamo direttamente.
Però poi mostra la password in chiaro e non mi sembra molto sicuro, anzi per nulla.
Perchè funzioni la password con gb.desktop occorre aver installato secret-tool:
Codice: [Seleziona]
sudo apt install libsecret-tools
Desktop.passwords crea un nuovo portachiavi nominato Portachiavi predefinito e lo crea come tale (predefinito appunto).
Come già detto lo puoi impostare con la password di sistema in modo che non chieda password all'avvio del programma ma poi avrai anche la password di sistema visibili.
Conviene dargli un'altra password che sblocca il portachiavi di Gambas, tieni però presente che abbassi di moltissimo le difese delle password che ci memorizzi.

Il codice di Benoit va bene ad sempio:

Per scrivere:

Codice: [Seleziona]
Desktop.Passwords["pippo"] = TextBox1.Text

Per leggere:

Codice: [Seleziona]
TextBox2.Text = Desktop.Passwords["pippo"]

 :ciao:

nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Settings: come memorizzare una password?
« Risposta #9 il: 28 Febbraio 2020, 21:13:40 »
Grazie Gianluigi!
Stasera sono cotto come un merluzzo. Domani faccio un po' di prove, ma credo che questo non risolva la questione, come già dicevi tu!
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Settings: come memorizzare una password?
« Risposta #10 il: 28 Febbraio 2020, 22:44:21 »
Potresti usare il componente gb.openssl di Tobias per usare un file criptato dove salvare la password e poterla riavere decriptata.
Ti allego un piccolo esempio tratto da un suo codice.

 :ciao:
« Ultima modifica: 29 Febbraio 2020, 10:05:25 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Settings: come memorizzare una password?
« Risposta #11 il: 29 Febbraio 2020, 08:48:00 »
Grazie!
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Settings: come memorizzare una password?
« Risposta #12 il: 29 Febbraio 2020, 09:42:26 »
Prego, solo alcune precisazioni sul test dimostrativo allegato.
btnWrite (Scrivi) salva la frase scritta in txtCrypt usando la passphrase da te scelta e che dovrai sempre usare (la stessa) per poter decriptare (button Leggi) la password memorizzata.
Qui essendo una prova dimostrativa il file viene salvato in /tmp, naturalmente nella realtà dovrai salvarlo in un file permanente.

 :ciao:
« Ultima modifica: 29 Febbraio 2020, 14:11:28 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Settings: come memorizzare una password?
« Risposta #13 il: 29 Febbraio 2020, 10:05:58 »
Ho modificato l'esempio, ora gestisce l'errore sul tentativo di lettura con una passphrase diversa.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Settings: come memorizzare una password?
« Risposta #14 il: 29 Febbraio 2020, 12:50:59 »
Ottimo! E grazie ancora!
 :-*  :2birre:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)