gpt4 book ai didi

android - 从网站下载 SSL 证书并发送

转载 作者:太空宇宙 更新时间:2023-11-03 13:34:20 24 4
gpt4 key购买 nike

我们正在开发具有安全意识的应用程序,我们需要应用程序向我们发送用于连接的证书。

是否可以在Android上下载证书并发送。我们需要这样做,以便我们可以检查证书是否已被泄露。或者最好从证书中检索详细信息并将其写入日志然后发送。我们有一个可以发送详细信息的 API

最佳答案

我看到您之前曾要求固定...

您可以通过以下方式固定证书

Certificate[] certs = conn.getServerCertificates();
MessageDigest md = MessageDigest.getInstance("SHA-256");
for (Certificate cert : certs) {
X509Certificate x509Certificate = (X509Certificate) cert;
byte[] key = x509Certificate.getPublicKey().getEncoded();
md.update(key, 0, key.length);
byte[] hashBytes = md.digest();
StringBuilder hexHash = new StringBuilder();
for (byte hashByte : hashBytes) {
int k = 0xFF & hashByte;
String tmp = (k < 16) ? "0" : "";
tmp += Integer.toHexString(0xFF & hashByte);
hexHash.append(tmp);
}
// You can even log cert.toString()
Log.d(TAG, hexHash.toString()); get the hash from here
// If you create `pins` as a Set with all the valid pins from above
if (pins.contains(hexHash.toString())) {
return true;
}
}

您可以在连接 conn 连接后运行它,然后如果 pin 不匹配,您可以在发送数据之前中止。注意:以上代码pin的是证书的公钥,不是证书。

如果你只想要证书,你可以得到 cert.toString()

关于android - 从网站下载 SSL 证书并发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44922912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com