在 Android 平台上,X509TrustManager 类有一个 checkServerTrusted 函数。该函数定义如下
public abstract void checkServerTrusted (X509Certificate[] chain, String authType)
我将使用它来验证 TLS 服务器发送的证书链。根据文档
authType = 密钥交换算法名称
但我还没有找到任何关于在此处为 TLS 传递什么值的示例
谢谢
在 Android 平台上,X509TrustManager 类有一个 checkServerTrusted 函数。该函数定义如下
public abstract void checkServerTrusted (X509Certificate[] chain, String authType)
我将使用它来验证 TLS 服务器发送的证书链。根据文档
authType = 密钥交换算法名称
但我还没有找到任何关于在此处为 TLS 传递什么值的示例
谢谢
我不是Android开发人员,而是一般的Java。但是,对于独立 Java,您应该使用 sun.security.validator.Validator.VAR.* 常量。对于我的测试代码 sun.security.validator.Validator.VAR_GENERIC 看起来不错。
碰巧AndroidauthType
完全忽略了该参数。不幸的是,API 是老旧的,所以参数不能省略。文档也无济于事,暗示该参数可能有用,即使它不是。
引用铬开发人员https://bugs.chromium.org/p/chromium/issues/detail?id=627154#c1
这是 Android 团队的官方建议(不幸的是,由于第三方,API 已经“生锈关闭”)。
我同意 Android 团队可能决定在未来打破这一点并非不可想象,但这是一个重大突破,特别是考虑到 Android 无法真正检查其环境限制下的关键用法。
据我所知,目前的惯例是始终传递字符串“RSA”。