【问题标题】:Android: getting SSL certificate as stream or bytes[]Android:获取 SSL 证书作为流或字节 []
【发布时间】:2015-09-05 14:00:15
【问题描述】:

在 X509TrustManager 中信任之前,我需要手动检查 ssl 证书。如何在 android 中以 bytes 或 stream 的形式下载 ssl 证书?我知道如何获取 ssl 证书作为 java 对象,但我需要字节 [] 或流。

我注册了socket工厂

schemeRegistry.register(new Scheme("https", new EasySSLSocketFactory(), 443));

注册上下文

SSLContext context = SSLContext.getInstance("TLS");

并被覆盖

public void checkServerTrusted(X509Certificate[] certificates, String authType)
            throws CertificateException 

对于 ssl 连接它工作正常,但我有一个作为 java 对象的证书,而不是作为输入流或字节数组。

【问题讨论】:

  • 为什么? Java 尚未为您完成的再见,您无能为力。但如果你必须有字节,只需调用Certificate.getEncoded()

标签: java android ssl https


【解决方案1】:

X509Certificate 有成员 getEncoded,它应该返回证书编码形式的 byte[]

这对你有用吗?

http://docs.oracle.com/javase/7/docs/api/java/security/cert/Certificate.html#getEncoded()

【讨论】:

  • 哦,是的!我忘记了这个方法,对不起,我的错:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-22
  • 2020-08-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多