我正在使用Spring MVC创建一个Web应用程序,以便在Tomcat 7中运行。我在登录页面上有一个POST请求,我想通过https发送到/ account / login。
在我的web.xml中,我有:
<security-constraint>
<web-resource-collection>
<web-resource-name>Login</web-resource-name>
<url-pattern>/account/login</url-pattern>
</web-resource-collection>
<web-resource-collection>
<web-resource-name>Login-Error</web-resource-name>
<url-pattern>/account/login-error</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
在tomcat server.xml中我有一个https连接器:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" maxThreads="150" scheme="https"
secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="/path/to/my.cert" keystorePass="password" />
当我点击登录页面时,协议总是https,登录程序本身也能正常工作。
但是,当我使用firefox插件“篡改数据”来检查POST请求时,用户名和密码都是纯文本。我期待它们被加密 - 我错过了什么吗?
答案 0 :(得分:1)
我不确定这一点,但SSL在网络层工作,因此从应用层流向ssl层的数据未加密,之后数据包被加密。这可能是您能够以纯文本格式查看数据的原因。