0

我正在构建一个具有 android 和服务器版本的库。

LdapJDK 导入不包含在 android JDK 中的 javax.naming 类。

由于不会在我的库的 android 版本上调用 LdapJDK,因此下面的代码适用于 android 手机。

但我不确定这是一种安全的方式。如果某些应用程序(例如:webserver)在初始化期间检查所有类依赖项,我的库会导致异常。

我将不胜感激任何评论。

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 回答