配置https证书

来源:互联网 发布:混也是一种生活 知乎 编辑:程序博客网 时间:2024/05/16 14:44

为了让tomcat搭建本地服务的时候能使用https请求,进行如下配置

  1. 进入jdk的bin目录中
  2. keytool -genkey -alias "tomcat" -keyalg "RSA" -keystore "/Users/apple/https_key"
  3. 输入密码password、再依次输入localhost、tomcat、tomcat、shanghai、shanghai、cn
  4. 修改conf目录下的server.xml
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"               clientAuth="false" sslProtocol="TLS" />

    <Connector SSLEnabled="true" acceptCount="100" clientAuth="false"        disableUploadTimeout="true" enableLookups="false" maxThreads="25"        port="8443" keystoreFile="/Users/apple/https_key" keystorePass="password"        protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"        secure="true" sslProtocol="TLS" />
  1. 可以配置SSL
    打开conf目录下的web.xml
    增加
<security-constraint>    <web-resource-collection>        <web-resource-name>securedapp</web-resource-name>        <url-pattern>/*</url-pattern>    </web-resource-collection>    <user-data-constraint>        <transport-guarantee>CONFIDENTIAL</transport-guarantee>    </user-data-constraint></security-constraint>

将 URL 映射设为 /* ,这样你的整个应用都要求是 HTTPS 访问,而 transport-guarantee 标签设置为 CONFIDENTIAL 以便使应用支持 SSL。
如果你希望关闭 SSL ,只需要将 CONFIDENTIAL 改为 NONE 即可。


clientAuth
true,表示Tomcat要求所有的SSL客户出示安全证书,对SSL客户进行身份验证

keystoreFile 指定keystore文件的存放位置,可以指定绝对路径,也可以指定相对于(Tomcat安装目录)环境变量 的相对路径。如果此项没有设定,默认情况下,Tomcat将从当前操作系统用户的用户目录下读取名为“.keystore(或者自定义)”的文件。

keystorePass 指定keystore的密码,如果此项没有设定,在默认情况下,Tomcat将使用“changeit”作为默认密码。

sslProtocol 指定套接字(Socket)使用的加密/解密协议,默认值为TLS,用户不应该修改这个默认值。

ciphers 指定套接字可用的用于加密的密码清单,多个密码间以逗号(,)分隔。如果此项没有设定,在默认情况下,套接字可以使用任意一个可用的密码。

0 0