0

httpsを介してwss(wss4j)を使用してセキュリティで保護されたWebサービスと通信するAndroidアプリケーションがあります。以前のデスクトップJavaアプリケーションでは、すべて正常に機能し、物理的な.jksファイルを使用してすべてを初期化しました。

props.setProperty("org.apache.ws.security.crypto.merlin.file", "c:/temp/conf/ihar.jks");
Crypto crypto = CryptoFactory.getInstance(props);

これはすべてデスクトップでは正常に機能しますが、Androidデバイスでは明らかに場所が間違っています(もちろん、「c:/temp/conf/ihar.jks」は存在しません)。だから私の質問は、ファイルの場所をどのように指定できますか?それはただの価値があると思うので、「file:/// android_asset / res / ihar.jks」のようなものは実現可能でしょうか?

よろしくお願いします、イアン・ハリガン

4

1 に答える 1

0

wss-Client-for-androidをお試しいただきありがとうございます:)

現時点では共有可能なプロジェクトはありませんが(sry)、あなたの質問に対するいくつかの指針を示すことができます。

  • 少なくともジンジャーブレッドではJKSがサポートされていなかったので、BKS(弾む城)を使用してください
  • clientkeystore.bksとclienttruststore.bksをAndroidプロジェクトのres/rawフォルダーに配置します
  • キーストアを開いて証明書またはprivateKeyにアクセスする方法:

    インポートjava.security.KeyStore;
    ...
    InputStream keyStoreStream = resources.openRawResource(R.raw.clientkeystore);
    KeyStore keyStore = KeyStore.getInstance( "BKS");
    keyStore.load(keyStoreStream、 "xregistry" .toCharArray());

  • sendSOAPMessage(this、message、endpoint、cryptoParams);のcryptoParamsを設定する方法。

    SecCryptoParams cryptoParams = new SecCryptoParams();
    cryptoParams.put(SecCryptoParams.KEYSTORE、new SecCryptoParam(R.raw.clientkeystore、KEYSTORE_PASSWORD)); cryptoParams.put(SecCryptoParams.TRUSTSTORE、new SecCryptoParam(R.raw.clienttruststore、TRUSTSTORE_PASSWORD));

ここからあなたが進め方を知っていることを願っています。 Peter (= PA =) PS
に関して この種のマークアップは私には多すぎると思います:|


于 2012-08-26T17:00:25.417 に答える