Importazione Certificati SSL sul Java Keystore (JKS)


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.

Figura 1 - Alert del Browser per Certificate Authority non riconosciuta

Figura 1 - Alert del Browser per Certificate Authority non riconosciuta

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.

Figura 2 - Dettagli del certificato SSL

Figura 2 - Dettagli del certificato SSL

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:

  1. Esportazione/Salvataggio del certificato server in formato DER (Distinguished Encoding Rules) X.509 sulla propria macchina o su quella che eseguirà la connessione SSL;
  2. 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]

]
About these ads

28 pensieri su “Importazione Certificati SSL sul Java Keystore (JKS)

  1. 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.

  2. 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?

  3. 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.

  4. 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 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

  5. 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.

  6. 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.

  7. 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

  8. 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.

  9. 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

  10. 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 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.

Lascia un Commento

Fill in your details below or click an icon to log in:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Connessione a %s...