完全不熟悉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运行?如果我有这个文件,它会有什么不同?我真不知道吗?
答案 0 :(得分:0)
私钥用于SSL握手的身份验证阶段,用于签署您提供的证书。对等体通过证书的公钥验证签名。这证明您拥有证书,因为只有您可以使用与其公钥对应的私钥对其进行签名,因为只有您拥有私钥,因为它是私有的。这是建立您的身份的一部分,即身份验证。
如果服务器需要或想要客户端身份验证,SSL客户端只需要私钥,证书,密钥库等。
服务器的私钥也用于生成共享密钥的初始阶段,而后者又用于生成会话的会话密钥。数据由会话密钥加密。