Il meccanismo solitamente adottato per la protezione dei dati End-To-End sulla rete internet è basato sull’utilizzo del protocollo Transport Layer Security (TLS) e il suo predecessore Secure Sockets Layer (SSL), entrambi sono dei protocolli crittografici che permettono una comunicazione sicura e una integrità dei dati su reti TCP/IP, cifrano la comunicazione dalla sorgente alla destinazione sul livello di trasporto.
Una tipica connessione TLS/SSL (per esempio via browser internet) prevede un tipo di autenticazione denominata unilaterale : solo il server è autenticato (il client conosce l’identità del server), ma non vice-versa (il client rimane anonimo e non autenticato). Il client (browser web, EmailUI, Java Client, etc…) valida il certificato del server controllando la firma digitale dei certificati del server, verificando che questa sia valida e riconosciuta da una Certificate Authority conosciuta utilizzando una cifratura a chiave pubblica.
In Figura 1 è illustrato il caso in cui il browser stabilisce una connessione verso un sito web (o applicazione web) che espone un certificato rilasciato da una Certificate Authority non riconosciuta. E’ lasciata all’utente l’azione da intraprendere, se continuare o abbandonare la connessione, è inoltre possibile per l’utente, istruire il browser affinché consideri trusty (fidato) il certificato.
In Figura 2 sono invece illustrati i dettagli sulla catena di certificazione (Certificate Chain). Il browser (in questo caso Safari) ha tutte la ragioni a emettere un warning, in effetti, la CA (Certificate Authority) indicata è di pura invenzione.
Nel caso in cui volessimo compiere connessioni TLS/SSL attraverso un software scritto in Java (in qualità di client), è necessario accertarsi che tutta la Certificate Chain (o catena di certificazione) sia soddisfatta o comunque bisogna far in modo da considerare affidabile il certificato. La piattaforma Java utilizza un sistema denominato Java Keystore per la gestione della sicurezza o meglio, per lo storage e amministrazione di tutto ciò che ruota intorno ai certificati digitali (Public/Private Key, Root CA, CSR, etc…). L’implementazione di default del Java Keystore è basata su file, quest’ultimo è in un formato proprietario denominato JKS. Per coloro che volessero approfondire l’argomento sicurezza in Java, consiglio la lettura di JDK 6 Security-related APIs & Developer Guides.
La piattaforma Java prevede due tipi di Java Keystore che preferisco suddividere nel seguente modo:
- Server side: Java Keystore che contiene solitamente le coppie di chiavi pubbliche/private dei certificati utilizzati dall’applicazione server. Il nome solitamente attribuito a questo repository è keystore;
- Client side: Java Keystore che contiene i soli certificati utilizzati dalle applicazioni che agiscono come client. Il nome solitamente attribuito a questo repository è trustStore.
La locazione predefinita di entrambi i keystore è <java-home>/lib/security/. Per ragioni di semplicità, durante il corso dell’articolo farò riferimento in modo generico al nome keystore.
Il classico errore cui si va incontro quando la Certificate Chain non è soddisfatta, è un eccezione del tipo indicato di seguito. L’eccezione è scatena perché non è stata trovata una Certification Path valida per la richiesta di connessione SSL eseguita.
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:unable to find valid certification path to requested target
Andiamo subito nel pratico e vediamo come affrontare uno scenario simile prendendo come esempio un recente articolo pubblicato sul mio blog, che mostrava come realizzare un client Java SOAP per il sistema di CRM SugarCRM. Gli esempi di connessione (mostrati nell’articolo) al servizio SOAP utilizzano il protocollo HTTP. Qualora facessimo uso del protocollo HTTPS per la connessione al servizio SOAP, andremmo incontro all’eccezione mostrata in precedenza. La soluzione al problema è molto semplice, occorre importare il certificato SSL sul proprio Java Keystore e segnarlo come affidabile. L’operazione è composta dai seguenti passi elementari:
- Esportazione/Salvataggio del certificato server in formato DER (Distinguished Encoding Rules) X.509 sulla propria macchina o su quella che eseguirà la connessione SSL;
- Importazione del certificato server sul Java Keystore.
L’esportazione del certificato server può essere eseguita in svariati modi, forse la via più semplice è attraverso un comune browser (Firefox, Internet Explore, Safari, etc…). Riporto il post che spiega come eseguire l’operazione con Mozilla Firefox: Exporting Server Certificate to File in Firefox 3. In modo analogo è possibile procedere con l’esportazione del certificato server utilizzando i più comuni browser.
Il metodo da me preferito per esportare il certificato server in formato DER è l’utilizzo del tool openssl. E’ più che sufficiente una sola linea di comando, per motivi di leggibilità, riporto il comando suddiviso in 4 linee:
echo |\ openssl s_client -connect sugarcrm-fe-1.local:443 2>&1 |\ sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | \ openssl x509 -outform der -out /tmp/sugarcrm-fe-1.local.der
Una volta ottenuto il certificato server, occorre importare quest’ultimo sul Java Keystore utilizzando l’apposito tool che prende il nome di keytool (keytool-Key and Certificate Management Tool). Ricordo che il keystore è il contenitore dei certificati digitali. Ognuno di voi potrebbe avere le configurazioni più disparate riguardo il Java Keystore, lo scenario qui proposto è quello base, keystore su file e su file custom, ovvero, creato dall’importazione del certificato server, lasciamo intatto il keystore di sistema.
keytool -import -keystore /Users/amusarra/.mykeystore \ -alias sugarcrm-fe-1 -v -file Desktop/sugarcrm-fe-1.local
Il comando sopra illustrato, creerà un nuovo keystore (protetto da password) all’interno del quale finirà il certificato server identificato con l’alias sugarcrm-fe-1. L’alias identifica in modo univoco l’item appena inserito, se volessimo fare un controllo sul buon esito dell’operazione dell’import, è sufficiente eseguire il seguente comando:
keytool -list -keystore /Users/amusarra/.mykeystore \ -v -alias sugarcrm-fe-1
L’output del precedente comando sarà simile a quanto illustrato a seguire:
Alias name: sugarcrm-fe-1 Creation date: May 2, 2011 Entry type: trustedCertEntry Owner: EMAILADDRESS=info@sugarcrm-fe-1.local, CN=sugarcrm-fe-1.local, OU=Research Development, O=Shirus Labs Ltd, L=Rome, ST=Italy, C=IT Issuer: EMAILADDRESS=info@shiruslabs.com, CN=www.shiruslabs.com, OU=IT Systems, O=Shirus Labs Ltd, L=Rome, ST=Italy, C=IT Serial number: 1 Valid from: Thu Apr 28 02:18:12 CEST 2011 until: Sun Apr 25 02:18:12 CEST 2021 Certificate fingerprints: MD5: CC:4A:D4:6E:DC:01:60:1D:79:FA:CD:8A:46:5F:CC:48 SHA1: A5:44:B9:C7:0A:41:0C:92:46:C6:9D:6D:77:0B:89:35:ED:E9:1C:AD Signature algorithm name: SHA1withRSA Version: 1
Nel caso in cui il certificato server non fosse stato importato con successo, il precedente comando avrebbe risposto con la seguente eccezione:
keytool error: java.lang.Exception: Alias <sugarcrm-fe> does not exist java.lang.Exception: Alias <sugarcrm-fe> does not exist at sun.security.tools.KeyTool.doPrintEntry(KeyTool.java:1339) at sun.security.tools.KeyTool.doCommands(KeyTool.java:869) at sun.security.tools.KeyTool.run(KeyTool.java:172) at sun.security.tools.KeyTool.main(KeyTool.java:166)
A questo punto tutto è pronto per poter eseguire con successo la connessione al servizio SOAP over HTTPS. Poiché abbiamo utilizzato un keystore custom invece di sfruttare quello di sistema, è necessario istruire la JVM circa il keystore da utilizzare, non sarebbe neppure una cattiva idea quella d’impostare un livello di debug sulla sola connessione SSL. I due argomenti che devono essere passati alla JVM sono quindi:
-Djavax.net.debug=ssl -Djavax.net.ssl.trustStore=/Users/amusarra/.mykeystore
Dato che l’applicazione Java agisce in qualità di client, occorre specificare la locazione del keystore (che ricordo essere di tipo trustStore) attraverso la proprietà java.net.ssl.trustStore.
L’opzione di debug può aiutare a capire eventuali problemi in caso di malfunzionamento, è comuque utile per coloro che vogliono capire meglio il funzionamento del protocollo TLS/SSL, vengono tracciati tutti i messaggi scambiati tra il client ed il server per portare a termine la fase di handshake. A seguire un estratto dell’output a fronte dell’esecuzione della classe SugarCRMSoapClient.java, cambiando però l’indirizzo dell’endpoint in https://sugarcrm-fe-1.local/crm-6.1/service/v2/soap.php?wsdl
Attraverso un esempio pratico e direi pure abbastanza realistico, abbiamo visto come sia semplice e immediato importare certificati digitali sul Java Keystore affinché le applicazioni SSL funzionino in maniera corretta.
Credo che questo sia il mio terzo articolo nato per rispondere alle domande e/o problemi posti da miei colleghi!!!
keyStore type is : jks keyStore provider is : init keystore init keymanager of type SunX509 trustStore is: /Users/amusarra/.mykeystore trustStore type is : jks trustStore provider is : init truststore adding as trusted cert: Subject: EMAILADDRESS=info@sugarcrm-fe-1.local, CN=sugarcrm-fe-1.local, OU=Research Development, O=Shirus Labs Ltd, L=Rome, ST=Italy, C=IT Issuer: EMAILADDRESS=info@shiruslabs.com, CN=www.shiruslabs.com, OU=IT Systems, O=Shirus Labs Ltd, L=Rome, ST=Italy, C=IT Algorithm: RSA; Serial number: 0x1 Valid from Thu Apr 28 02:18:12 CEST 2011 until Sun Apr 25 02:18:12 CEST 2021 trigger seeding of SecureRandom done seeding SecureRandom
*** ClientHello, TLSv1
RandomCookie: GMT: 1287446936 bytes = { 34, 19, 132, 181, 138, 114, 13,
67, 100, 111, 100, 155, 35, 132, 108, 102, 110, 106, 128, 57, 200, 147,
175, 25, 246, 233, 34, 252 }
Session ID: {}
Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA,
TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA,
SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA,
SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA,
SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
Compression Methods: { 0 }
***
Thread-2, WRITE: TLSv1 Handshake, length = 81
Thread-2, WRITE: SSLv2 client hello message, length = 110
Thread-2, READ: TLSv1 Handshake, length = 81
*** ServerHello, TLSv1
RandomCookie: GMT: 1287126586 bytes = { 72, 54, 32, 71, 9, 157, 75, 184,
3, 159, 95, 8, 18, 248, 108, 249, 179, 60, 205, 184, 204, 135, 186, 220,
27, 85, 249, 234 }
Session ID: {116, 147, 251, 240, 232, 125, 76, 210, 112, 151, 13,
181, 7, 214, 55, 176, 224, 217, 109, 201, 161, 74, 143, 121, 131,
243, 108, 67, 131, 234, 146, 232}
Cipher Suite: SSL_RSA_WITH_RC4_128_MD5
Compression Method: 0
Extension renegotiation_info, renegotiated_connection: <empty>
***
%% Created: [Session-1, SSL_RSA_WITH_RC4_128_MD5]
** SSL_RSA_WITH_RC4_128_MD5
Thread-2, READ: TLSv1 Handshake, length = 1484
*** Certificate chain
chain [0] = [
[
Version: V1
Subject: EMAILADDRESS=info@sugarcrm-fe-1.local, CN=sugarcrm-fe-1.local,
OU=Research Development, O=Shirus Labs Ltd, L=Rome, ST=Italy, C=IT
Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5
Key: Sun RSA public key, 4096 bits
modulus: 8027142309184580181165847677029426633214754078003759815426876
85293215600656132119778686073861448440626986882469379232984072851534463520
18325441288568133145387170109806353233631082021605339971510561262203242740
78307947239417239633029107273682201967984685272509448411609722527933446350
55918234578745856629515337728940982589703027293942988170613441271688911660
69762683263953403322683456690226470741799474704382776226873825494609402390
72693542287588215034771548006899103813169868373935038762384493733844944158
52659434703986779316888612522163711433463948775434712084653698002329763637
public exponent: 65537
Validity: [From: Thu Apr 28 02:18:12 CEST 2011,
To: Sun Apr 25 02:18:12 CEST 2021]
Issuer: EMAILADDRESS=info@shiruslabs.com, CN=www.shiruslabs.com,
OU=IT Systems, O=Shirus Labs Ltd, L=Rome, ST=Italy, C=IT
SerialNumber: [ 01]
]


Unmistakably informative post in this blog. Most what i read online is trash and copy paste but your posts are not alike. Bravo. I like to read and advise all my friend to read this blog. Thanks for share.
Ottima guida, grazie mille.
Ciao scusami io ho un cerficato .pem e un ca.crt come devo fare affinchè java usi questi certificati per far connettere il modalità tls il mio client?
Ciao Francesco,
dovresti importare il certificato del server (.pem) e quello della Certificate Authority (.crt) all’interno del truststore (o quello di default o uno creato da te) e successivamente indicare a Java tramite la proprietà javax.net.ssl.trustStore la locazione del truststore, in questo modo la tua applicazione cercherà i certificati all’interno del truststore.
Se ti servono altri dettagli fammi sapere.
Bye,
Antonio.
Ciao Antonio,
grazie per la risposta, quindi ricapitolo i passi, ovviamente correggimi se sbaglio:
1) Sono in possesso del certificato digitale fornito dal server (.pem) e ho il file .crt che mi consente di validare il certificato giusto?
2) con il keytool di java creo il mio trustStore
3) con il keytool importo i due file elencati prima
4) in fase di esecuzione aggiungo le opzioni
-Djavax.net.debug=ssl
-Djavax.net.ssl.trustStore=pathdeltrustStore
Ovviamente queste opzioni di avvio le posso anche riportare direttamente nella mia classe java gisuto?
Grazie per l’attenzione
FP
Ciao Francesco, il processo da te indicato corretto. Le due opzioni puoi anche impostarle sulla tua classe Java per io ti consiglio d’impostare le variabili come argomenti della JVM.
Bye, Antonio.
Ciao Antonio,
ho un po di difficolta, perdonami ma non sono un esperto.
Allora io ho un file .pem che è una chiave privata e un file .crt che è un certificato.
Con keytool importo il certificato file .crt.
La chiava (file .pem) non me la importare mi dice che non è un certificato X509.
Devo fare una conversione del file?
Ciao Francesco,
se la tua necessità è quella di agire semplicemente come client non dovrebbe servirti la chiave privata, ma solo il certificato del server e il certificato della CA. Solitamente quando è necessario importare la coppia PrivateKey/PublicKey e sono disponibili in formato pem, per importarli con keytool dovresti generare un PKCS#12 contenente la coppia.
Bye,
Antonio
Ciao Antonio, io dovrei agire come Client ed ho a disposizione un file .p12 (o pfx) esportato da browser. In questo caso come importare il tutto dentro il file .keystore?
Grazie
Ciao,
solitamente il formato di esportazione (da browser) utilizzato per storage di certificati server e di CA (Pubblic Key e non Private Key) può essere:
x.509 (PEM o DER)
x.509 (PEM o DER) compresa la catena di certificazione
x.509 PKCS#7 con o senza catena di certificazione
Il formato da te indicato il PCKS#12 o P12 è utilizzato come storage per la coppia Private/Public Key. Visto che tu dovresti agire da client, ti consiglio di esportare il certificato server e catena in formato PEM è successivamente d’importare il tutto sul trustStore via keytool.
Cerco di farti un breve esempio:
A) Esportazione del certificato + catena di certificazione di mail.google.com in x.509 PEM (per esempio via Firefox)
B) Importazione del certificato con keytool sul trustStore
# Comando per import del certificato server + CA sul trustStore MyTruststore.jks
keytool -import -keystore MyTruststore.jks -alias MailAccounts -file accounts.gmail.com.pem -storepass mypassword
Spero di essere stato chiaro.
Bye,
Antonio.
Innanzitutto, grazie per la risposta celere.
Ho seguito le tue istruzioni ed è andata bene, provando ad esempio, il caso del certificato mail.google.com.
Purtroppo non ho ottenuto lo stesso risultato con il certificato che mi interessava testare..Su firefox ho la situazione seguente:
1) Una voce nella scheda “certificato personale”
2) Un certificato nella scheda “Autorità” che riprende la stessa unità organizzativa.
Nel caso di mail.google.com avevo esportato il certificato dalla scheda “server”.
Mi manca qualche passaggio?
Ciao
Ciao Paolo, ma non è che devi fare una muta autenticazione via HTTS ? In questo caso allora ti servirà sia il certificato lato client e il certificato del server (+ CA eventuale) ? In questo caso la coppia Private/Public Key andrà sul keystore e dovresti utilizzare il comando keytool per importare il file pkcs#12 (p12 o pfx), per esempio:
keytool -importkeystore -srckeystore myClientCerts.p12 -destkeystore MyKeystore.jks -srcstoretype pkcs12
mentre il certificato del server + CA andrà sul trustStore. Dal punto di vista programmatico, dalla tua classe java o direttamente come argomenti della JVM, dovresti impostare le system properties che servono per identificare e accedere al trustStore e KeyStore.
Bye, Antonio.
Ciao Antonio,
sono alle prese con un webservice che necessita validazione attraverso un certificato, e cercando aiuto in internet ho trovato il tuo articolo.
Purtroppo per me non riesco ad arrivare al nocciolo neppure con i tuoi consigli!
Ti spiego il mio problema, magari mi sto perdendo in un bicchier d’acqua:
1) Mi hanno spedito un certicato, e a parte la password, NEqUCrA4a9ta (possiamo chiamarla passNEXTEL).
Già qui mi trovo in difficoltà, perché seguendo le istruzioni per importarlo in cacerts, questa password non mi serve, in quanto devo usare la pass del mio keystore, che é changeit:
sudo /Library/Java/Home/bin/keytool -import -trustcacerts -keystore /Library/Java/Home/lib/security/cacerts -storepass changeit -noprompt -alias nextelCertificate -file /Library/Java/Home/lib/security/nextelCertificate.cer
2) Nel mio codice Java io setterei le proprietà in tal maniera:
System.setProperty(“javax.net.ssl.keyStore”, “/Library/Java/Home/lib/security/cacerts”);
System.setProperty(“javax.net.ssl.keyStorePassword”, “changeit”);
System.setProperty(“javax.net.ssl.trustStore”, “/Library/Java/Home/lib/security/cacerts”);
A cosa serve la passNEXTEL che mi hanno inviato, e dove la dovrei usare?
Devo settare delle altre properties?
Grazie mille in ogni caso!
Ciao, Andrea
Ciao Andrea,
cosa intendi per Web Service che richiede la validazione attraverso un certificato ?
Immagino che tu sia il consumer del servizio e che la connessione avvenga via SSL/TLS.
Nel caso in cui l’autenticazione sia unilaterale (solo il server è autenticato) a te serve solo il certificato del server + l’eventuale catena di certificazione. I certificati (Server + CA Chain) devono essere importati nel tuo TrustStore, la locazione del trustStore devi poi indicarla al programma Java tramite la system property.
Nel caso in cui è richiesto un tipo autenticazione mutua, ovvero, che entrambe le parti siano autenticate, ti servirà sia il certificato (solo PublicKey) del server (+ CA eventuale) sia il certificato client (la coppia Private Key/Pubblic Key). In questo caso la coppia Private/Public Key (del client) andrà sul keystore mentre il certificato del server + CA andrà sul trustStore. Dovrai poi consegnare il tuo certificato (sola la Public Key) al provider del servizio.
Solitamente la password è abbinata a certificati che sono nella forma PKCS#12, formato solitamente utilizzato come contenitore della chiave pubblica e privata.
Per darti una mano mi serve lo scenario completo.
Bye,
Antonio.
Ciao Antonio,
grazie mille della risposta.
Purtroppo sono tragicamente ignorante per quel che riguarda webservices e certificati, sto lavorandoci per la prima volta, e mi manca quella comprensione della materia che mi farebbe esprimere con una terminologia adeguata.
Il mio codice java usa un webservice per consumare un servizio di NEXTEL, che é una compagnia telefonica in Argentina (dove mi trovo ora!) per effettuare una ricarica di credito sul cellulare.
A tale scopo ho dato loro l’IP da dove partiranno i miei request, e una chiave pubblica, in formato p12.
Loro mi hanno inviato un certificato in formato .cer (ed una password associata ad esso) e la loro IP, ma ancora non la loro chiave pubblica. Mi dicono che non serve per provare il test di comunicazione (io invio ping e loro rispondono pong…).
Da quello che mi hai spiegato, io sono nella situazione di mutua autenticazione, dico bene?
E se sí, con i dati che ho, quali sarebbero le istruzioni per importare le chiavi nei due store?
Nel codice Java userei le properties come ti ho descritto nel post precedente.
Grazie della pazienza,
Andrea
Ciao Antonio,
ho provato per andare passo a passo solo la connessione, quindi come se fosse unilaterale, solo con il trustStore e relativa password inventata da me.
Non pubblicare questo log, é troppo lungo!, volevo solo postartelo per sapere da te se almeno la parte del certificato é andata a buon fine, anche se poi ho un errore:
Fino ad ServerHello, TLSv1 mi sembra tutto a posto, il risultato é praticamente uguale a quello che riporti nel tuo post, però poi qua incominciano ad apparire
Certificate Extensions: 7
[1]: ObjectId: 2.16.840.1.113730.1.13 Criticality=false
e non ci capisco più niente di nuovo.
17:04:32,113 INFO [STDOUT] keyStore is :
17:04:32,117 INFO [STDOUT] keyStore type is : jks
17:04:32,117 INFO [STDOUT] keyStore provider is :
17:04:32,117 INFO [STDOUT] init keystore
17:04:32,118 INFO [STDOUT] init keymanager of type SunX509
17:04:32,122 INFO [STDOUT] trustStore is: /Users/blingnation/.mykeystore
17:04:32,122 INFO [STDOUT] trustStore type is : jks
17:04:32,122 INFO [STDOUT] trustStore provider is :
17:04:32,122 INFO [STDOUT] init truststore
17:04:32,837 INFO [STDOUT] adding as trusted cert:
17:04:32,837 INFO [STDOUT] Subject: CN=rvtest.nextel.com.ar, OU=Seguridad Informatica, O=Nextel Communications Argentina SA, L=Bs As, ST=Bs As, C=AR
17:04:32,837 INFO [STDOUT] Issuer: CN=RV_Test, OU=Seguridad Informatica, O=Nextel Communications Argentina SA, L=Bs As, ST=Bs As, C=AR
17:04:32,838 INFO [STDOUT] Algorithm: RSA; Serial number: 0×27
17:04:32,838 INFO [STDOUT] Valid from Thu Apr 23 10:40:03 BRT 2009 until Thu Jun 22 10:40:03 BRT 2028
17:04:32,839 INFO [STDOUT] trigger seeding of SecureRandom
17:04:32,839 INFO [STDOUT] done seeding SecureRandom
17:04:33,318 INFO [STDOUT] Allow unsafe renegotiation: false
Allow legacy hello messages: true
Is initial handshake: true
Is secure renegotiation: false
17:04:33,320 INFO [STDOUT] %% No cached client session
17:04:33,321 INFO [STDOUT] *** ClientHello, TLSv1
17:04:33,321 INFO [STDOUT] RandomCookie:
17:04:33,321 INFO [STDOUT] GMT: 1328143937
17:04:33,321 INFO [STDOUT] bytes = {
17:04:33,321 INFO [STDOUT] 22
17:04:33,322 INFO [STDOUT] ,
17:04:33,322 INFO [STDOUT] 99
17:04:33,322 INFO [STDOUT] ,
17:04:33,322 INFO [STDOUT] 253
17:04:33,322 INFO [STDOUT] ,
17:04:33,322 INFO [STDOUT] 217
17:04:33,322 INFO [STDOUT] ,
17:04:33,322 INFO [STDOUT] 133
17:04:33,322 INFO [STDOUT] ,
17:04:33,322 INFO [STDOUT] 78
17:04:33,322 INFO [STDOUT] ,
17:04:33,322 INFO [STDOUT] 198
17:04:33,322 INFO [STDOUT] ,
17:04:33,322 INFO [STDOUT] 13
17:04:33,322 INFO [STDOUT] ,
17:04:33,322 INFO [STDOUT] 126
17:04:33,322 INFO [STDOUT] ,
17:04:33,322 INFO [STDOUT] 255
17:04:33,322 INFO [STDOUT] ,
17:04:33,322 INFO [STDOUT] 225
17:04:33,322 INFO [STDOUT] ,
17:04:33,322 INFO [STDOUT] 180
17:04:33,322 INFO [STDOUT] ,
17:04:33,322 INFO [STDOUT] 60
17:04:33,322 INFO [STDOUT] ,
17:04:33,322 INFO [STDOUT] 200
17:04:33,322 INFO [STDOUT] ,
17:04:33,322 INFO [STDOUT] 36
17:04:33,323 INFO [STDOUT] ,
17:04:33,323 INFO [STDOUT] 15
17:04:33,323 INFO [STDOUT] ,
17:04:33,323 INFO [STDOUT] 52
17:04:33,323 INFO [STDOUT] ,
17:04:33,323 INFO [STDOUT] 205
17:04:33,323 INFO [STDOUT] ,
17:04:33,323 INFO [STDOUT] 153
17:04:33,323 INFO [STDOUT] ,
17:04:33,323 INFO [STDOUT] 179
17:04:33,323 INFO [STDOUT] ,
17:04:33,323 INFO [STDOUT] 123
17:04:33,323 INFO [STDOUT] ,
17:04:33,323 INFO [STDOUT] 92
17:04:33,323 INFO [STDOUT] ,
17:04:33,323 INFO [STDOUT] 134
17:04:33,323 INFO [STDOUT] ,
17:04:33,323 INFO [STDOUT] 152
17:04:33,323 INFO [STDOUT] ,
17:04:33,323 INFO [STDOUT] 32
17:04:33,323 INFO [STDOUT] ,
17:04:33,323 INFO [STDOUT] 11
17:04:33,323 INFO [STDOUT] ,
17:04:33,323 INFO [STDOUT] 128
17:04:33,323 INFO [STDOUT] ,
17:04:33,323 INFO [STDOUT] 158
17:04:33,323 INFO [STDOUT] }
17:04:33,323 INFO [STDOUT] Session ID:
17:04:33,324 INFO [STDOUT] {}
17:04:33,324 INFO [STDOUT] Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
17:04:33,324 INFO [STDOUT] Compression Methods: {
17:04:33,324 INFO [STDOUT] 0
17:04:33,324 INFO [STDOUT] }
17:04:33,324 INFO [STDOUT] ***
17:04:33,324 INFO [STDOUT] http-127.0.0.1-8080-1, WRITE: TLSv1 Handshake, length = 81
17:04:33,324 INFO [STDOUT] http-127.0.0.1-8080-1, WRITE: SSLv2 client hello message, length = 110
17:04:33,353 INFO [STDOUT] http-127.0.0.1-8080-1, READ: TLSv1 Handshake, length = 81
17:04:33,362 INFO [STDOUT] *** ServerHello, TLSv1
17:04:33,362 INFO [STDOUT] RandomCookie:
17:04:33,362 INFO [STDOUT] GMT: 1328147082
17:04:33,362 INFO [STDOUT] bytes = {
17:04:33,362 INFO [STDOUT] 67
17:04:33,362 INFO [STDOUT] ,
17:04:33,362 INFO [STDOUT] 211
17:04:33,362 INFO [STDOUT] ,
17:04:33,362 INFO [STDOUT] 205
17:04:33,362 INFO [STDOUT] ,
17:04:33,362 INFO [STDOUT] 34
17:04:33,362 INFO [STDOUT] ,
17:04:33,362 INFO [STDOUT] 152
17:04:33,362 INFO [STDOUT] ,
17:04:33,362 INFO [STDOUT] 20
17:04:33,362 INFO [STDOUT] ,
17:04:33,362 INFO [STDOUT] 14
17:04:33,362 INFO [STDOUT] ,
17:04:33,363 INFO [STDOUT] 67
17:04:33,363 INFO [STDOUT] ,
17:04:33,363 INFO [STDOUT] 240
17:04:33,363 INFO [STDOUT] ,
17:04:33,363 INFO [STDOUT] 185
17:04:33,363 INFO [STDOUT] ,
17:04:33,363 INFO [STDOUT] 205
17:04:33,363 INFO [STDOUT] ,
17:04:33,363 INFO [STDOUT] 216
17:04:33,363 INFO [STDOUT] ,
17:04:33,363 INFO [STDOUT] 178
17:04:33,363 INFO [STDOUT] ,
17:04:33,363 INFO [STDOUT] 8
17:04:33,363 INFO [STDOUT] ,
17:04:33,363 INFO [STDOUT] 31
17:04:33,363 INFO [STDOUT] ,
17:04:33,363 INFO [STDOUT] 98
17:04:33,363 INFO [STDOUT] ,
17:04:33,363 INFO [STDOUT] 166
17:04:33,363 INFO [STDOUT] ,
17:04:33,363 INFO [STDOUT] 192
17:04:33,363 INFO [STDOUT] ,
17:04:33,363 INFO [STDOUT] 113
17:04:33,363 INFO [STDOUT] ,
17:04:33,363 INFO [STDOUT] 78
17:04:33,363 INFO [STDOUT] ,
17:04:33,363 INFO [STDOUT] 255
17:04:33,364 INFO [STDOUT] ,
17:04:33,364 INFO [STDOUT] 180
17:04:33,364 INFO [STDOUT] ,
17:04:33,364 INFO [STDOUT] 33
17:04:33,364 INFO [STDOUT] ,
17:04:33,364 INFO [STDOUT] 112
17:04:33,364 INFO [STDOUT] ,
17:04:33,364 INFO [STDOUT] 210
17:04:33,364 INFO [STDOUT] ,
17:04:33,364 INFO [STDOUT] 86
17:04:33,364 INFO [STDOUT] ,
17:04:33,364 INFO [STDOUT] 158
17:04:33,364 INFO [STDOUT] ,
17:04:33,364 INFO [STDOUT] 169
17:04:33,364 INFO [STDOUT] }
17:04:33,364 INFO [STDOUT] Session ID:
17:04:33,364 INFO [STDOUT] {238, 51, 24, 146, 99, 68, 12, 117, 20, 214, 123, 68, 92, 144, 200, 56, 169, 89, 86, 188, 66, 254, 46, 126, 92, 94, 32, 80, 34, 201, 1, 252}
17:04:33,364 INFO [STDOUT] Cipher Suite: SSL_RSA_WITH_RC4_128_MD5
17:04:33,364 INFO [STDOUT] Compression Method: 0
17:04:33,365 INFO [STDOUT] Extension renegotiation_info, renegotiated_connection:
17:04:33,365 INFO [STDOUT] ***
17:04:33,365 INFO [STDOUT] %% Created: [Session-1, SSL_RSA_WITH_RC4_128_MD5]
17:04:33,365 INFO [STDOUT] ** SSL_RSA_WITH_RC4_128_MD5
17:04:33,365 INFO [STDOUT] http-127.0.0.1-8080-1, READ: TLSv1 Handshake, length = 2510
17:04:33,367 INFO [STDOUT] *** Certificate chain
17:04:33,372 INFO [STDOUT] chain [0] = [
[
Version: V3
Subject: CN=rvtest.nextel.com.ar, OU=Seguridad Informatica, O=Nextel Communications Argentina SA, L=Bs As, ST=Bs As, C=AR
Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5
Key: Sun RSA public key, 2048 bits
modulus: 24158492230275348337432650775701551228915087832228610661007349155186026705409752865266606189983050997817296106159404457972716640507885963922772840762065840102708422663648039503284935052584255483706549708490657067324953213334648344124356994317972085896027703013133883847545257584625845155021417947708152454680426335253082930255969930770133747489773555129791001326450917788977877739319417272395480444378508319373721702377198158792912246251323210148686698429481403247790583645781619377148030582202064514439576418489782802974654472398470506044637026692524413063679022609660408240171006111128149391629181847312399489255721
public exponent: 65537
Validity: [From: Thu Apr 23 10:40:03 BRT 2009,
To: Thu Jun 22 10:40:03 BRT 2028]
Issuer: CN=RV_Test, OU=Seguridad Informatica, O=Nextel Communications Argentina SA, L=Bs As, ST=Bs As, C=AR
SerialNumber: [ 27]
Certificate Extensions: 7
[1]: ObjectId: 2.16.840.1.113730.1.13 Criticality=false
Extension unknown: DER encoded OCTET string =
0000: 04 1E 16 1C 54 69 6E 79 43 41 20 47 65 6E 65 72 ….TinyCA Gener
0010: 61 74 65 64 20 43 65 72 74 69 66 69 63 61 74 65 ated Certificate
[2]: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 8B 20 29 25 26 2F B9 46 1D 77 2F 4C FD 1B 0D 86 . )%&/.F.w/L....
0010: B6 B9 B8 73 ...s
]
]
[3]: ObjectId: 2.16.840.1.113730.1.1 Criticality=false
NetscapeCertType [
SSL server
]
[4]: ObjectId: 2.5.29.18 Criticality=false
IssuerAlternativeName [
]
[5]: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: AC DA B6 F6 03 B5 A9 BF 2F 12 55 DF 5E B0 3F 0E ......../.U.^.?.
0010: 92 CA 70 51 ..pQ
]
[CN=RV_Test, OU=Seguridad Informatica, O=Nextel Communications Argentina SA, L=Bs As, ST=Bs As, C=AR]
SerialNumber: [ a10092ab efbb1996]
]
[6]: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
]
[7]: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[
CA:false
PathLen: undefined
]
]
Algorithm: [SHA1withRSA]
Signature:
0000: C4 03 A1 6C D4 78 59 33 D2 63 19 A2 9E BD 65 8E …l.xY3.c….e.
0010: D1 3E AA B8 0A FC 04 28 00 D3 73 6B 89 E9 8D 0A .>…..(..sk….
0020: CB B1 7C 64 3A 0F 69 3F 6F 8B 1F 72 CE 02 8E 71 …d:.i?o..r…q
0030: 4E 17 9C 72 85 AB E5 CA 6C AC A5 58 BF 0C 30 6E N..r….l..X..0n
0040: DC B5 6D D5 11 4B B3 A1 BD 4F 37 1C FA 14 5B 56 ..m..K…O7…[V
0050: B8 15 5E C7 94 E4 D1 62 58 3E B8 00 0A 16 BD E6 ..^....bX>......
0060: 9A 54 8C 04 EB 34 58 73 43 6C D1 04 F1 CE 3F E0 .T...4XsCl....?.
0070: D0 9A 9F 51 E0 BB B4 2E FD 7F 3D 7A 55 03 85 BD ...Q......=zU...
0080: A8 D7 6A 7D 4E 12 A4 E5 D4 2C A6 2F C8 84 5B B0 ..j.N....,./..[.
0090: 6E 89 FA 00 4F 09 0E 09 BC DD 48 70 11 87 87 EF n...O.....Hp....
00A0: 38 6E 4D F5 36 D6 03 17 DF 4A BE BC A6 BD 75 51 8nM.6....J....uQ
00B0: 1C ED 75 BA 84 63 D1 1B 12 4E D7 09 72 53 18 9D ..u..c...N..rS..
00C0: 04 3F 2E 84 F7 C6 58 2F 76 38 B2 2E C8 EA D5 1D .?....X/v8......
00D0: 91 A7 D2 A2 9C FE D7 00 A1 93 97 FD 4E 7C 1D 32 ............N..2
00E0: 86 05 7B D2 6E 0C 96 C4 4C 1D A4 02 9B 47 B2 8C ....n...L....G..
00F0: 7D 9A AE B7 FE 2D BC 9A DE 00 86 00 D0 2E 24 D0 .....-........$.
]
17:04:33,377 INFO [STDOUT] chain [1] = [
[
Version: V3
Subject: CN=RV_Test, OU=Seguridad Informatica, O=Nextel Communications Argentina SA, L=Bs As, ST=Bs As, C=AR
Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5
Key: Sun RSA public key, 2048 bits
modulus: 26527773460463393713112419364273989144241494654720550238284880092068182995325254054095851756899699451941336688852203778711958105269006548078923651070217661081250299164434637072990032957553357074514866608412028766142748889920166440501360254641296279451352249289280525251966121622277985840964909895109626439858508808971602640405562686134395376041206958546218636377246925632157409345205263322339115084476917874565695523871398088155973403445395846833576781986816824654871285620103375877244807049458181465905234424083608318653888603321284649933955317654068138854895867898004296282717377979428088726140022550575657602958751
public exponent: 65537
Validity: [From: Mon Mar 26 14:10:02 BRT 2007,
To: Thu Mar 23 14:10:02 BRT 2017]
Issuer: CN=RV_Test, OU=Seguridad Informatica, O=Nextel Communications Argentina SA, L=Bs As, ST=Bs As, C=AR
SerialNumber: [ a10092ab efbb1996]
Certificate Extensions: 7
[1]: ObjectId: 2.16.840.1.113730.1.1 Criticality=false
NetscapeCertType [
SSL CA
S/MIME CA
]
[2]: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: AC DA B6 F6 03 B5 A9 BF 2F 12 55 DF 5E B0 3F 0E ......../.U.^.?.
0010: 92 CA 70 51 ..pQ
]
]
[3]: ObjectId: 2.5.29.18 Criticality=false
IssuerAlternativeName [
]
[4]: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: AC DA B6 F6 03 B5 A9 BF 2F 12 55 DF 5E B0 3F 0E ......../.U.^.?.
0010: 92 CA 70 51 ..pQ
]
[CN=RV_Test, OU=Seguridad Informatica, O=Nextel Communications Argentina SA, L=Bs As, ST=Bs As, C=AR]
SerialNumber: [ a10092ab efbb1996]
]
[5]: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
]
[6]: ObjectId: 2.5.29.15 Criticality=false
KeyUsage [
Key_CertSign
Crl_Sign
]
[7]: ObjectId: 2.5.29.19 Criticality=true
BasicConstraints:[
CA:true
PathLen:2147483647
]
]
Algorithm: [SHA1withRSA]
Signature:
0000: 87 30 65 79 53 A0 96 D3 21 E4 63 AA 18 0D 46 C6 .0eyS…!.c…F.
0010: 3C 83 F8 74 52 11 F4 CA A2 46 C7 C1 61 48 48 A9 .]:.
00D0: FD F6 EF 36 B2 C6 B5 F7 3C D0 75 65 92 88 5D BF …6….<.ue..].
00E0: 65 F4 75 16 CB 9A 84 A2 6C EA 3C 19 65 F1 28 95 e.u…..l……(..sk….
0020: CB B1 7C 64 3A 0F 69 3F 6F 8B 1F 72 CE 02 8E 71 …d:.i?o..r…q
0030: 4E 17 9C 72 85 AB E5 CA 6C AC A5 58 BF 0C 30 6E N..r….l..X..0n
0040: DC B5 6D D5 11 4B B3 A1 BD 4F 37 1C FA 14 5B 56 ..m..K…O7…[V
0050: B8 15 5E C7 94 E4 D1 62 58 3E B8 00 0A 16 BD E6 ..^....bX>......
0060: 9A 54 8C 04 EB 34 58 73 43 6C D1 04 F1 CE 3F E0 .T...4XsCl....?.
0070: D0 9A 9F 51 E0 BB B4 2E FD 7F 3D 7A 55 03 85 BD ...Q......=zU...
0080: A8 D7 6A 7D 4E 12 A4 E5 D4 2C A6 2F C8 84 5B B0 ..j.N....,./..[.
0090: 6E 89 FA 00 4F 09 0E 09 BC DD 48 70 11 87 87 EF n...O.....Hp....
00A0: 38 6E 4D F5 36 D6 03 17 DF 4A BE BC A6 BD 75 51 8nM.6....J....uQ
00B0: 1C ED 75 BA 84 63 D1 1B 12 4E D7 09 72 53 18 9D ..u..c...N..rS..
00C0: 04 3F 2E 84 F7 C6 58 2F 76 38 B2 2E C8 EA D5 1D .?....X/v8......
00D0: 91 A7 D2 A2 9C FE D7 00 A1 93 97 FD 4E 7C 1D 32 ............N..2
00E0: 86 05 7B D2 6E 0C 96 C4 4C 1D A4 02 9B 47 B2 8C ....n...L....G..
00F0: 7D 9A AE B7 FE 2D BC 9A DE 00 86 00 D0 2E 24 D0 .....-........$.
]
17:04:33,406 INFO [STDOUT] http-127.0.0.1-8080-1, READ: TLSv1 Handshake, length = 4
17:04:33,407 INFO [STDOUT] *** ServerHelloDone
17:04:33,442 INFO [STDOUT] *** ClientKeyExchange, RSA PreMasterSecret, TLSv1
17:04:33,442 INFO [STDOUT] http-127.0.0.1-8080-1, WRITE: TLSv1 Handshake, length = 262
17:04:33,442 INFO [STDOUT] SESSION KEYGEN:
17:04:33,442 INFO [STDOUT] PreMaster Secret:
000017:04:33,442 INFO [STDOUT] :
0317:04:33,443 INFO [STDOUT]
0117:04:33,443 INFO [STDOUT]
7217:04:33,443 INFO [STDOUT]
1C17:04:33,443 INFO [STDOUT]
1817:04:33,443 INFO [STDOUT]
E017:04:33,443 INFO [STDOUT]
8517:04:33,443 INFO [STDOUT]
C817:04:33,443 INFO [STDOUT]
17:04:33,443 INFO [STDOUT]
6817:04:33,443 INFO [STDOUT]
3A17:04:33,443 INFO [STDOUT]
B517:04:33,443 INFO [STDOUT]
CF17:04:33,443 INFO [STDOUT]
7517:04:33,443 INFO [STDOUT]
8717:04:33,443 INFO [STDOUT]
4517:04:33,443 INFO [STDOUT]
0817:04:33,443 INFO [STDOUT]
17:04:33,443 INFO [STDOUT]
17:04:33,443 INFO [STDOUT] .
17:04:33,443 INFO [STDOUT] .
r17:04:33,443 INFO [STDOUT] .
17:04:33,443 INFO [STDOUT] .
17:04:33,443 INFO [STDOUT] .
17:04:33,443 INFO [STDOUT] .
17:04:33,443 INFO [STDOUT] .
h:17:04:33,443 INFO [STDOUT] .
17:04:33,444 INFO [STDOUT] .
u17:04:33,444 INFO [STDOUT] .
E17:04:33,444 INFO [STDOUT] .
001017:04:33,444 INFO [STDOUT] :
2917:04:33,444 INFO [STDOUT]
A817:04:33,444 INFO [STDOUT]
CD17:04:33,444 INFO [STDOUT]
B417:04:33,444 INFO [STDOUT]
4D17:04:33,444 INFO [STDOUT]
F617:04:33,444 INFO [STDOUT]
6F17:04:33,444 INFO [STDOUT]
EE17:04:33,444 INFO [STDOUT]
17:04:33,444 INFO [STDOUT]
7517:04:33,444 INFO [STDOUT]
0317:04:33,444 INFO [STDOUT]
3B17:04:33,444 INFO [STDOUT]
0E17:04:33,444 INFO [STDOUT]
8417:04:33,444 INFO [STDOUT]
6217:04:33,444 INFO [STDOUT]
2717:04:33,444 INFO [STDOUT]
7A17:04:33,444 INFO [STDOUT]
17:04:33,444 INFO [STDOUT]
)17:04:33,444 INFO [STDOUT] .
17:04:33,444 INFO [STDOUT] .
17:04:33,444 INFO [STDOUT] .
M17:04:33,444 INFO [STDOUT] .
o17:04:33,445 INFO [STDOUT] .
u17:04:33,445 INFO [STDOUT] .
;17:04:33,445 INFO [STDOUT] .
17:04:33,445 INFO [STDOUT] .
b’z002017:04:33,445 INFO [STDOUT] :
C617:04:33,445 INFO [STDOUT]
4B17:04:33,445 INFO [STDOUT]
5C17:04:33,445 INFO [STDOUT]
2C17:04:33,445 INFO [STDOUT]
BC17:04:33,445 INFO [STDOUT]
1A17:04:33,445 INFO [STDOUT]
4017:04:33,445 INFO [STDOUT]
6417:04:33,445 INFO [STDOUT]
17:04:33,445 INFO [STDOUT]
1317:04:33,445 INFO [STDOUT]
E917:04:33,445 INFO [STDOUT]
3F17:04:33,445 INFO [STDOUT]
9817:04:33,445 INFO [STDOUT]
D117:04:33,445 INFO [STDOUT]
3417:04:33,445 INFO [STDOUT]
5117:04:33,445 INFO [STDOUT]
E717:04:33,445 INFO [STDOUT]
17:04:33,445 INFO [STDOUT]
17:04:33,445 INFO [STDOUT] .
K\,17:04:33,445 INFO [STDOUT] .
17:04:33,446 INFO [STDOUT] .
@d17:04:33,446 INFO [STDOUT] .
17:04:33,446 INFO [STDOUT] .
?17:04:33,446 INFO [STDOUT] .
17:04:33,446 INFO [STDOUT] .
4Q17:04:33,446 INFO [STDOUT] .
17:04:33,454 INFO [STDOUT] CONNECTION KEYGEN:
17:04:33,454 INFO [STDOUT] Client Nonce:
000017:04:33,454 INFO [STDOUT] :
4F17:04:33,454 INFO [STDOUT]
2A17:04:33,454 INFO [STDOUT]
DE17:04:33,455 INFO [STDOUT]
4117:04:33,455 INFO [STDOUT]
1617:04:33,455 INFO [STDOUT]
6317:04:33,455 INFO [STDOUT]
FD17:04:33,455 INFO [STDOUT]
D917:04:33,455 INFO [STDOUT]
17:04:33,455 INFO [STDOUT]
8517:04:33,455 INFO [STDOUT]
4E17:04:33,455 INFO [STDOUT]
C617:04:33,455 INFO [STDOUT]
0D17:04:33,455 INFO [STDOUT]
7E17:04:33,455 INFO [STDOUT]
FF17:04:33,455 INFO [STDOUT]
E117:04:33,455 INFO [STDOUT]
B417:04:33,455 INFO [STDOUT]
17:04:33,455 INFO [STDOUT]
O*17:04:33,455 INFO [STDOUT] .
A17:04:33,455 INFO [STDOUT] .
c17:04:33,455 INFO [STDOUT] .
17:04:33,455 INFO [STDOUT] .
17:04:33,455 INFO [STDOUT] .
N17:04:33,455 INFO [STDOUT] .
17:04:33,455 INFO [STDOUT] .
17:04:33,455 INFO [STDOUT] .
17:04:33,455 INFO [STDOUT] .
17:04:33,456 INFO [STDOUT] .
17:04:33,456 INFO [STDOUT] .
001017:04:33,456 INFO [STDOUT] :
3C17:04:33,456 INFO [STDOUT]
C817:04:33,456 INFO [STDOUT]
2417:04:33,456 INFO [STDOUT]
0F17:04:33,456 INFO [STDOUT]
3417:04:33,456 INFO [STDOUT]
CD17:04:33,456 INFO [STDOUT]
9917:04:33,456 INFO [STDOUT]
B317:04:33,456 INFO [STDOUT]
17:04:33,456 INFO [STDOUT]
7B17:04:33,456 INFO [STDOUT]
5C17:04:33,456 INFO [STDOUT]
8617:04:33,456 INFO [STDOUT]
9817:04:33,456 INFO [STDOUT]
2017:04:33,456 INFO [STDOUT]
0B17:04:33,456 INFO [STDOUT]
8017:04:33,456 INFO [STDOUT]
9E17:04:33,456 INFO [STDOUT]
17:04:33,456 INFO [STDOUT]
<17:04:33,456 INFO [STDOUT] .
$17:04:33,457 INFO [STDOUT] .
417:04:33,457 INFO [STDOUT] .
17:04:33,457 INFO [STDOUT] .
17:04:33,457 INFO [STDOUT] .
17:04:33,457 INFO [STDOUT] .
\17:04:33,457 INFO [STDOUT] .
17:04:33,457 INFO [STDOUT] .
17:04:33,457 INFO [STDOUT] .
17:04:33,457 INFO [STDOUT] .
17:04:33,457 INFO [STDOUT] .
17:04:33,457 INFO [STDOUT] Server Nonce:
000017:04:33,457 INFO [STDOUT] :
4F17:04:33,457 INFO [STDOUT]
2A17:04:33,462 INFO [STDOUT]
EB17:04:33,462 INFO [STDOUT]
8A17:04:33,462 INFO [STDOUT]
4317:04:33,462 INFO [STDOUT]
D317:04:33,462 INFO [STDOUT]
CD17:04:33,463 INFO [STDOUT]
2217:04:33,463 INFO [STDOUT]
17:04:33,463 INFO [STDOUT]
9817:04:33,463 INFO [STDOUT]
1417:04:33,463 INFO [STDOUT]
0E17:04:33,463 INFO [STDOUT]
4317:04:33,463 INFO [STDOUT]
F017:04:33,463 INFO [STDOUT]
B917:04:33,463 INFO [STDOUT]
CD17:04:33,463 INFO [STDOUT]
D817:04:33,463 INFO [STDOUT]
17:04:33,463 INFO [STDOUT]
O*17:04:33,463 INFO [STDOUT] .
17:04:33,463 INFO [STDOUT] .
C17:04:33,463 INFO [STDOUT] .
17:04:33,463 INFO [STDOUT] .
"17:04:33,463 INFO [STDOUT] .
17:04:33,463 INFO [STDOUT] .
17:04:33,463 INFO [STDOUT] .
C17:04:33,463 INFO [STDOUT] .
17:04:33,463 INFO [STDOUT] .
17:04:33,463 INFO [STDOUT] .
17:04:33,463 INFO [STDOUT] .
001017:04:33,463 INFO [STDOUT] :
B217:04:33,463 INFO [STDOUT]
0817:04:33,463 INFO [STDOUT]
1F17:04:33,463 INFO [STDOUT]
6217:04:33,464 INFO [STDOUT]
A617:04:33,464 INFO [STDOUT]
C017:04:33,464 INFO [STDOUT]
7117:04:33,465 INFO [STDOUT]
4E17:04:33,465 INFO [STDOUT]
17:04:33,465 INFO [STDOUT]
FF17:04:33,465 INFO [STDOUT]
B417:04:33,465 INFO [STDOUT]
2117:04:33,465 INFO [STDOUT]
7017:04:33,465 INFO [STDOUT]
D217:04:33,465 INFO [STDOUT]
5617:04:33,465 INFO [STDOUT]
9E17:04:33,465 INFO [STDOUT]
A917:04:33,466 INFO [STDOUT]
17:04:33,466 INFO [STDOUT]
17:04:33,466 INFO [STDOUT] .
17:04:33,466 INFO [STDOUT] .
17:04:33,466 INFO [STDOUT] .
b17:04:33,466 INFO [STDOUT] .
17:04:33,466 INFO [STDOUT] .
qN17:04:33,466 INFO [STDOUT] .
17:04:33,466 INFO [STDOUT] .
!p17:04:33,466 INFO [STDOUT] .
V17:04:33,466 INFO [STDOUT] .
17:04:33,466 INFO [STDOUT] .
17:04:33,467 INFO [STDOUT] Master Secret:
000017:04:33,467 INFO [STDOUT] :
7017:04:33,467 INFO [STDOUT]
F717:04:33,467 INFO [STDOUT]
AC17:04:33,467 INFO [STDOUT]
0317:04:33,467 INFO [STDOUT]
C317:04:33,467 INFO [STDOUT]
E117:04:33,467 INFO [STDOUT]
AA17:04:33,467 INFO [STDOUT]
C617:04:33,467 INFO [STDOUT]
17:04:33,467 INFO [STDOUT]
A017:04:33,468 INFO [STDOUT]
7417:04:33,468 INFO [STDOUT]
6217:04:33,468 INFO [STDOUT]
6C17:04:33,468 INFO [STDOUT]
E717:04:33,468 INFO [STDOUT]
B517:04:33,468 INFO [STDOUT]
D417:04:33,468 INFO [STDOUT]
4C17:04:33,468 INFO [STDOUT]
17:04:33,468 INFO [STDOUT]
p17:04:33,468 INFO [STDOUT] .
17:04:33,468 INFO [STDOUT] .
17:04:33,468 INFO [STDOUT] .
17:04:33,468 INFO [STDOUT] .
17:04:33,468 INFO [STDOUT] .
17:04:33,468 INFO [STDOUT] .
17:04:33,468 INFO [STDOUT] .
17:04:33,468 INFO [STDOUT] .
tbl17:04:33,468 INFO [STDOUT] .
17:04:33,468 INFO [STDOUT] .
17:04:33,468 INFO [STDOUT] .
L001017:04:33,468 INFO [STDOUT] :
CD17:04:33,468 INFO [STDOUT]
B117:04:33,468 INFO [STDOUT]
D417:04:33,468 INFO [STDOUT]
0B17:04:33,468 INFO [STDOUT]
9A17:04:33,468 INFO [STDOUT]
1217:04:33,468 INFO [STDOUT]
3917:04:33,469 INFO [STDOUT]
6817:04:33,469 INFO [STDOUT]
17:04:33,469 INFO [STDOUT]
BF17:04:33,469 INFO [STDOUT]
6317:04:33,469 INFO [STDOUT]
6C17:04:33,469 INFO [STDOUT]
1C17:04:33,469 INFO [STDOUT]
5517:04:33,469 INFO [STDOUT]
B517:04:33,469 INFO [STDOUT]
EF17:04:33,469 INFO [STDOUT]
F817:04:33,469 INFO [STDOUT]
17:04:33,469 INFO [STDOUT]
17:04:33,469 INFO [STDOUT] .
17:04:33,469 INFO [STDOUT] .
17:04:33,469 INFO [STDOUT] .
17:04:33,469 INFO [STDOUT] .
17:04:33,469 INFO [STDOUT] .
17:04:33,469 INFO [STDOUT] .
9h17:04:33,469 INFO [STDOUT] .
cl17:04:33,469 INFO [STDOUT] .
U17:04:33,469 INFO [STDOUT] .
17:04:33,469 INFO [STDOUT] .
17:04:33,469 INFO [STDOUT] .
002017:04:33,469 INFO [STDOUT] :
9517:04:33,469 INFO [STDOUT]
DC17:04:33,469 INFO [STDOUT]
4B17:04:33,470 INFO [STDOUT]
4917:04:33,470 INFO [STDOUT]
7517:04:33,470 INFO [STDOUT]
CD17:04:33,470 INFO [STDOUT]
8617:04:33,470 INFO [STDOUT]
2C17:04:33,470 INFO [STDOUT]
17:04:33,470 INFO [STDOUT]
4B17:04:33,470 INFO [STDOUT]
A317:04:33,470 INFO [STDOUT]
5E17:04:33,470 INFO [STDOUT]
EA17:04:33,470 INFO [STDOUT]
EB17:04:33,470 INFO [STDOUT]
7C17:04:33,470 INFO [STDOUT]
AB17:04:33,470 INFO [STDOUT]
E117:04:33,470 INFO [STDOUT]
17:04:33,470 INFO [STDOUT]
17:04:33,470 INFO [STDOUT] .
17:04:33,470 INFO [STDOUT] .
KIu17:04:33,470 INFO [STDOUT] .
17:04:33,470 INFO [STDOUT] .
,K17:04:33,470 INFO [STDOUT] .
^17:04:33,470 INFO [STDOUT] .
17:04:33,470 INFO [STDOUT] .
17:04:33,470 INFO [STDOUT] .
17:04:33,470 INFO [STDOUT] .
17:04:33,470 INFO [STDOUT] .
17:04:33,471 INFO [STDOUT] Client MAC write Secret:
000017:04:33,471 INFO [STDOUT] :
2017:04:33,471 INFO [STDOUT]
7C17:04:33,471 INFO [STDOUT]
6A17:04:33,471 INFO [STDOUT]
5817:04:33,471 INFO [STDOUT]
E017:04:33,471 INFO [STDOUT]
D017:04:33,471 INFO [STDOUT]
2D17:04:33,471 INFO [STDOUT]
7017:04:33,471 INFO [STDOUT]
17:04:33,471 INFO [STDOUT]
7417:04:33,471 INFO [STDOUT]
B017:04:33,471 INFO [STDOUT]
B317:04:33,471 INFO [STDOUT]
B217:04:33,471 INFO [STDOUT]
C417:04:33,471 INFO [STDOUT]
AF17:04:33,471 INFO [STDOUT]
AE17:04:33,471 INFO [STDOUT]
CE17:04:33,471 INFO [STDOUT]
17:04:33,471 INFO [STDOUT]
17:04:33,471 INFO [STDOUT] .
jX17:04:33,471 INFO [STDOUT] .
17:04:33,471 INFO [STDOUT] .
-pt17:04:33,471 INFO [STDOUT] .
17:04:33,471 INFO [STDOUT] .
17:04:33,471 INFO [STDOUT] .
17:04:33,472 INFO [STDOUT] .
17:04:33,472 INFO [STDOUT] .
17:04:33,472 INFO [STDOUT] .
17:04:33,472 INFO [STDOUT] .
17:04:33,472 INFO [STDOUT] Server MAC write Secret:
000017:04:33,472 INFO [STDOUT] :
E117:04:33,472 INFO [STDOUT]
5317:04:33,472 INFO [STDOUT]
3417:04:33,472 INFO [STDOUT]
B317:04:33,472 INFO [STDOUT]
1117:04:33,472 INFO [STDOUT]
A917:04:33,472 INFO [STDOUT]
CA17:04:33,472 INFO [STDOUT]
6617:04:33,472 INFO [STDOUT]
17:04:33,472 INFO [STDOUT]
D717:04:33,472 INFO [STDOUT]
A017:04:33,472 INFO [STDOUT]
7F17:04:33,472 INFO [STDOUT]
2917:04:33,472 INFO [STDOUT]
F917:04:33,472 INFO [STDOUT]
2117:04:33,472 INFO [STDOUT]
C117:04:33,472 INFO [STDOUT]
2517:04:33,472 INFO [STDOUT]
17:04:33,473 INFO [STDOUT]
17:04:33,473 INFO [STDOUT] .
S417:04:33,473 INFO [STDOUT] .
17:04:33,473 INFO [STDOUT] .
17:04:33,473 INFO [STDOUT] .
17:04:33,473 INFO [STDOUT] .
f17:04:33,473 INFO [STDOUT] .
17:04:33,473 INFO [STDOUT] .
17:04:33,473 INFO [STDOUT] .
)17:04:33,473 INFO [STDOUT] .
!17:04:33,473 INFO [STDOUT] .
%17:04:33,473 INFO [STDOUT] Client write key:
000017:04:33,473 INFO [STDOUT] :
7417:04:33,473 INFO [STDOUT]
8317:04:33,473 INFO [STDOUT]
D317:04:33,473 INFO [STDOUT]
B017:04:33,473 INFO [STDOUT]
DB17:04:33,473 INFO [STDOUT]
F417:04:33,473 INFO [STDOUT]
8917:04:33,473 INFO [STDOUT]
A417:04:33,473 INFO [STDOUT]
17:04:33,473 INFO [STDOUT]
0F17:04:33,473 INFO [STDOUT]
3917:04:33,473 INFO [STDOUT]
9917:04:33,473 INFO [STDOUT]
CC17:04:33,474 INFO [STDOUT]
6117:04:33,474 INFO [STDOUT]
A117:04:33,474 INFO [STDOUT]
B917:04:33,474 INFO [STDOUT]
4417:04:33,474 INFO [STDOUT]
17:04:33,474 INFO [STDOUT]
t17:04:33,474 INFO [STDOUT] .
17:04:33,474 INFO [STDOUT] .
17:04:33,474 INFO [STDOUT] .
17:04:33,474 INFO [STDOUT] .
17:04:33,474 INFO [STDOUT] .
17:04:33,474 INFO [STDOUT] .
17:04:33,474 INFO [STDOUT] .
17:04:33,474 INFO [STDOUT] .
917:04:33,474 INFO [STDOUT] .
17:04:33,474 INFO [STDOUT] .
a17:04:33,474 INFO [STDOUT] .
17:04:33,474 INFO [STDOUT] .
D17:04:33,474 INFO [STDOUT] Server write key:
000017:04:33,474 INFO [STDOUT] :
4317:04:33,474 INFO [STDOUT]
1617:04:33,474 INFO [STDOUT]
3017:04:33,474 INFO [STDOUT]
F817:04:33,474 INFO [STDOUT]
8F17:04:33,475 INFO [STDOUT]
0517:04:33,475 INFO [STDOUT]
A617:04:33,475 INFO [STDOUT]
7417:04:33,475 INFO [STDOUT]
17:04:33,475 INFO [STDOUT]
1C17:04:33,475 INFO [STDOUT]
9B17:04:33,475 INFO [STDOUT]
9617:04:33,475 INFO [STDOUT]
BD17:04:33,475 INFO [STDOUT]
CA17:04:33,475 INFO [STDOUT]
BA17:04:33,475 INFO [STDOUT]
2D17:04:33,475 INFO [STDOUT]
4417:04:33,475 INFO [STDOUT]
17:04:33,475 INFO [STDOUT]
C17:04:33,475 INFO [STDOUT] .
017:04:33,475 INFO [STDOUT] .
17:04:33,475 INFO [STDOUT] .
17:04:33,475 INFO [STDOUT] .
17:04:33,475 INFO [STDOUT] .
t17:04:33,475 INFO [STDOUT] .
17:04:33,475 INFO [STDOUT] .
17:04:33,475 INFO [STDOUT] .
17:04:33,475 INFO [STDOUT] .
17:04:33,475 INFO [STDOUT] .
17:04:33,475 INFO [STDOUT] .
-D17:04:33,475 INFO [STDOUT] … no IV used for this cipher
17:04:33,477 INFO [STDOUT] http-127.0.0.1-8080-1, WRITE: TLSv1 Change Cipher Spec, length = 1
17:04:33,546 INFO [STDOUT] *** Finished
17:04:33,546 INFO [STDOUT] verify_data: {
17:04:33,546 INFO [STDOUT] 198
17:04:33,546 INFO [STDOUT] ,
17:04:33,546 INFO [STDOUT] 112
17:04:33,546 INFO [STDOUT] ,
17:04:33,546 INFO [STDOUT] 155
17:04:33,546 INFO [STDOUT] ,
17:04:33,546 INFO [STDOUT] 215
17:04:33,546 INFO [STDOUT] ,
17:04:33,546 INFO [STDOUT] 195
17:04:33,546 INFO [STDOUT] ,
17:04:33,546 INFO [STDOUT] 49
17:04:33,546 INFO [STDOUT] ,
17:04:33,546 INFO [STDOUT] 125
17:04:33,546 INFO [STDOUT] ,
17:04:33,546 INFO [STDOUT] 20
17:04:33,546 INFO [STDOUT] ,
17:04:33,546 INFO [STDOUT] 46
17:04:33,546 INFO [STDOUT] ,
17:04:33,546 INFO [STDOUT] 225
17:04:33,547 INFO [STDOUT] ,
17:04:33,547 INFO [STDOUT] 134
17:04:33,547 INFO [STDOUT] ,
17:04:33,547 INFO [STDOUT] 122
17:04:33,547 INFO [STDOUT] }
17:04:33,547 INFO [STDOUT] ***
17:04:33,547 INFO [STDOUT] http-127.0.0.1-8080-1, WRITE: TLSv1 Handshake, length = 32
17:04:33,572 INFO [STDOUT] http-127.0.0.1-8080-1, READ: TLSv1 Change Cipher Spec, length = 1
17:04:33,573 INFO [STDOUT] http-127.0.0.1-8080-1, READ: TLSv1 Handshake, length = 32
17:04:33,573 INFO [STDOUT] *** Finished
17:04:33,573 INFO [STDOUT] verify_data: {
17:04:33,573 INFO [STDOUT] 172
17:04:33,573 INFO [STDOUT] ,
17:04:33,573 INFO [STDOUT] 218
17:04:33,573 INFO [STDOUT] ,
17:04:33,573 INFO [STDOUT] 237
17:04:33,573 INFO [STDOUT] ,
17:04:33,573 INFO [STDOUT] 99
17:04:33,573 INFO [STDOUT] ,
17:04:33,573 INFO [STDOUT] 33
17:04:33,573 INFO [STDOUT] ,
17:04:33,573 INFO [STDOUT] 169
17:04:33,573 INFO [STDOUT] ,
17:04:33,573 INFO [STDOUT] 172
17:04:33,573 INFO [STDOUT] ,
17:04:33,573 INFO [STDOUT] 248
17:04:33,573 INFO [STDOUT] ,
17:04:33,573 INFO [STDOUT] 223
17:04:33,573 INFO [STDOUT] ,
17:04:33,573 INFO [STDOUT] 95
17:04:33,573 INFO [STDOUT] ,
17:04:33,573 INFO [STDOUT] 232
17:04:33,573 INFO [STDOUT] ,
17:04:33,574 INFO [STDOUT] 47
17:04:33,574 INFO [STDOUT] }
17:04:33,574 INFO [STDOUT] ***
17:04:33,574 INFO [STDOUT] %% Cached client session: [Session-1, SSL_RSA_WITH_RC4_128_MD5]
17:04:33,575 INFO [STDOUT] http-127.0.0.1-8080-1, setSoTimeout(600000) called
17:04:33,576 INFO [STDOUT] http-127.0.0.1-8080-1, WRITE: TLSv1 Application Data, length = 773
17:04:33,706 INFO [STDOUT] http-127.0.0.1-8080-1, READ: TLSv1 Application Data, length = 268
17:04:33,742 INFO [STDOUT] http-127.0.0.1-8080-1, READ: TLSv1 Application Data, length = 1345
17:04:33,766 INFO [STDOUT] http-127.0.0.1-8080-1, READ: TLSv1 Alert, length = 18
17:04:33,766 INFO [STDOUT] http-127.0.0.1-8080-1
17:04:33,766 INFO [STDOUT] , RECV TLSv1 ALERT:
17:04:33,766 INFO [STDOUT] warning,
17:04:33,767 INFO [STDOUT] close_notify
17:04:33,767 INFO [STDOUT] http-127.0.0.1-8080-1, called closeInternal(false)
17:04:33,767 INFO [STDOUT] http-127.0.0.1-8080-1
17:04:33,767 INFO [STDOUT] , SEND TLSv1 ALERT:
17:04:33,767 INFO [STDOUT] warning,
17:04:33,767 INFO [STDOUT] description = close_notify
17:04:33,767 INFO [STDOUT] http-127.0.0.1-8080-1, WRITE: TLSv1 Alert, length = 18
17:04:33,768 INFO [STDOUT] http-127.0.0.1-8080-1, called closeSocket(selfInitiated)
17:04:33,768 INFO [STDOUT] http-127.0.0.1-8080-1, called close()
17:04:33,768 INFO [STDOUT] http-127.0.0.1-8080-1, called closeInternal(true)
17:04:33,768 INFO [STDOUT] http-127.0.0.1-8080-1, called close()
17:04:33,768 INFO [STDOUT] http-127.0.0.1-8080-1, called closeInternal(true)
17:04:33,852 ERROR [NextelProcessor] Nextel – Exception invoking service
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: [SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response content type "text/html", must starts with "text/xml". Response was:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html> <head>
<title>No Response from Application Web Server</title>
</head>
<body bgcolor="white">
<font color="red">
<h1>No Response from Application Web Server</h1>
</font>
There was no response from the application web server for the page you requested. <br>Please notify the site's webmaster and try your request again later.
<hr>
</body> </html>
]
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:jbeapvt2.nextel.com.ar
[SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response content type "text/html", must starts with "text/xml". Response was:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html> <head>
<title>No Response from Application Web Server</title>
</head>
<body bgcolor="white">
<font color="red">
<h1>No Response from Application Web Server</h1>
</font>
There was no response from the application web server for the page you requested. <br>Please notify the site's webmaster and try your request again later.
<hr>
</body> </html>
]
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at ar.com.nextel.sayshell.axis_test.services.RVProxy.RVProxySoapBindingStub.ping(RVProxySoapBindingStub.java:114)
at reload.nextel.NextelInterface.invokePing(NextelInterface.java:93)
at reload.nextel.NextelInterface.invoke(NextelInterface.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPolicy.invokeInNoTx(TxPolicy.java:66)
at org.jboss.aspects.tx.TxInterceptor$NotSupported.invoke(TxInterceptor.java:112)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.remoting.ReplicantsManagerInterceptor.invoke(ReplicantsManagerInterceptor.java:51)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:304)
at org.jboss.ejb3.remoting.IsLocalInterceptor.invokeLocal(IsLocalInterceptor.java:81)
at org.jboss.ejb3.remoting.ClusteredIsLocalInterceptor.invoke(ClusteredIsLocalInterceptor.java:53)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessClusteredProxy.invoke(StatelessClusteredProxy.java:112)
at $Proxy279.invoke(Unknown Source)
at reload.nextel.NextelProcessor.invokeService(NextelProcessor.java:214)
at reload.nextel.NextelProcessor.invokeService(NextelProcessor.java:196)
at reload.nextel.NextelProcessor.recarga(NextelProcessor.java:127)
at reload.nextel.NextelProcessor.process(NextelProcessor.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPolicy.invokeInNoTx(TxPolicy.java:66)
at org.jboss.aspects.tx.TxInterceptor$NotSupported.invoke(TxInterceptor.java:112)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.remoting.ReplicantsManagerInterceptor.invoke(ReplicantsManagerInterceptor.java:51)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
at $Proxy154.process(Unknown Source)
at reload.ncr.NcrProcessor.processRecarga(NcrProcessor.java:277)
at reload.ncr.NcrProcessor.processMensajesRecarga(NcrProcessor.java:125)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPolicy.invokeInNoTx(TxPolicy.java:66)
at org.jboss.aspects.tx.TxInterceptor$NotSupported.invoke(TxInterceptor.java:112)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.remoting.ReplicantsManagerInterceptor.invoke(ReplicantsManagerInterceptor.java:51)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:304)
at org.jboss.ejb3.remoting.IsLocalInterceptor.invokeLocal(IsLocalInterceptor.java:81)
at org.jboss.ejb3.remoting.ClusteredIsLocalInterceptor.invoke(ClusteredIsLocalInterceptor.java:53)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessClusteredProxy.invoke(StatelessClusteredProxy.java:112)
at $Proxy278.processMensajesRecarga(Unknown Source)
at ncr.NcrWebServiceRecarga.invokeService(NcrWebServiceRecarga.java:170)
at ncr.NcrWebService.processISO8583(NcrWebService.java:194)
at ncr.NcrWebServiceRecarga.doTransactionISO8583(NcrWebServiceRecarga.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.wsf.container.jboss42.InvocationHandlerJSE.invoke(InvocationHandlerJSE.java:102)
at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:221)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:466)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:284)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:201)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:134)
at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:680)
Ciao Andrea,
da un veloce sguardo ai log mi sembra che la fase di handshake sia andata bene, in caso contrario avresti ricevuto qualche eccezione durante la fase di handshake. L’errore è un SOAP Fault ricevuto a quanto pare perché la risposta non è ciò che si aspetta AXIS.
Bye,
Antonio.
Mille grazie Antonio!
ciao Antonio un’informazione, sto realizzando un applicazione sip che usa tls in java.
L’applicazione funge sia da client che da server. quando funge da client tutto ok, i problemi nascono quando funge da server.
In particolare mi sembra di aver capito che devo avere due tipo di file jks quelli che contengono i certificati dei server per quando l’applicazione funge da client e quelli che contengono le chiave pubbliche .
quindi per il server devo creare un keystore contentente cosa di preciso???GRazie
Ciao Francesco,
per il server dovresti creare la coppia di chiavi: Pubblica e Privata. Puoi farlo utilizzando il keytool.
Bye,
Antonio.
Ciao Antonio,
anche se l’ultima commento risale ad un bel po’ di tempo fa tento comunque di chiederti lume riguardo un problema che mi sta facendo perdere diversi giorni di tempo. Da un Web Service devo connettermi ad un altro Web Service facendo uso di certificati. Mi è stato fornito un file client.jks (i certificati lato client) ed un file server.cer . Ho importato il certificato server.cer per creare il trustStore. Ho effettuato l’import attraverso il comando
keytool.exe -importcert -alias serverTrusted -file “C:\server.cer” -keystore “C:\server.jks”
All’interno dell codice java ho inserito le property nel seguente modo:
System.setProperty(“java.security.debug”, “all”);
System.setProperty(“javax.net.debug”,”ssl”);
System.setProperty(“javax.net.ssl.trustStoreType”,”JKS”);
System.setProperty(“javax.net.ssl.keyStoreType”,”JKS”);
System.setProperty(“javax.net.ssl.keyStore”,”C:\\client.jks”);
System.setProperty(“javax.net.ssl.keyStorePassword”,”clientPass”);
System.setProperty(“javax.net.ssl.trustStore”,”C:\\server.jks”);
System.setProperty(“javax.net.ssl.trustStorePassword”,”serverPass”);
Al momento di far partire il tutto mi viene fuori la seguente eccezione:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
javax.xml.ws.WebServiceException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
ecc ecc…
Potresti dirmi in cosa sbaglio? Tra l’altro ho provato a fare la stessa identica chiamata con soapUI e non mi da alcun problema, mentre dalla java application mi viene fuori quest’errore. Ti ringrazio in anticipo, spero tu risponda.
Ciao Giorda,
mi scuso se mi son fatto sfuggire un tuo precedente commento.
A prima vista, il tipo di eccezione mi sembra che possa essere dovuta a un problema sulla validazione della catena di certificazione. Per risolvere il problema, dovrebbe essere più che sufficiente inserire nel tuo trust store i certificati della catena di certificazione.
Fammi sapere,
Antonio.
Salve Antonio, ti ringrazio per la risposta. All’interno del mio trustStore io ho importanto il file .cer creando un file jks che poi ho usato come trustStore. Devo importare qualcos’altro dentro questo file? Grazie Mille per la disponibilità
Dovresti importare anche i certicati della catena di certificazione, ovvero, il certificato della CA che ha rilasciato il certificato del server a cui ti connetti. Solitamente non dovrebbe servire il root CA.
Bye,
Antonio.
Scusami Antonio, ma temo di non capire bene. A me è stato dato un certificato (auto-firmato) che ho importato all’interno del trustStore. Siccome il certificato è self-signed pensavo bastasse importare il file server.cer nel mio trustStore per far funzionare tutto, visto che il certificato è firmato dal “server stesso”. Quindi non capisco cos’altro dovrei includere? Ti chiedo scusa per il tempo che ti sto facendo perdere.
Ciao, sono abbastanza impegnato. Ok per il certificato self-signed. Allora bisognerebbe fare bypass del controllo SSL.
Ti giro un link dove potrai trovare diverse soluzioni http://code.google.com/p/misc-utils/wiki/JavaHttpsUrl.
Tra il codice che ho scritto nel tempo vedrò di trovare qualche pezzo dove facevo il baypass.
Bye,
Antonio.
Ciao Antonio, sono riuscito a risolvere la cosa anche utlizzando il certificato self-signed. In pratica è sufficiente prendere il certificato ed aggiungerlo al proprio trus-store, inoltre ho analizzato tutta la catena di certificazione ed ho visto che utilizzava un’entità globale, oltre al certificato self-signed. Siccome utilizzavo un truststore mio e non quello di Java (cacert) allora ho dovuto aggiungere tutti questi certificati nel mio truststore. A questo punto tutto è andato bene, pur non saltando la catena di certificazione. Ti ringrazio per tutto il supporto!
Bene Giorda.

Quando ti dicevo della catena di certificazione intendevo proprio quello, come indicato anche nell’articolo.
Alle volte, quando si è in fase di sviluppo e le catene di certificazione includo CA private, si rende necessario fare lo skip del check della chain.
Bye,
Antonio.