Newsgroup: it.comp.lang.visual-basic
Titolo: DotNet : Criptare una connessione - Analisi e Soluzione?

Io rimbalzo sempre sul solito problema (anche perchè non è urgente ho
mille cose da fare e la mia "cavia" usa sempre il vb6 monoutente)
Un pc (chiamiamolo server ma è un normale XP pro) in una rete.
Su questo gira un software gestionale (anche qui gestionale è un nome
grosso)
Database? Access (per ora)
Miei spippolamenti
VB.net....DAL per svincolarmi dal db
In locale la gentile signora che lo usa non ha nessun problema (ho
simulato io la gentile signora)
In remoto c'è 2 persone che vorrebbero tavolta avere delle stampe o
controllare delle liste .
Bene queste qui mi creano problemi . Ho letto riletto e rotto le palle
ai vari NG.
Il "remoto" è un parecchio remoto : internet. Non sono sulla solita
rete. Ne si installa VPN (è una rete fai date di commercialisti
presunti evoluti ...meno tocco meglio campo!)
Ho letto che la ssl ha bisogno di openssl...
Mi rimangono 2 strade...un server web ed una parte in asp.net...ma
https ha bisogno di certificati...e dovrei installare un server web
sul pc della gentile signora.
Oppure emulo quello che ho fatto talvolta in vb6 : Winsock e mini
protocollo
Quindi penserei:
Prog1 con Dal+ access+ Winsock
Prog2 a giro con interfaccia utente a prog1(la gentile signora ovvio
localhost)
La comunicazione? Ho fatto tempo fa delle prove con 2 webservice che
si scambiavano dati in RSA .
Domande varie:
Il winsock di dotNet è limitato dal SO? quindi max 10 conn in xpPro?
(mi bastano è per curiosità)
RSA buttato via e lento?
Pensavo ad una criptatura simmetrica con pw assurda ,ero fanatico di
blowfish...ma dotNet non lo supporta nativamente...alternativa ?
Ovvio che dovrei avere un sistema di propagazione dell'ip del
"server"..dynDNS penso possa andare!
Reinvento l'acqua calda? SI (mi rispondo)...ma il problema è il
maledetto tizio che di Sabato da casa sua vuol vedere quanti
abbonamenti ha stipulato la settimana passata!(non sapendo che la
gentile signora il sabato non lavora ed ha spento il pc ed è a
casa ...ma ci devono battere il capo!)
Saluti....
d'estate ed in ferie ovvio che si pensa le cose più assurde e
micragnose: servono a non perdere l'allenamento!

 controllare delle liste .
Puoi quantificare questo bene?
No perchè passare da un vb6+access a quello che hai detto mi pare usare un
cannone per una mosca.
Se quello che vogliono fare è minimo e con dati aggiornati non in realtime
(magari 30min), io copierei il DB in ftp sul sito dove ci girano pagine
ASP.NET
, oppure direttamente le stampe in pdf/xls se queste son fisse e
definite.

 
nel tuo post hai scritto di tutto di piu': webservice, winsock, liste e 
stampe, ssl, server web, dal...
senza contare il subject che parla di connessioni criptate in .net...
pero' non si sa bene di cosa stai parlando, fatto da chi, usato da dove, se 
ci sono server, dove si trovano e chi li manutiene...
imo ti conviene prima mettere giu' i requisiti di cui sopra, farti una ide 
di dove vuoi arrivare e da li' cercare di capire cosa ti serve 
effettivamente...
-- 
Paolo opg
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--

 casa ...ma ci devono battere il capo!)
La signora il venerdi sera fa un report in formato PDF che poi verra inviato 
al tizio via email.
Con quei quattro ciaffi che hai non riesci a fare niente di quello che 
pensi.
 

 database abstraction layer?
Data Access Layer
ciao
stefano

Per me ti stai fasciando la testa inutilmente.
La rete va fatta via VPN. Deve essere sicuro il canale su cui passano i
dati, IMHO.
Puoi usare OpenVPN o, se per te le configurazioni sono un casino,
l'ottimo ed open source Wippien (di cui sono anche il traduttore della
localizzazione italiana) che puoi installare in versione Completa (con
messenger ecc...), Mini o Service.
Poi le comunicazioni possono passare in chiaro o, al max, con una chiave
simmetrica. L'algoritmo non importa (prendine uno di quelli contenuti
nel .NET FW), non devono passare dati militari, stiamo parlando di
commercialisti.
Nicola

 messenger ecc...), Mini o Service.
