繁体   English   中英

使用keytool签署CSR

[英]Sign a CSR with keytool

我必须在客户端和服务器之间创建SSL连接。 我创建了一个密钥对,并用我的私钥签名了我的公钥。 服务器将不信任该服务器,因此我需要由CA对其进行签名。 我假设服务器将信任与用于签署自己的证书的证书相同的CA签署的证书。 我该如何使用keytool创建签名证书? 很抱歉,如果这是Oracle网站上的重复信息,但是由于某些原因,他们的页面一直在破坏我的Internet浏览器。

到目前为止的知识是基于这里的答案

我假设服务器将信任与用于签署自己的证书的证书相同的CA签署的证书。

在此处更正您的假设:默认情况下,系统信任各种主要的证书颁发机构(CA)(例如:GeoTrust,Entrust,OpenTrust,Verisign等)。 当您通过任何这些已知的CA签署CSR时,默认情况下,服务器将信任该服务器,而不仅是签署该服务器证书的CA。

要测试客户端和服务器之间的SSL连接,您可以做的是使用自签名证书。

我创建了一个密钥对,并用我的私钥签名了我的公钥

您不应该以客户身份这样做。 服务器应该这样做。 如果服务器正在使用自签名证书,则它们需要向客户端提供该证书,以便客户端可以信任它们以建立SSL连接。

作为服务器,您可以使用keytool创建自签名证书。 当您使用keytool生成密钥对时,它将使用这些属性询问一些属性,例如commonNameorganizationName等...,keytool将创建一个自签名证书并将其与私钥关联。 您要做的就是使用keytool -exportcert命令导出此证书。 完成此部分后,将使用此证书来保护服务器。

一旦服务器受到安全保护,服务器应向其或客户端授予此证书,因为它是自签名的,并且除非您明确信任它,否则客户端的系统将不信任它。 如果服务器已使用由CA签名的证书进行了安全保护,则它不需要向客户端提供任何证书,因为如果它是已知的CA,则它将已经被客户端系统信任。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM