1

シナリオは、Mirth内から外部SSLSOAPWebサービスを呼び出すことです。Webサービスには、クライアント証明書とともにSSL/TLS接続が必要です。

組み込みのSOAPSenderDestinationを使用して、リモートの安全なWebサービスを呼び出し、何らかの方法でそのクライアント証明書を含めることを目的としています。

最初にそのクライアント証明書をJavaランタイムにインストールする必要があることを理解しています。これは、Javaランタイムの証明書ストアまたはJetty証明書ストア内にある可能性があります。

プラットフォーム:

  • Windows 2003 SP2
  • マース1.8
  • Java jre1.5.0_09

質問:SSLで保護されたWebサービスを呼び出すときに、Mirth SOAP Senderにクライアント証明書(* .cer)を含めるために、どのような構成手順(Mirth、JRE証明書ストアなど)を提案しますか?

4

3 に答える 3

3

一部のシステムプロパティが設定されている場合、Javaランタイム、より具体的にはSunJSSEプロバイダーはクライアント証明書を提示します。詳細はJSSEリファレンスガイドでjavax.net.ssl.keyStore読むことができますが、重要なプロパティはとjavax.net.ssl.keyStorePasswordです。

このアプローチにはいくつかの欠点があります。まず、キーストアのパスワードをシステムプロパティとして設定すると、そのプロセスで実行されているすべてのコードにアクセスできるようになります。ただし、SecurityManagerがインストールされている場合はこれを制御できます。次に、これらの設定は、「デフォルト」で作成されたSSLソケットに使用されますSSLContext。エンドポイントごとに異なるクレデンシャルが必要な場合は、Mirth固有のソリューションが必要になります。

質問では開始点が指定されていませんが、最初から開始する場合、最も簡単なアプローチは、新しいJavaキーストア(「JKS」形式)を作成し、新しいキーペアとCSRを生成することです。CSRをCAに送信し、証明書を取得したら、同じキーストアにインポートします。そのキーストアを使用する準備が整いました。

証明書がすでに利用可能な場合は、対応する秘密鍵とともにPKCS#12形式(.p12または.pfxファイル)で保存されている可能性があります。これらはJavaアプリケーションで直接使用できますが、javax.net.ssl.keyStoreTypeプロパティを次のように設定する必要があります。"PKCS12"

于 2009-06-02T16:21:24.097 に答える
1

Mirth 1.8は、SOAPWebサービスを呼び出すときにクライアント証明書を送信できません。

于 2009-11-11T15:46:47.983 に答える
0

私はこれに少し遅れていますが、実際にはそれができる可能性があります。いくつかの構成パラメーターをJVMに送信することで、基盤となるSOAPエンジンをHTTPSに切り替えて、適切な証明書を提供することができます。

VMを構成するために設定するパラメーターの詳細については、この質問を参照してください

JavaHTTPSクライアント証明書認証

世話をすることがかなりたくさんあることに気付くでしょう。通常、証明書を適切に構成すると、HTTPSとクライアント認証は「正常に機能」するはずです。しかし、B2Bスタイルのクライアントにはあまり馴染みのないサーバーがいくつかあるので、注意する必要があります。

JDK 6_21と証明書のいくつかの調整を使用して、サーバーの1つを動作させることができましたが、サーバーで適切に構成するのに約15分かかるため、私たちの側では長くて苦痛でした。

この問題に対処する別の質問があります(非友好的なサーバーに対するクライアント側の認証)。

IISからの403.7エラーの原因となるクライアントSSL認証

于 2010-08-27T18:10:29.723 に答える