开发者社区> 问答> 正文

Tomcat配置Https后使用post提交并未对header加密,如何解决?

我使用tomcat配置了https环境,通过openssl或者keytool生成证书后配置在tomcat的server.xml,看起来是这样的

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="SSL"
               keystoreFile="D://work//cert//server.p12"
               keystorePass="123456"
               keystoreType="PKCS12"
               truststoreFile="D://work//cert//ca.p12"
               truststorePass="123456"
               truststoreType="PKCS12"/>

或者是

<Connector port="8443" maxThreads="150" scheme="https" secure="true"
                SSLEnabled="true" keystoreFile="D://work//cert//test.keystore"
                keystorePass="123456" clientAuth="false" sslProtocol="TLS"/>

,配置完成后重启tomcat,发现访问https://localhost:8443,已经提示我是否要信任证书了,说明看起来https环境起作用了,感觉棒棒哒。
但 是,按照常识,HTTPS环境下POST请求通过HTTPFOX等软件是抓取不到请求信息的,可是我配置了个controller后通过post提交发现 我能看到header和POST Data,真深深的伤害了我,我感觉人与人之间的信任没有了,后来我又查了一堆资料,包括tomcat官方文档配置SSL的方式也不行,地址。
然后查查查,在web.xml上加入

<security-constraint>
        <!-- Authorization setting for SSL -->
        <web-resource-collection>
            <web-resource-name>spring</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>

依然可以看到提交的请求参数,于是乎我就不淡定了。
请求有经验者,这个Tomcat HTTPS环境如何配置,如何生成证书才能保证提交参数加密?

展开
收起
落地花开啦 2016-06-02 15:51:59 3312 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    在参数传输之前加密就可以了,https加密是针对的传输层,指的是链路加密。而你在客户端获取的参数是在应用层,是https在传输层解密之后的,当然是明文了。

    2019-07-17 19:25:05
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
基于可信计算与加密计算 打造云上原生计算安全 立即下载
\"视频服务特色解决方案——直播连麦与点播加密 \" 立即下载
量子加密通信技术 立即下载