生成自签名证书 将http接口转成https接口

当前项目http+json形式为手机端提供接口服务,由于ios据说2017以后必须使用https的接口,遂不得不对现有接口进行改造,上网查询,最简单快捷的方式是生成自签名证书,现将过程记录下来,关于签名认证等相关原理,后续再深入研究。

1.利用jdk自带工具生成证书库文件

命令形式:keytool -genkey -alias 证书名称 -keyalg RSA -keystore 证书库文件路径

keytool -genkey -alias testkey -keyalg RSA -keystore /root/testkeystore

选用网上一直图片,按照示例填写证书相关信息

生成自签名证书 将http接口转成https接口_第1张图片

填写完成后则在/root目录下生成文件名为testkeystore的证书库文件。注意:这个testkeystore是个证书库文件,里面包含别名为testkey的证书,也可以再包含其他证书。

2.导出证书

这一步要做的就是从刚才生成的证书库文件中导出我们需要的证书。

keytool -export -file  /root/testkey.crt  -alias testkey  -keystore /root/testkeystore

这样就从/root/testkeystore 证书库文件中导出别名为testkey 的证书 至/root/testkey.crt 文件,将此证书文件发给手机端使用即可。

3.配置tomcat服务器 提供https服务

在tomcat的server.xml配置文件中 添加如下配置

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false"
    disableUploadTimeout="true" enableLookups="false" maxThreads="25"
    port="8443" keystoreFile="/root/testkeystore" keystorePass="password"
    protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
    secure="true" sslProtocol="TLS" />

注意这里配置的是证书库文件的路径。

于是通过浏览器访问https://localhost:8443/** 即可访问到原有的http服务。

你可能感兴趣的:(java)