Mi sembra una bella cosa. Adesso lo scarico e cerco di capirci qualcosa.
-- 
Greg 


Rispondo a te Nicola...e anche ad altri!
Prima agli altri
1)Le cose si posso fare in 2 modi: bene o male!
Uso un DAL in un sw perchè voglio disaccoppiare la mia applicazione
dal database. Dallo SPECIFICO database!
Indipendentemente dalla sua complessità valuto PRIMA se mi conviene
legarmi ad un database oppure no.
Se la risposta è NO ed uso DotNet Java o altro linguaggio OOP un DAL
mi semplifica la vita (c'ho messo tanto a capirlo!...non pretendo che
per altri sia immediato!)
2)Ovvio che NO! non si tratta SOLO di stampe da inviare...ma di query
da eseguire, escludo al 90% dataentry ma non si può mai sapere.
Tutti i database usati finora da me erano o in localhost su un web
server o in una rete locale(massimo Extranet in vpn).
Siccome le condizioni di partenza sono: XPpro con il
database...interfaccia utente: pc in intranet MA ANCHE in Internet.
Non è che rimangano molte altre metodologie semplici.
In realtà la soluzione sarebbe usare un DB che accetta connessioni SSL
(mySQL , Postgresql, etc) e farsi un proprio certificato con una live
di linux.
un esempio:
http://www.geek-blog.it/index.php?ctg=7&id=137
Si vìola però la genericità: se uso access mi attacco!
Ora veniamo a Nicola
Wippien ...di sicuro sarà più facile da usare del link qui sopra?
A prova di commercialista?(non hai idea dei casini che spippola sto
tizio!)
Che mi dà un Ip virtuale? e come si sincronizzano più pc?
per dire:
1 "server"
2 pc "client"....dovevo lanciare se mi ricordo 2 hamachi sul server
uno per pc!
fammi il riassunto per piacere non mi far leggere un intero manuale e
casomai scoprire che non mi serve!
Grazie Nicola!

 Grazie Nicola!
Prego, se hai bisogno di altro chiedi pure.
Nicola

Ah, dimenticavo. In tutto questo, c'è anche un SDK per pilotare
Wippien da Visual Basic.
Nicola


Ehm hanno cambiato qualcosa?????
Wippien necessita di
WeOnlyDo wodVPN component
che costa dai 200 ai 400 dollari!
Open Source un piffero!

Il Wed, 4 Aug 2010 02:34:12 -0700 (PDT), Wodka40[Google] ha scritto:
[cut]
La butto lì:
1) ti fai qualche servizio esposto da un web server (puoi usare anche
quello di Windows XP Pro), a sua volta reso pubblico tramite port
forwarding sul router (magari in pubblico non esci con la porta 80, giusto
per complicare la vita ad eventuali "guardoni")
2) il tuo programma chiama i web service e ci fa quello che vuoi
3) i dati li puoi criptare nella comunicazione con un livello di
complessità a scelta, io per esempio mi limito a serializzare il dataset,
comprimerlo tramite la classe GZipStream e sparare i dati in forma binaria,
in questo modo non viaggiano in chiaro e sono pure compressi.
PaF

Il Thu, 5 Aug 2010 15:50:39 +0200, PaF ha scritto:
[cut]
Dimenticavo i vantaggi di una soluzione simile: niente VPN lato server e
lato client, servizi raggiungibili ovunque senza installare nulla.
Svantaggi: devi spippolare sul router per aprire la porta 80 o quella che
vuoi, ma ormai tutti i router da grande distribuzione lo fanno; se
l'ufficio non ha un ip fisso puoi utilizzare un servizio come dyndns
(gratis), router come i netgear hanno anche un client integrato per dyndns.
PaF


Ni, nel senso che il programma è Open Source (i sorgenti sono qui
http://www.wippien.com/source.php
 ) ma uno dei componenti ai quali si
appoggia non lo è.
E' più o meno la stessa cosa per cui un mio programma può essere open
source, ma l'oggetto Crystal Report integrato non lo è.
In ogni caso, per pilotare Wippien da VB non è necessario avere una
licenza del componente. E' sufficiente che siano installati Wippien e
l'SDK gratuito 
http://www.wippien.com/sdk.php
Nicola