Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Con la prima rete 5G Standalone attiva in Italia, WINDTRE compie un passo decisivo verso un modello di connettività intelligente che abilita scenari avanzati per imprese e pubbliche amministrazioni, trasformando la rete da infrastruttura a piattaforma per servizi a valore aggiunto
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-03-2003, 17:24   #1
cat78
Senior Member
 
L'Avatar di cat78
 
Iscritto dal: Dec 2000
Messaggi: 126
JAVA - connessione https

Mi sono fatto un programmino in java che mi permette di richiedere una pagina web specificando alcuni parametri: in pratica, dato l'url completo al documento da richiamare (es. http://forum.hwupgrade.it/index.php) e una stringa con i parametri da passare con metodo POST, clikkando su un JButton mi viene fornito il testo della pagina in una JTextArea.

Il programma funziona bene se uso il protocollo http, ma mi lancia invece una eccezione se uso il protocollo https.
L'eccezione e' "javax.net.ssl.SSLHandshakeException: Could not find trusted certificate".

Premettendo che il server a cui faccio la richiesta funziona correttamente, come faccio a risolvere il problema? Non me ne intendo molto di https.

Vi posto la parte interessata di codice:

Codice:
.....
            try
            {
                URL myUrl=new URL(urlField.getText());
                htmlArea.setText("");
                URLConnection myConnection=myUrl.openConnection();
                
                myConnection.setDoOutput(true);
                myConnection.setDoInput(true);
                myConnection.setUseCaches(false);
                
                String request=postArea.getText();
                
                DataOutputStream outStream=new DataOutputStream(myConnection.getOutputStream());
                outStream.writeBytes(request);
                outStream.flush();
                outStream.close();
                
                DataInputStream inStream=new DataInputStream(myConnection.getInputStream());
                
                String inputLine;
                while ((inputLine = inStream.readLine()) != null)
                    htmlArea.append(inputLine+"\n");
                inStream.close();
            }
            catch(MalformedURLException exception)
            {
                htmlArea.setText("URL non valida!!!\n"+exception);
            }
            catch(IOException exception)
            {
                htmlArea.append("Eccezzione di input/output !!!\n"+exception);
            }
.....

__________________
RisorseHiTech.it
Forum
!our knowledge is our power!
cat78 è offline   Rispondi citando il messaggio o parte di esso
Old 03-03-2003, 09:43   #2
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
puoi fare in due modi:
1) se non hai grosse pretese di sicurezza puoi disabilitare il controllo sul certificato creandoti un trust manager ad hoc che valida tutti i certificati.
2) ti scarichi il certificato dal server e lo "installi" nel tuo truststore con i tool del jdk (consulta la documentazione per sapere come fare, poi al limite chiedi )

Ciao
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 03-03-2003, 19:45   #3
cat78
Senior Member
 
L'Avatar di cat78
 
Iscritto dal: Dec 2000
Messaggi: 126
la prima soluzione dovrebbe andare bene , come si fa a disabilitare il controllo del certificato? Hai qualche esempio di codice o eventualmente un link a un documento che spiega come fare?
__________________
RisorseHiTech.it
Forum
!our knowledge is our power!
cat78 è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2003, 09:55   #4
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
Ecco un esempio di codice (non mio, preso da internet :o )


Codice:
    // Create a trust manager that does not validate certificate chains
    TrustManager[] trustAllCerts = new TrustManager[]{
        new X509TrustManager() {
            public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                return null;
            }
            public void checkClientTrusted(
                java.security.cert.X509Certificate[] certs, String authType) {
            }
            public void checkServerTrusted(
                java.security.cert.X509Certificate[] certs, String authType) {
            }
        }
    };
    
    // Install the all-trusting trust manager
    try {
        SSLContext sc = SSLContext.getInstance("SSL");
        sc.init(null, trustAllCerts, new java.security.SecureRandom());
        HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    } catch (Exception e) {
    }
    
    // Now you can access an https URL without having the certificate in the truststore
    try {
        URL url = new URL("https://hostname/index.html");
    } catch (MalformedURLException e) {
    }
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2003, 09:57   #5
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
Dovrebbe adattarsi bene al tuo caso
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2003, 19:20   #6
cat78
Senior Member
 
L'Avatar di cat78
 
Iscritto dal: Dec 2000
Messaggi: 126
Quote:
Originally posted by "kingv"

Dovrebbe adattarsi bene al tuo caso
Si' hai ragione si adatta che e' una meraviglia, non mi da' piu' quella eccezione.

Adesso pero' mi da altre due eccezioni (in modo alternato):

java.net.ConnectException: Connection timed out: connect

oppure

java.net.NoRouteToHostException: No route to host: connect

ora cerco di studiare un po' il problema e vedo se riesco a risolvermelo da solo. (per il primo forse devo solo trovare il modo di settare un timeout piu' altro, per il secondo bho..)

cmq dov'e' che hai trovato il codice che mi hai postato? magari trovo qualche altro esempio che mi risolve i problemi


bye
__________________
RisorseHiTech.it
Forum
!our knowledge is our power!
cat78 è offline   Rispondi citando il messaggio o parte di esso
Old 05-03-2003, 10:16   #7
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
Quote:
Originally posted by "cat78"



Si' hai ragione si adatta che e' una meraviglia, non mi da' piu' quella eccezione.

Adesso pero' mi da altre due eccezioni (in modo alternato):

java.net.ConnectException: Connection timed out: connect

oppure

java.net.NoRouteToHostException: No route to host: connect

no route to host -> no ha modo di raggiungere l'host a cui ti stai cercando di connettere! e' un problema di configurazione, non di codice.
prova a pingare la macchine a cui ti connetti o a far telnet sulla 443, non dovresti riuscirci.
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 05-03-2003, 22:16   #8
cat78
Senior Member
 
L'Avatar di cat78
 
Iscritto dal: Dec 2000
Messaggi: 126
Cavolo! stasera funziona , non mi da' piu' eccezioni.
ma quando avevo provato ieri sera ero sicuro che il server funzionava.. bho? forse avevo provato a usare il mio prog. proprio in un attimo che il server non era raggiungibile

vabbe', l'importante che finalmente funziona tutto

grazie per l'aiuto kingv, a buon rendere


bye
__________________
RisorseHiTech.it
Forum
!our knowledge is our power!
cat78 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi Wind Tre 'accende' il 5G Standalone in Italia: s...
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oltre le GPU: NVIDIA annuncia NVQLink, ...
Samsung lancia il Team Galaxy Italia per...
Magic Leap: indistinguibili dai normali ...
Aruba Cloud: trasparenza sui costi e str...
Quando il cloud si blocca e resti al fre...
Integrare per competere, la sfida digita...
Leggenda del rally e modernità: S...
La Python Software Foundation rinuncia a...
Full HD e QLED, è in offerta un TV da 32...
Honda ha rilasciato un nuovo video sul p...
Resident Evil Requiem: arriva su Switch ...
Marshall Acton III in promo su Amazon in...
2 portatili che costano poco ma vanno be...
Smartphone potenti sotto i 300€: ecco i ...
28 Offerte Amazon da non perdere: smartp...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:26.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v