【问题标题】:Can SSL certificate(.crt) decompiled from an apk file be a threat?从 apk 文件反编译的 SSL 证书(.crt)会是威胁吗?
【发布时间】:2021-05-31 06:56:32
【问题描述】:

为了通过 SSL/TLS 使用 https,需要 ssl 证书。

我将证书文件包含在我的 /raw 目录中,并在我的 Retrofit 模块中使用它们。

问题是攻击者可以通过简单地反编译apk文件来访问/raw目录中的内容。

在这种情况下,使用这些 SSL 证书是否存在任何可能的威胁?

如果是这样,我该怎么做才能防止此类事件发生?

【问题讨论】:

  • 没有。证书是一种公共文件,旨在流通。它在 SSL 握手中传播。里面没有秘密信息。

标签: android ssl ssl-certificate


【解决方案1】:

了解公钥/私钥的概念将有助于回答这个问题。

公钥旨在分发给全世界,因为它不能证明身份。它用于加密只有接收者应该知道的数据(私钥的持有者)。 另一方面,私钥确实证明了身份,因此传播它是非常危险的。另一方面,私钥用于签署(!)数据,并且用它签署的任何数据(除非证书被撤销或过期)都是有效的。公钥持有者可以通过公钥简单地验证数据的有效性。

.crt 文件包含一个公钥(而不是私钥,这就是 .key 文件的用途),因此他们无能为力。他们不能用它签署任何东西,这将是危险的一点。

【讨论】:

  • .crt 文件不仅仅是一个公钥。
  • @March3April4 这取决于 PEM 文件中的内容。如果它包含私钥,请不要泄露它。如果它只包含证书和/或 CSR,则它不是私有的。
  • 我的意思是尽可能简化答案。我知道它不仅仅是一个公钥(例如,它包含 CA 的签名)。无论如何,纠正了我的答案。不过,添加它并没有危险。
  • 您可以随心所欲地简化,但是当您说“.crt 文件是公钥”时,您就是在兜售错误信息;当您将其更改为“它包含公钥”时,“so”后面的部分不再是有效的推论。例如,一个密钥对包含一个公钥,但分发它是不安全的。
  • 再次更正以更具体地说明 .crt 文件没有私钥这一事实,尽管我认为这很容易理解,因为我没有提及它。
猜你喜欢
  • 1970-01-01
  • 2017-03-31
  • 2019-12-09
  • 1970-01-01
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多