精华内容
下载资源
问答
  • Tomcat8配置Https协议,Tomcat配置Https安全访问,Tomcat Https配置   ============================== ©Copyright 蕃薯耀 2017年11月06日 http://www.cnblogs.com/fanshuyao/   一、使用Jdk自带的工具...

    Tomcat8配置Https协议,Tomcat配置Https安全访问,Tomcat Https配置

     

    ==============================

    ©Copyright 蕃薯耀 2017年11月06日

    http://www.cnblogs.com/fanshuyao/

     

    一、使用Jdk自带的工具生成数字证书,如下:

     

     

    Java代码  收藏代码

    1. keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\soft\apache-tomcat-8.0.47-9200\conf\key\tomcat.keystore  -validity  36500  

     keytool.exe 命令位于Java\jdk1.8.0_121\bin的目录下,如果没有配置Jdk的环境变量,就要进入目录再使用。

     

    命令参数部分解释:

    D:\soft\apache-tomcat-8.0.47-9200\conf\key\tomcat.keystore :表示数字证书生成后的文件路径

    36500 :表示有效时间,36500天,默认90天



     

    然后根据提示输入信息,如上图所示。

     

    需要注意的是:

    网上说“名字与姓氏”应该是域名,输成了姓名,和真正运行的时候域名不符,会出问题。(未知,待测试)

    但我用了Mr.Li一样可以在本地运行,具体情况不清楚,先记录。

     

     

    二、修改Tomcat的server.xml文件支持Https

     

    1、server.xml的Https配置默认是注释掉的,如下:



     

    2、去掉上图红色框的注释,让配置生效,默认端口为8443。然后再加上数字证书的属性,如下:

    keystoreFile="D:\soft\apache-tomcat-8.0.47-9200\conf\key\tomcat.keystore"

    keystorePass="tomcat123",此密码就是生成证书时的密码。



     

     

    属性 描述
    clientAuth                                                               如果设为true,表示Tomcat要求所有的SSL客户出示安全证书,对SSL客户进行身份验证
    keystoreFile 指定keystore文件的存放位置,可以指定绝对路径,也可以指定相对于<CATALINA_HOME>(Tomcat安装目录)环境变量 的相对路径。如果此项没有设定,默认情况下,Tomcat将从当前操作系统用户的用户目录下读取名为“.keystore”的文件。
    keystorePass 指定keystore的密码,如果此项没有设定,在默认情况下,Tomcat将使用“changeit”作为默认密码。
    sslProtocol 指定套接字(Socket)使用的加密/解密协议,默认值为TLS,用户不应该修改这个默认值。
    ciphers 指定套接字可用的用于加密的密码清单,多个密码间以逗号(,)分隔。如果此项没有设定,在默认情况下,套接字可以使用任意一个可用的密码。

     

    三、然后就可以启动tomcat测试。

    1、注意:Https访问的端口是8443,可以修改成别的端口。

     

    效果如下:

    IE Edge 浏览器:



     

     

     

     

    Chrome内核浏览器:


    展开全文
  • tomcat https

    千次阅读 2006-05-11 11:14:00
    Tomcat的SSL(https)配置手顺1. 如果是JDK1.3及以下版本,则需要从http://java.sun.com/products/jsse/下载Java Secure Socket Extensions (JSSE) package, version 1.0.2 或更高版本。如果是JDK1.4.x,则已经集成...



    Tomcat的SSL(https)配置手顺

    1.   如果是JDK1.3及以下版本,则需要从http://java.sun.com/products/jsse/下载
    Java Secure Socket Extensions (JSSE) package, version 1.0.2 或更高版本。如果
    是JDK1.4.x,则已经集成此包,无需再安装,可跳过此步,进行步骤2。

    把三个Jar文件(jcert.jar, jnet.jar和jsse.jar)拷贝到$JAVA_HOME/jre/lib/ext目
    录下。建立系统环境变量JSSE_HOME,指向这个目录。

    2.   首先用jdk自带的工具keytool生成一个证书keystore

    Windows下:

                %JAVA_HOME%/bin/keytool -genkey -alias tomcat -keyalg RSA
      -keystore /path/to/my/keystore




        Unix(Linux)下:

                $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
      -keystore /path/to/my/keystore




       “/path/to/my/keystore”是你为生成的证书文件指定的全路径名,根据具体情况
    修改,建议指定到tomcat的根目录中,如c:/tomcat/keystore。

       上述命令运行过程中,会要求输入要设定的密码,组织名,单位等,随意输入,要
    记住输入的密码,如mypassword。

    3.   修改tomcat目录下的server.xml文件,把下列注释掉的段落解除注释。
    <Factory>标签中可根据情况增加下列属性:

          Attribute
         Description

          className
         The fully qualified class name of the Java class that implements this socket factory. Do not change the default value.

          clientAuth
         Set this value to true if you want Tomcat to require all SSL clients to present a client Certificate in order to use this socket.

          keystoreFile
         Add this attribute if the keystore file you created is not in the default place that Tomcat expects (a file named .keystore in the user home directory under which Tomcat is running). You can specify an absolute pathname, or a relative pathname that is resolved against the $CATALINA_BASE environment variable.

          keystorePass
         Add this element if you used a different keystore (and Certificate) password than the one Tomcat expects (changeit).

          protocol
         The encryption/decryption protocol to be used on this socket. Do not change the default value.




    根据上面步骤设定的密码和keystore证书文件放置的路径,把上面一段文字修改为:



      其中keystorePass的值为生成keystore时输入的密码, keystoreFile的值为证书文件
    keystore的全路径名。

    4.   重新启动tomcat,不报错,OK! 访问https://localhost:8443看看效果。
    展开全文
  • nginx tomcat https 配置

    2017-03-29 18:25:43
    nginx tomcat https 配置

    time: 2017-03-29 18:27

    使用nginx作为请求跳转,由nginx接收https请求后,nginx以http向tomcat请求资源,将返回信息通过https加密后传递到客户端,

    nginx配置:

        server {
            listen 443;
            server_name pay.xsugar.cn; #填写绑定证书的域名
            ssl on;
            ssl_certificate /web/ssl/1_www.cn_bundle.crt;
            ssl_certificate_key /web/ssl/2_www.cn.key;
            ssl_session_timeout 5m;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
            ssl_prefer_server_ciphers on;
            location / {
                            proxy_pass http://localhost:8080;
                            proxy_redirect  off;
                            proxy_set_header Host $host;
                            proxy_set_header X-Forwarded-Proto https;
                            proxy_set_header X-Real-IP $remote_addr;
                            proxy_set_header X-Forwarded-For $http_x_forwarded_for;
                     }
        }

    tomcat按常规配置即可,

    当tomcat端需要判定访问来源是https时,需要修改conf/server.xml文件中Engine节点,在Engine节点里添加<Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="X-Forwarded-For" protocolHeader="X-Forwarded-Proto" protocolHeaderHttpsValue="https" httpsServerPort="80"/> ,这时tomcat端接收到的请求就是https了。

    记录开发过程中的点滴!

    展开全文
  • Tomcat HTTPS 证书制作

    千次阅读 2016-11-02 16:58:25
    Tomcat HTTPS 证书制作1.创建keystore cd E:\Server\keystore keytool -genkeypair -keyalg RSA -keysize 2048 -sigalg SHA1withRSA -validity 36500 -alias tomcat -keystore laimuduo.keystore -dname ...

    Tomcat HTTPS 证书制作

    1.创建keystore

    cd E:\Server\keystore

    keytool -genkeypair -keyalg RSA -keysize 2048 -sigalg SHA1withRSA -validity 36500 -alias tomcat -keystore laimuduo.keystore -dname "CN=passport.laimuduo.com,OU=laimuduo,O=laimuduo,L=shanghai,ST=shanghai,C=CN"

    秘钥库口令和秘钥口令均设为111111

    2.导出数字证书

    keytool -exportcert -alias tomcat -keystore laimuduo.keystore -file laimuduo.cer -rfc

    3.导入到客户端Java证书库

    cd %JAVA_HOME%\jre\lib\security

    keytool -import -alias laimuduo -keystore laimuduo -file E:\Server\keystore\laimuduo.cer -trustcacerts

    4.tomcat server.xml配置

    复制 laimuduo.keystore 到 %CATALINA_HOME% 目录下与config目录同级或者直接指定绝对路径

        <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
        <Connector
               protocol="org.apache.coyote.http11.Http11NioProtocol"
               port="8443" maxThreads="200"
               scheme="https" secure="true" SSLEnabled="true"
               keystoreFile="laimuduo.keystore" keystorePass="111111"
               clientAuth="false" sslProtocol="TLS"/>

    5.keytool 常用命令

    列出密钥库中的条目(默认文件位置:C:\Users\Administrator.keystore)

    keytool -list -keystore laimuduo.keystore

    删除条目

    keytool -delete -keystore laimuduo.keystore -alias laimuduo

    打印证书内容

    keytool -printcert -file "laimuduo.cer"

    6.Windows vs Ubuntu

    实际操作中发现 windows 下生成keystore时需要指定 -alias tomcat 否则启动tomcat会报

    01-Nov-2016 20:39:37.990 WARNING [main] org.apache.tomcat.util.net.openssl.OpenSSLContext.init Error initializing SSL context
     java.lang.NullPointerException
        at org.apache.tomcat.util.net.openssl.OpenSSLContext.init(OpenSSLContext.java:281)
        at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:101)
        at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:81)
        at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:244)
        at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:866)
        at org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:213)
        at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:575)
        at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:65)
        at org.apache.catalina.connector.Connector.initInternal(Connector.java:944)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
        at org.apache.catalina.core.StandardService.initInternal(StandardService.java:549)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
        at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:873)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:606)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:629)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:311)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:494)

    查看org.apache.tomcat.util.net.openssl.OpenSSLContext源代码 位于 %CATALINA_HOME%\lib\tomcat-coyote.jar 发现当 certificate.getCertificateKeyAlias() == null 时会取默认秘钥为 tomcat 的条目

          {
            X509KeyManager keyManager = chooseKeyManager(kms);
            String alias = this.certificate.getCertificateKeyAlias();
            if (alias == null) {
              alias = "tomcat";
            }
            X509Certificate[] chain = keyManager.getCertificateChain(alias);
            PrivateKey key = keyManager.getPrivateKey(alias);
            StringBuilder sb = new StringBuilder("-----BEGIN RSA PRIVATE KEY-----\n");
            String encoded = BASE64_ENCODER.encodeToString(key.getEncoded());
            if (encoded.endsWith("\n")) {
              encoded = encoded.substring(0, encoded.length() - 1);
            }
            sb.append(encoded);
            sb.append(END_KEY);
            org.apache.tomcat.jni.SSLContext.setCertificateRaw(this.ctx, chain[0].getEncoded(), sb.toString().getBytes(StandardCharsets.US_ASCII), 0);
            for (int i = 1; i < chain.length; i++) {
              org.apache.tomcat.jni.SSLContext.addChainCertificateRaw(this.ctx, chain[i].getEncoded());
            }
          }
    展开全文
  • CentOS 7配置tomcat https并改端口为443: 安装tomcat: yum install tomcat (默认为tomcat 7) 配置tomcat证书(有公司https key、crt文件情况): openssl pkcs12 -export -in ming.crt -inkey ming.key -out ...
  • TOMCAT HTTPS访问配置应用

    千次阅读 2014-03-20 17:03:04
    TOMCATHTTPS访问设置   1. 首先确定已经安装了JDK或JRE,并配置java运行环境。 OnWindows: C:\>set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_16 C:\>set PATH=%JAVA_HOME%\bin;%PATH% On Linux: # ...
  • StartSSL CA证书免费申请、签名 、 Tomcat Https访问 全过程说明、总结
  • Tomcat https 单项认证

    2016-03-17 15:10:41
    Tomcat 部署https 单向认证的方式
  • 部署tomcat https &amp; 设置wireshark私钥

    千次阅读 2018-07-26 14:36:05
    部署tomcat https &amp; 设置wireshark私钥 1、linux上部署tomcat(略) 2、利用keytool生成证书和私钥 Windows下生成keystore文件及导出证书: 打开控制台: 运行:  keytool -genkey -alias tomcat -...
  • tomcat3:https://blog.csdn.net/wangkai2963/article/details/79849943 tomcat8.5配置:https://blog.csdn.net/TDBS_WJS/article/details/90676456
  • OpenSSL 把cer证书链以及key文件生成keystore,tomcat https配置
  • Tomcat Https配置方法

    千次阅读 2018-07-19 11:08:23
    SSL证书证书可以通过两个渠道获得: 公开可信认证机构;...JKS(.keystore) 适用于Tomcat 微软(.pfx) PEM(.key + .crt) 适用于nginx JKS格式证书生成步骤: 打开你的命令窗口,输入: keytool -genkey -v...
  • 开启 Tomcat https 服务

    千次阅读 2014-05-04 09:46:53
    实验环境:Mac OSX 10.9.2,Tomcat 7.0.14,JDK 1.6一、制作自签名 CA 证书(根证书)首先我们需要明确自己作为 CA(证书发行机构)的好处。自签名证书并不稀奇,许多企业都在使用自签名证书,但一般意义上的自签名...
  • Tomcat Https访问设置

    2012-03-16 11:04:56
    前几天客户提出要强制使用HTTPS方式访问Tomcat中的相关项目,于是研究了下,现将具体的步骤写下:  主要分2步:让tomcat能使用https--->强制使用https访问 1.让tomcat能使用https  A.在运行命令JAVA_HOME/...
  • 1,生成keystore 在jre/bin目录下执行下面的命令生成keystore keytool -genkey -alias tomcat -keyalg RSA -keystore "/home/tomcat85/bin/test.keystore" 2,修改server.xml &lt;Connector port=&...
  • 使用阿里云Https配置Tomcat(注意tomcat8.5版本配置不同) 前言 我们知道jdk自带的keytool工具可以帮助提供https支持,使用下面命令: 生成服务器证书,有效时间100年、证书别名为serverkey、生成文件名为...
  • CentOS7 下配置 tomcat https

    千次阅读 2019-04-18 15:18:48
    安装JDK教程部分不做讲解...自行度娘 1、 创建证书 查找 JDK 目录 whereis java ...进入JAVA_HOME的bin目录下输入如下代码: ...keytool -genkey -alias tomcat -keyalg RSA -keystore /home/dlb-tomcat-8.0....
  • linux 配置tomcat https访问

    千次阅读 2016-07-05 15:30:38
    keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/tomcat6/conf/.keystore 执行命令后会让输入证书信息 然后要配置tomcat,找到tomcat目录/conf/server.xml文件 找到一下这段代码  <!--...
  • tomcat https访问设置

    千次阅读 2010-11-22 12:40:00
    <br />主要分2步:让tomcat能使用https--->强制使用https访问    1.让tomcat能使用https     A.在运行命令JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg  RSA -...
  • Nginx + Tomcat HTTPS配置

    千次阅读 2017-02-03 16:18:53
    HTTPS证书申请 生成证书请求文件CSR,将私钥文件保存到本地,如/data/web/crt/server.key 提交CSR,申请证书 获取服务器证书,将Email中的SSL证书文本段和中级证书文本段依次粘贴到服务器证书文件,如/data/web/crt/...
  • tomcat https简单配置

    2015-06-08 14:45:05
    操作系统:linux 确保本机安装有java环境: [test@vm01 ~]# java -version ...java version "1.6.0_45" ...Java(TM) SE Runtime ...配置完成后启动 tomcat ,访问 https://localhost:8443 成功。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,897
精华内容 13,558
关键字:

tomcathttps