为什么信任锚不能包含在PKIX认证路径中?

问题描述:

PKIX documentation它提到:为什么信任锚不能包含在PKIX认证路径中?

1)代表 TrustAnchor的证书不应包括在 认证路径

我的问题是,哪里这个限制是从哪里来的?在RFC 5280我才发现:

2)证书只能出现一次 的前瞻性 证书路径。

RFC中的语句(2)是否隐含了语句(1)?因为我看不到它。

将信任锚定在路径中会产生什么问题?最后,TA证书可以验证自己。

请问谁能解释一下?

这更像是一种定义,IIUC。在RFC 5280中定义了一个有效的认证路径,其中一个条件是其第一个证书由信任锚(并且证书的issuerName与该信任锚的名称匹配)签署。 (信任主播不需要证书)

+0

你是对的。java中的TA对象可以用公钥和名字初始化。但是如果路径中有第一个真实的TA证书(按照5280),我无法看到问题。它仍然会使用自己的密钥进行验证。我这样问的原因是,在使用PKIX apis的特定情况下,我碰巧将TA证书作为验证路径中的第一个也是唯一的证书并且也发生了与TrustAnchor的pararmeter相同的证书传递。我得到异常“找不到有效的路径”。但是证书是一样的!我在这里输了 – Cratylus 2011-05-02 21:06:19

+0

我的猜测是它是这样:a信任锚点可能不是认证路径的一部分。我在库中看不到有任何问题(如果它是认证路径的一部分,只是忽略信任锚定证书),但看起来您使用的API不允许这样做。我不认为有什么特别深的事情;只是希望将API与自己和标准保持一致。 – 2011-05-02 21:28:40