首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在keystore中导入证书时,我们是否将这些证书视为CA根证书?

在keystore中导入证书时,我们是否将这些证书视为CA根证书?
EN

Security用户
提问于 2020-06-04 15:47:36
回答 3查看 136关注 0票数 0

当我们需要通过HTTPS调用内部域时,Java不允许它,因为它不识别那些域web服务器发送的证书(可能是因为这些证书是自签名的,因为这些域是组织内部的)。

在这种情况下,我们被要求导入这些证书。但是,cacert位置不是仅用于存储根证书而不是自签名证书吗?我的意思是,一般的过程是证书颁发者的CA证书位于cacert中,然后使用证书颁发者的公钥对签名进行验证。当接收到自签名证书时,是否更改了处理?

还是我必须成为自己的证书颁发机构,这可能需要生成一个新的密钥对,然后用我的私钥对自签名证书进行签名,创建包含我的公钥的CA证书,然后在cacerts中安装该证书?

EN

回答 3

Security用户

回答已采纳

发布于 2020-06-04 16:59:30

我想你有点困惑。自签名证书可以是根证书。当您通过HTTPS调用您的内部域时,为了使TLS握手成功(因此,为了在HTTPS上进行通信),您的本地服务需要信任服务器的CA。出于这个原因,您将该CA导入到信任存储中,从而信任CA将签名的ID证书。ID证书是服务器在TLS握手过程中将呈现的证书。如果需要进一步澄清,请告诉我。被X509弄糊涂是最容易做的事情:)

票数 1
EN

Security用户

发布于 2020-06-04 21:09:12

根据Java文档的说法,cacerts.jks是“信任商店”的名字。

信任存储不一定只存储证书颁发机构的证书。这是你信任的所有证书。

Truststore文件cacerts.jks包含Application的受信任证书,包括其他实体的公钥。对于受信任的证书,服务器已确认证书中的公钥属于证书的所有者。受信任证书通常包括证书颁发机构(CA)的证书。

由您决定是否使用内部CA。但是无论如何,您可以在cacerts存储中安装您信任的证书。

票数 1
EN

Security用户

发布于 2020-06-06 02:12:23

所有根证书都是自签名的。

确定证书是否可以用于签署另一个证书的是basic constraints字段。有关更多信息,请参见https://stackoverflow.com/questions/21319841/signing-certificate-with-another-certificate-signed-by-ca

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

https://security.stackexchange.com/questions/232723

复制
相关文章

相似问题

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