API
FwPluginManager
//設置白名單處理策略 已内置白名單處理策略,如需自定義策略可通過此方法實現
public FwPluginManager setWhiteListStrategy(IWhiteListStrategy whiteListStrategy) {}
//設置hostUrl,白名單匹配時(shí),會将該域名視爲(wéi / wèi)白名單,可不(bù)設置,讀取配置文件設置
public FwPluginManager setHostUrl(@NonNull String hostUrl) {}
//設置白名單配置文件地(dì / de)址,assets下
public FwPluginManager setWhiteListConfigPath(String whiteListConfigPath) {}
//設置獲取白名單的(de)url
public FwPluginManager setWhitelistUrl(@NonNull String url) {}
//設置https簽名更新地(dì / de)址
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 證書頒發機構的(de)CName
* @param issuedBy_OName 證書頒發機構的(de)OName
* @param issuedTo_CName 證書接收機構的(de)CName
* @param issuedTo_OName 證書接收機構的(de)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證書的(de)合法性,主要(yào / yāo)檢查頒發機構和(hé / huò)接收機構的(de)名稱
public boolean checkSSLCertificate(String url, SslCertificate sslCertificate) {}
/**
* clearWhiteLists 清除白名單和(hé / huò)簽名
*
* @param isClearDb 是(shì)否清理數據庫
* @param isClearCache 是(shì)否清理内存緩存
* @return void
*/
public void clearWhiteLists(boolean isClearDb, boolean isClearCache) {}
IWhiteListStrategy
public interface IWhiteListStrategy {
/**
* 更新白名單源數據
*
* @param whiteLists
*/
void updateWhiteLists(List<WhiteListItem> whiteLists);
/**
* 檢查網頁證書
*
* @param url 訪問的(de)url地(dì / de)址
* @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 證書頒發機構的(de)CName
* @param issuedBy_OName 證書頒發機構的(de)OName
* @param issuedTo_CName 證書接收機構的(de)CName
* @param issuedTo_OName 證書接收機構的(de)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 添加多個(gè)白名單,URLPattern的(de)構造函數爲(wéi / wèi)
* <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);
}