首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在SSL中,如何在信任存储中匹配/找到证书?

在SSL中,如何在信任存储中匹配/找到证书?
EN

Stack Overflow用户
提问于 2015-03-24 15:10:06
回答 2查看 1.7K关注 0票数 2

在SSL中,如何检查信任存储中是否存在匹配的证书?是通过匹配指纹还是序列号?

我一直认为这是通过匹配指纹来实现的,但是当我运行java调试时,我得到的是下面的内容,我在那里看不到任何指纹。

代码语言:javascript
运行
复制
*** Certificate chain
chain [0] = [
[
  Version: V3
  Subject: CN=XXXX
  Signature Algorithm: SHA256withRSA, OID = 1.2.840.113549.1.1.11

  Key:  Sun RSA public key, 1024 bits
  modulus: XXXX
  public exponent: XXXX
  Validity: [From: Mon Mar 16 22:48:10 UTC 2015,
               To: Sun Jun 14 22:48:10 UTC 2015]
  Issuer: CN=XXXX
  SerialNumber: [    XXXXXXX]

Certificate Extensions: 1
[1]: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
 ...
]
]

]
  Algorithm: [SHA256withRSA]
  Signature:
 ...

]
***

我希望这不是一个重复的问题(我在张贴之前检查了建议的问题)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-24 15:19:08

通常,在证书中进行验证时,Certificate Authority Key Identifier被标记为非关键,而且它甚至不总是存在的。你不能把它作为指纹参考来使用。

验证是通过构建证书路径,将证书的颁发者DN (区分名称)链接到您信任的CA证书的主题DN来完成的。

这在Java PKI程序员指南的CertPathBuilder/CertPathValidator部分中进行了描述。(更广泛地说,这是在RFC 3820之后,因为还有其他属性需要检查。)

或者,您也可以直接在信任库中拥有一个确切的End实体证书(而不是CA证书)。在这种情况下,可以使用与证书完全匹配的方法。

票数 1
EN

Stack Overflow用户

发布于 2015-03-24 15:16:26

它不检查是否有匹配的证书。它检查是否存在一个证书,其主题是否等于该证书的颁发者,其公钥是否验证该证书的签名。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29236167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档