1
是否有可能檢查Android設備上是否安裝了特定證書?例如一個特殊的公司證書?檢查設備上是否安裝了特定證書
是否有可能檢查Android設備上是否安裝了特定證書?例如一個特殊的公司證書?檢查設備上是否安裝了特定證書
我在Android設備5.1.1
上使用它。
根據您想要檢查它是否是您正在查找的證書的方式,您可以選擇任何字段並進行比較。我採用了快速檢查發行者專有名稱(DN)的方法。
private boolean isCertificateInstalled(String issuerDn) {
try {
TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init((KeyStore) null);
X509TrustManager xtm = (X509TrustManager) tmf.getTrustManagers()[0];
for (X509Certificate cert : xtm.getAcceptedIssuers()) {
if (cert.getIssuerDN().getName().contains(issuerDn)) {
return true;
}
}
} catch (NoSuchAlgorithmException | KeyStoreException e) {
// Handle exceptions
}
return false;
}
我把這個解決方案從this answer聲稱這應該也行預冰淇淋三明治。
確定一些更多的研究似乎是不可能的。它應該可以與Android 4.0 ICS,但不能與較低版本:( – Henry 2012-01-10 15:47:30