2009-07-23 12 views
2

IBM Websphere上で動作するアプリケーションでSun JCEプロバイダを使用する必要があります。これは、security_provider.1 = com.sun.crypto.provider.SunJCEを指定することで実現できます。 私のアプリケーションの一部では、IBMのSSL機能を利用しています。IBM SDK上でSun JCEプロバイダを使用する

SunJCEプロバイダの設定が、アプリケーションの他の部分でのJSSEプロバイダの使用に影響するかどうかを知りたいと思います。

もう1つ質問したいのは、IBM JDKのデフォルト(JCE < JSSEなど)を引き続き使用し、必要な場合はいつでもSun JCEのみを使用できるかどうかということです。私は、Sun JCE Providerを最後のsecurity_provider.10として設定することを意味します。また、Sun JCEプロバイダを使用する必要のあるコードベースでは、Crypto関連のクラスにプロバイダ名を明示的に指定します。 Cipher = Cipher.getInstance( "DES"、 "Sun")..

私には最善の方法を教えてください。

Cipher cip = Cipher.getInstance("DES","Sun") 

をしかし、Sunのプロバイダは、「SunJCE」という名前が付けられ、IBMのは「IBMJCE」である:あなたが言ってきたものがあることを行う必要があるセキュリティプロバイダを指定するには

答えて

2

。 thir-partyプロバイダもBouncyCastleとして使用できます。あなたは "ProviderNotFound"例外の世話をする必要があります。

Cipher cip = Cipher.getInstance("DES","IBMJCE") 

あなたはIBM SDKを使用している場合は、これは同じことをするでしょう:

Cipher cip = Cipher.getInstance("DES") 

Cipher cip = Cipher.getInstance("DES","SunJCE") 

これは、IBMの実装を使用します。

これは、Sunの実装を使用します。

ちなみに、SunプロバイダをLASTプロバイダとしてインストール(セキュリティSDKファイルの編集)した場合、そのshouアルゴリズムを探すとき、JCE APIは最初のプロバイダインスタンスを探し、次に2番目のプロバイダインスタンスを探します(アルゴリズムが見つかったら停止します)。

+0

お返事ありがとうございます。事実、私は同じアプローチに従ってきましたが、現在かなりの期間、正常に動作しています。 –

関連する問題