0

私はアンドロイドとサーバーのバージョンを持つライブラリを構築しています。

LdapJDK は、android JDK に含まれていない javax.naming クラスをインポートします。

私のライブラリのAndroidバージョンではLdapJDKが呼び出されないため、以下のコードはAndroidフォンで動作します。

しかし、これが安全な方法であるかどうかはわかりません。一部のアプリケーション (例: Web サーバー) が初期化中にすべてのクラスの依存関係をチェックすると、ライブラリで例外が発生します。

コメントをいただければ幸いです。

public static X509Certificate[] getCertFromLDAP(String url, String dn) throws ASN1Exception, CertificateException, UnsupportedEncodingException
{   
    if (JeTS.getType() == PKIConstants.ANDROID_TYPE)
        return LdapAndroid.getCertFromLDAP(url, dn);
    else 
        return LdapJDK.getCertFromLDAP(url, dn);
}
4

1 に答える 1

0

安全を確保したい場合は、Android とサーバー用に異なる jar を作成してください。必要のない/使用できないものを Android のものから除外します。

そうは言っても、Android 2.x 以降で実行している限り、クラスは遅延ロードされ、上記のコードは問題になりません。Android は下位互換性を処理するために同じパターンを使用するため、これは試行済みです。

于 2012-09-11T06:58:46.193 に答える