Eclispe开发,本地开发配置HTTPS协议证书

1、前言

现在很多开发网站为了安全,会使用https协议。但是给开发带来了不小的麻烦,我们eclispe默认的协议是http协议,https协议的接我就会都请求不到,好烦人,只能盲开发。后台通过网上资料配置了本地证书就可以实现,但是按照网上教程配置之后总会有一些小问题,不能友好的访问。故此,笔者记录了一下自己配置的过程。

2、使用工具

SUN公司提供了keytool的工具,为我们解决了这个问题,该工具在jdk的安装包的bin文件下。keytool.exe看起来是可执行文件,双击之后会闪退,我们借助DOM命令完成。

注意:没有配置JAVA_HOME必须在通过dom命令找到keytool.exe,然后执行一下操作。(笔者配置了JAVA_HOME,直接操作)

3、配置步骤

  • ①创建证书
keytool -genkeypair -alias "https_cer" -keyalg "RSA" -keystore "d:\20161010\HTTPS\https_cer.keystore"

其他随便输入,具体可参考其他技术文档

  • ②查看证书:   
keytool -list -keystore d:\20161010\HTTPS\https_cer.keystore

  • ③导出证书
keytool -export -alias https_cer -file d:\20161010\HTTPS\https_cer.crt -keystore d:\20161010\HTTPS\https_cer.keystore

  • ④导入证书信息
keytool -import -keystore https_cer -file d:\20161010\HTTPS\https_cer.crt 

  • ⑤查看证书信息
keytool -printcert -file "d:\20161010\HTTPS\https_cer.crt" 

此时:证书已经生成,可以配置了。

4、Warning警告消除

有的电脑生成过程中总会有Warning的警告,虽然不会影响,但是看着不爽。对于一个强迫症来说,必须干掉。

5、tomcat配置

tomcat下的server.xml默认https配置是注释掉的,需要放开。(找端口为8443的connector的标签)

<Connector SSLEnabled="true" clientAuth="false" keystoreFile="d:\20161010\HTTPS\https_cer.keystore" keystorePass="testtest1" maxThreads="150" port="443" protocol="org.apache.coyote.http11.Http11Protocol" scheme="https" secure="true" sslProtocol="TLS"/>

特别说明:将8443端口改成443端口,因为443为https的默认端口。否则访问的时候,必须加8443端口才能访问,改成443之后就可以省略不写,像http协议80端口类似。

启动项目就可以正常访问了   

6、番外篇

有些文档中指出除上述之外需要配置web.xml,在web.xml中配置资源:

<security-constraint>

    <web-resource-collection>

        <web-resource-name>my-secure-app</web-resource-name>

        <url-pattern>/*</url-pattern>

    </web-resource-collection>

    <user-data-constraint>

        <transport-guarantee>CONFIDENTIAL</transport-guarantee>

    </user-data-constraint>

</security-constraint>

但是,笔者发现没有配置依然可以使用https,所以直接放弃了。有兴趣的朋友可以研究研究,笔者偷懒了...

7、参考文档

技术博客:http://ln-ydc.iteye.com/blog/1335213;https://www.cnblogs.com/hanxs4/p/7246069.html

--END

猜你喜欢

转载自blog.csdn.net/static_coder/article/details/84376930
今日推荐