密钥库/信任
密钥库是密钥材料的数据库。 主要材料用于多种用途,包括authentication和数据完整性。 有各种types的密钥库可用,包括PKCS12和Oracle的JKS。
一般来说,密钥库信息可以分为两类:密钥条目和可信的证书条目。 密钥条目由实体的身份和私钥组成,可用于各种encryption目的。 相比之下,除了实体的身份之外,受信任的证书条目仅包含公钥。 因此,如果需要私钥,则不能使用受信任的证书条目,例如在javax.net.ssl.KeyManager中。 在JKS的JDK实现中,密钥库可能包含密钥条目和可信证书条目。
信任库是在决定要信任什么时使用的密钥库。 如果您从您已经信任的实体接收数据,并且如果您可以validation该实体是它声称的实体的数据,那么您可以假设数据确实来自该实体。
如果用户信任该实体,则只应将条目添加到信任库。 通过生成密钥对或通过导入证书,用户对该条目给予信任。 信任库中的任何条目均被视为可信条目。
有两个不同的密钥库文件是有用的:一个仅包含您的密钥条目,另一个包含您的可信证书条目(包括CA证书)。 前者包含私人信息,而后者则不包含私人信息。 使用两个文件而不是单个密钥库文件提供了您自己的证书(和相应的私钥)与其他证书之间的逻辑区分的更清晰的分离。 要为您的私钥提供更多保护,请将其存储在具有受限访问权限的密钥库中,并在需要时提供可公开访问的密钥库中的可信证书。