API
FwPluginManager
//设置白名单处理策略 已内置白名单处理策略,如需自定义策略可通过此方法实现
public FwPluginManager setWhiteListStrategy(IWhiteListStrategy whiteListStrategy) {}
//设置hostUrl,白名单匹配时,会将该域名视为白名单,可不设置,读取配置文件设置
public FwPluginManager setHostUrl(@NonNull String hostUrl) {}
//设置白名单配置文件地址,assets下
public FwPluginManager setWhiteListConfigPath(String whiteListConfigPath) {}
//设置获取白名单的url
public FwPluginManager setWhitelistUrl(@NonNull String url) {}
//设置https签名更新地址
public FwPluginManager setHttpsSignUrl(@NonNull String url) {}
//设置https证书签名
public void addSigns(List<String> signs) {}
/**
* addWhilteList 添加白名单
*
* @param scheme 协议
* @param host 域名
* @param port 端口号
* @param path 路径
* @param issuedBy_CName 证书颁发机构的CName
* @param issuedBy_OName 证书颁发机构的OName
* @param issuedTo_CName 证书接收机构的CName
* @param issuedTo_OName 证书接收机构的OName
* @throws
* @permission void
*/
public void addWhiteList(String scheme, String host, String port, String path, String
issuedBy_CName, String issuedBy_OName, String issuedTo_CName, String issuedTo_OName) {}
//从服务器更新白名单
public void updateWhiteList() {}
//检查白名单
public boolean checkWhiteList(String url) {}
//检查https证书的合法性,主要检查颁发机构和接收机构的名称
public boolean checkSSLCertificate(String url, SslCertificate sslCertificate) {}
/**
* clearWhiteLists 清除白名单和签名
*
* @param isClearDb 是否清理数据库
* @param isClearCache 是否清理内存缓存
* @return void
*/
public void clearWhiteLists(boolean isClearDb, boolean isClearCache) {}
IWhiteListStrategy
public interface IWhiteListStrategy {
/**
* 更新白名单源数据
*
* @param whiteLists
*/
void updateWhiteLists(List<WhiteListItem> whiteLists);
/**
* 检查网页证书
*
* @param url 访问的url地址
* @param sslCertificate 网页证书信息
* @return
*/
boolean checkSSLCertificate(String url, SslCertificate sslCertificate);
/**
* 检查url白名单
*
* @param url
* @return
*/
boolean checkWhiteList(String url);
/**
* addWhilteList 添加白名单
*
* @param scheme 协议
* @param host 域名
* @param port 端口号
* @param path 路径
* @param issuedBy_CName 证书颁发机构的CName
* @param issuedBy_OName 证书颁发机构的OName
* @param issuedTo_CName 证书接收机构的CName
* @param issuedTo_OName 证书接收机构的OName
* @throws
* @permission void
*/
@Keep
public void addWhiteList(String scheme, String host, String port, String path, String
issuedBy_CName, String issuedBy_OName, String issuedTo_CName, String issuedTo_OName);
/**
* addWhilteLists 添加多个白名单,URLPattern的构造函数为
* <p/>
* <p/>
* public WhiteListItem( String scheme, String host, String port, String
* path, String issuedBy_CName, String issuedBy_OName, String
* issuedTo_CName, String issuedTo_OName )
*
* @param whiteListItems
* @throws
* @permission void
*/
@Keep
public void addWhiteLists(List<WhiteListItem> whiteListItems);
}