Domanda

Lo scenario è di circa chiamando un servizio web SSL SOAP esterno dall'interno Mirth. Il servizio web è necessaria una connessione SSL / TLS insieme a un certificato client.

L'intenzione è quella di utilizzare il built-in SOAP mittente destinazione per chiamare il servizio Web remoto sicuro, e in qualche modo comprende che il certificato client.

Capisco che in primo luogo è necessario installare il certificato client nel runtime Java. Questo può essere all'interno certificati del runtime Java o il certstore Jetty.

La piattaforma:

  • Windows 2003 SP2
  • Mirth 1.8
  • Java jre1.5.0_09

Domanda : quali passi di configurazione (archivi di certificati Mirth, JRE, ecc) suggerirebbe di avere successo un mittente Mirth SOAP includono un certificato client (* cer) quando si chiama un servizio Web protetto da SSL?

È stato utile?

Soluzione 2

Mirth 1.8 non può inviare un cert client quando si chiama un servizio SOAP Web.

Altri suggerimenti

Il runtime di Java, o più specificamente, il provider di Sun JSSE, presenteranno un certificato client se vengono impostate alcune proprietà del sistema. Potete leggere i dettagli nel rel="nofollow JSSE di riferimento Guida, ma le proprietà importanti sono javax.net.ssl.keyStore e javax.net.ssl.keyStorePassword.

Ci sono alcuni svantaggi di questo approccio. In primo luogo, l'impostazione della password dell'archivio chiavi come una proprietà del sistema lo rende accessibile a qualsiasi codice in esecuzione in questo processo, anche se questo può essere controllato se è installato un SecurityManager. In secondo luogo, queste impostazioni saranno utilizzati per qualsiasi socket SSL create attraverso il SSLContext "default". Se avete bisogno di credenziali diverse per i diversi endpoint, avrete bisogno di una soluzione di Mirth-specifica.

Nessun punto di partenza è stato specificato nella domanda, ma se a partire da zero, l'approccio più semplice è quello di creare un nuovo Java Key Store (formato "JKS") e generare una nuova coppia di chiavi e un CSR. Dopo aver inviato il CSR alla CA e ottenere un certificato di schiena, importarlo nella stessa chiavi. Questo archivio chiavi è pronto per l'uso.

Se un certificato è già disponibile, è probabile che sia in una stored con la sua chiave privata corrispondente in formato PKCS # 12 (.p12 o file .pfx). Questi possono essere usati direttamente da un'applicazione Java, ma dovranno essere impostato javax.net.ssl.keyStoreType la proprietà "PKCS12"

Sono in ritardo un po 'qui per questo, ma in realtà c'è una possibilità che potrebbe. Con l'invio di alcuni parametri di configurazione per la JVM si potrebbe ottenere il motore SOAP sottostante per passare a HTTPS e fornire il certificato corretto.

fare riferimento a questa domanda per i dettagli su quali parametri per impostare per la configurazione del VM

Java HTTPS certificato client di autenticazione

si noterà ci sono alcune cose per prendersi cura di. Normalmente HTTPS e l'autenticazione del client dovrebbe "solo lavoro" una volta che si è configurato i certificati in modo appropriato. Ma ci sono alcuni server là fuori che non sono così amichevole per i clienti B2B stile quindi bisogna guardare fuori.

Utilizzando JDK 6_21 e un paio di modifiche al certificato sono stato in grado di ottenere uno di loro server di comportarsi ma era lunga e dolorosa dalla nostra parte per qualcosa che dura circa 15 minuti per configurare correttamente sul server.

Questa è un'altra questione che affronta questo tema (l'autenticazione lato client verso i server ostili).

autenticazione SSL client causando 403,7 errore da IIS

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top