my.ASPItalia.com
ASP.NET
|
HTML5
|
LINQ e Entity Framework
|
Silverlight
|
Windows Phone
|
.NET Framework
|
Windows 8
|
Libro WP7
|
Libro HTML5
|
Corso HTML5
Iscriviti
Login
Newsletter
Home
Articoli
Script
Notizie
FORUM
Blogs
Media
Tutorials
Corsi
Libri
Eventi
Tags
Tutti i forum
Ricerca
FAQ
Fai una domanda
webservice https e certificati
in
.NET Framework
>
ASP.NET 3.5
Ultimo messaggio
1
2
>>
schoolfighter
il 20 febbraio 2008 alle 12:16
126 messaggi
dal 14 aprile 2006
salve, ho la necessità di fare una richiesta http ad un webservice, per l'autenticazione in un sito web, ma devo farla con https.
ho una situazione in cui esistono diversi software e siti web, in diverse sedi, che devono autenticarsi su questo webservice in https.
e il webservice è sui server di un sede nazionale. vorrei che questa sede rilasci un certificato SSL a chi richiede un account di accesso, in modo che ogni utente che ha un account si installa il certificato e con user e pass accede all'area riservata.
In caso qualcuno rubi la user e pass non ha il certificato e nn può cmq accedere al webservice.
quindi vorrei sapere come si fa a creare e rilasciare un certificato ssl.
come faccio a verificare che l'utente che naviga il sito e richiede il login, per prima cosa deve avere installato il certificto poi gli viene chiesto user e pass. se l'utente non ha certificato gli viene negata la possibilità di inserire user e pass con un messaggio di errore.
se avete anche link info articoli va bene.. grazie in anticipo
Rispondi
Quoting
Ricciolo
il 20 febbraio 2008 alle 15:07
5.561 messaggi
dal 26 febbraio 2001
Contributi
blogs.aspitalia.com
|
Blog
C'è un po' di confusione in quello che vuoi fare.
Per prima cosa è un web service o un normale applicativo web? Se un web service non capisco la parte interattiva che hai descritto:
"come faccio a verificare che l'utente che naviga il sito e richiede il login, per prima cosa deve avere installato il certificto poi gli viene chiesto user e pass. se l'utente non ha certificato gli viene negata la possibilità di inserire user e pass con un messaggio di errore"
Inoltre, un certificato lo puoi usare per ssl, ma per criptare il canale e poi ti affidi all'autenticazione username e password. In questo caso puoi obbligare via iis ad usare per forza https.
Oppure puoi usare il certificato per autenticarti con il servizio mantenendo la comunicazione in chiaro, ma non puoi anche usare username e password (a meno che metti un pin sul certificato). In questo però i webservice asmx non vanno bene, devi usare WCF.
Ciao
Il mio blog
Homepage
Rispondi
Quoting
AlessC-MSFT
il 21 febbraio 2008 alle 06:36
176 messaggi
dal 04 giugno 2007
Contributi
|
Blog
Da quello che capisco dalla tua descrizione stai cercando di creare un'infrastruttura in cui un principal si possa collegare al server solo tramite https e solo se sul client e' installato un certificato rilasciato da una CA che e' trusted dal server.
Per fare questo, hai bisogno di due componenti:
1) il certificato sul server (che puo' essere anche rilasciato dalla tua CA, a questo punto dato che controllerai il profilo dei certificate store dei client autorizzati)
2) i certificati sui client.
Per ottenere il tutto, puoi installare sul server una CA (certification authority). In pratica una fabbrica di certificati. E' un componente di Windows Server 2000 o superiore.
Fatto questo,
1) esportera il root certificate della CA e installalo tra i trusted sources di ogni cliente autorizzato (admin privilege required)
2) crea un SSL certificate e installalo sul web server (che puo' essere o no la stessa macchina fisica)
3) emetti un certificato per autenticazione - uno o uno per ogni client, dipende quanto devi essere paranoico -
Il modo piu' semplice per fare il provisioning di un cert diverso per ogni client e fare un enrolment da ogni client quando e' connesso direttamente alla rete interna, per esempio via VPN
Fatto questo, puoi configurare IIS cosi' che il server accetti connessioni solo da client in possesso di un certificato emesso dalla CA interna.
Ho cercato di essere preciso ma conciso, per cui alla fine puo' sembrare piu' complicato di quanto sia in realta'.
Ogni buon libro o articolo sulle PKI dovrebbe darti la teoria che ci sta dietro e farti capire i perche'. In realta' el molto meno complicato di quanto sembra.
Saluti
--Alessandro
Rispondi
Quoting
Ricciolo
il 21 febbraio 2008 alle 09:19
5.561 messaggi
dal 26 febbraio 2001
Contributi
blogs.aspitalia.com
|
Blog
Personalmente non mi piace criptare e autenticare a livello di trasporto (in questo caso IIS), ma preferisco a livello di messaggio. Comunque de gustibus
Ciao
Il mio blog
Homepage
Rispondi
Quoting
schoolfighter
il 21 febbraio 2008 alle 11:15
126 messaggi
dal 14 aprile 2006
AH Fantastico hai compreso appieno la situzione e sei stato chiarissimo.
mi sono anche chiarito molta della confusione sull'argomento. ora mi studio un po' di materiale in riferimento a i tuoi utilissimi suggerimento GRAZIE!
Rispondi
Quoting
AlessC-MSFT
il 21 febbraio 2008 alle 11:18
176 messaggi
dal 04 giugno 2007
Contributi
|
Blog
ispirato da questo post, ho appena inaugurato il mio blog con una dissertazione su https e le PKI.
Rispondi
Quoting
schoolfighter
il 21 febbraio 2008 alle 11:55
126 messaggi
dal 14 aprile 2006
allora se ho capito bene, se installo il certificato sul server e il certificato su ogni client, e configuro iis per accettare connessioni solo da client con certificato, si può accedere solo se uso un client con certificato installato altrimenti esce un errore.
diciamo che invece di installare un certificato sul client, lo dovrei installare il certificato nell'applicativo che fa richiesta, in modo che solo dal sito con certificato sia possibile accedere al servizio.
quindi i client non hanno certificato installato
il server ha certificato installato
i client posso accedere ai servizi del server passando solo da siti certificati.
la mia idea era che quando scrivo il codice di login oltre ad inviare user e pass invio al server anche i dati del certificato (inserisco in qualche modo il certificato nel codice di log-in) non so magari inviando assieme a user e pass la chiave pubblica.
diciamo che così se qualcuno vuola realizzare un sito che usa il mio web service lo può fare solo se io lo autorizzo consegnandoli la chiave pubblica o il certificato.
si può fare una cosa del genere?
Rispondi
Quoting
schoolfighter
il 21 febbraio 2008 alle 12:03
126 messaggi
dal 14 aprile 2006
AlessC-MSFT il tuo post è molto interessante.. grazie delle dritte.. più che mi avventuro in questi argomenti e più che mi affascinano..
Rispondi
Quoting
1
2
>>
Salto rapido
Ultimi messaggi
Tutti i forum
Ricerca
Utenti online
ASP.NET
ASP.NET 2.0
ASP.NET 3.5
ASP.NET 4.0
.NET Framework
Silverlight
Windows Phone
Windows Presentation Foundation e WinForms
Windows Communication e Workflow
ASP - avanzato
ASP - base
SQL Server e MySQL
E-commerce
Hosting
Altri linguaggi e tecnologie
Windows Server, IIS & Security
Libri
OT
Commenti: blogs e notizie
Eventi
Torna al forum
| Feed
RSS
ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Effettua il login!
Hai dimenticato la password?
Ultimi messaggi
sessioni scadute
variabile session
(3)
registrazione utenti
(5)
problema con il controllo create user wizard
(3)
Aggiornare contenuto compreso nei tag <asp:panel> e </asp:panel> di una pagina web, richiamandola da area riservata.
(5)
inserimento dati da form
Supporto di comandi asp.net in IE7 - IE8
(1)
UTENTI ONLINE
In primo piano
Annunciate le versioni ufficiali di Visual Studio 11
Rilasciato Visual Studio 11 Beta: scopri tutte le novità!
Windows 8 Consumer Preview: segui con noi la diretta
I più letti di oggi
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Applicazioni Metro con XAML: cosa cambia per lo sviluppatore .NET con Windows 8
Visual Basic 2010
Speciale Forms Authentication di ASP.NET
Silverlight 3.0
Sviluppare applicazioni per Windows Phone
Salvare e leggere rapidamente le impostazioni di un'applicazione Windows Phone
ASP.NET 4.0 in C# e VB
Media
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Metro Style App per Windows 8 con HTML e Javascript
Tutti i media
In evidenza
Dal 29 febbraio arriva WinRTItalia.com: tutto sullo sviluppo per Windows 8 e Metro
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Disegnare un'applicazione a servizi con Entity Framework e WCF
Il nuovo tag time in HTML5
Salvare e leggere rapidamente le impostazioni di un'applicazione Windows Phone
Metro Style App per Windows 8 con HTML e Javascript
Aggiungere un handler globale per le chiamate AJAX di ASP.NET MVC
Annunciate le versioni ufficiali di Visual Studio 11
MISC
I nostri autori
Collabora con noi!
Media Kit - Pubblicità sul nostro network