0

完全是 SSL 的新手,我终于设法让我的应用程序使用 https 运行:

在我添加的tomcat服务器中

    <Connector port="8443"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS"
    keystoreFile="c:/keystore.key"
    keystorePass="mypassword" 
    SSLEnabled="true" />

在我的应用程序中我添加了

 <user-data-constraint>
          <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
 </user-data-constraint>

现在我的问题是,即使我从 c:\ 中删除了我使用以下命令生成的密钥库文件:

keytool -genkey -alias tomcat -keypass pass -keystore keystore.key -storepass pass

我的应用程序仍然在 https 中运行?如果我有文件有什么区别?我真的说不出来?

4

1 回答 1

0

私钥用于 SSL 握手的身份验证阶段,以签署您提供的证书。对等方通过证书的公钥验证签名。这证明您拥有该证书,因为只有您可以使用与其公钥对应的私钥对其进行签名,因为只有您拥有私钥,因为它是私有的。这是建立您的身份(即身份验证)的一部分。

如果服务器需要或想要客户端身份验证,SSL 客户端只需要私钥、证书、密钥库等。

服务器的私钥也用于生成共享密钥的初始阶段,而共享密钥又用于生成会话的会话密钥。数据由会话密钥加密。

于 2012-06-29T03:40:29.300 回答