`
szlxh002
  • 浏览: 34252 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用openssl配置tomcat ssl证书

 
阅读更多

      Tomcat既可以作为独立的Servlet容器,也可以作为其他HTTP服务器附加的Servlet容器。如果Tomcat在非独立模式下工作,通常不必配置SSL,由它从属的HTTP服务器来实现和客户的SSL通信。Tomcat和HTTP服务器之间的通信无须采用加密机制,HTTP服务器将解密后的数据传给Tomcat,并把Tomcat发来的数据加密后传给客户。

    如果Tomcat作为独立的Java Web服务器,则可以根据安全需要,为Tomcat配置SSL,它包含以下两个步骤:
(1) 准备安全证书。
(2) 配置Tomcat的SSL连接器(Connector)。

 

一、使用openssl生成证书文件

 

1.OpenSSL安装及准备工作

 

   (1)下载最新的OpenSSL安装包,并解压

    tar -xf openssl.XX.tar.gz

    编译安装

   ./config

   make

   make install

   默认安装在/usr/local/ssl目录下

 

  (2)准备相关目录

    cd /usr/local/ssl

    mkdir certs

    mkdir newcerts

    mkdir crl

    touch index.txt

    echo 01>serial

 (3)生成随机数

    openssl rand -out private/.rand 1000

 

2.生成根证书

 

(1)生成私钥

openssl genrsa -aes256 -out private/cakey.pem 1024

(2)生成根证书签发申请
openssl req -new -key private/cakey.pem -out private/ca.csr

(3)根证书签发
openssl x509 -req -days 365 -sha1 -extensions v3_ca -signkey private/cakey.pem -in private/ca.csr -out certs/ca.cer

 

3.签发服务端证书

 

(1)生成私钥

openssl genrsa -aes256 -out private/server-key.pem 1024

(2)生成服务端签发申请
openssl req -new -key private/server-key.pem -out private/server.csr

 

注意:服务端证书中的Common Name(cn)是你要发布网站的域名,如www.smed.cn

 

(3)服务端证书签发
openssl x509 -req -days 365 -sha1 -extensions v3_req -CA certs/ca.cer -CAkey private/cakey.pem -CAserial ca.srl -CAcreateserial -in private/server.csr -out certs/server.cer

 

 

 

4.签发客户端证书

(1)生成私钥

openssl genrsa -aes256 -out private/client-key.pem 1024

(2)生成客户端签发申请
openssl req -new -key private/client-key.pem -out private/client.csr

(3)客户端证书签发
openssl x509 -req -days 365 -sha1 -CA certs/ca.cer -CAkey private/cakey.pem -CAserial ca.srl -in private/client.csr -out certs/client.cer

 

注意:客户端证书中的Common Name(cn)是你要发布网站的域名(和服务端一致),如www.smed.cn(后面的双向认证要使用)

 

5.证书的使用

 

    使用OpenSSL生成的数字证书和私钥,如需要在Java或Tomcat环境下使用,需要先装其转换成PKCS#12编码格式的密钥库,才能使用keytool工具进行相应的管理。转换命令如下:

 

openssl pkcs12 -export -clcerts -name lxh -inkey private/client-key.pem -in certs/client.cer -out client.p12


openssl pkcs12 -export -clcerts -name lxh -inkey private/server-key.pem -in certs/server.cer -out server.p12

 

信任证书的生成:

keytool -importcert -trustcacerts -alias www.smed.net -file certs/ca.cer -keystore ca-trust.p12

 

keytool工具查看:

 

keytool -list -keystore client.p12 -storetype pkcs12 -v

 

 二、Tomcat 单向认证的配置

 

 打开tomcat的配置文件

vim conf/server.xml

 

增加或修改如下内容:

    <Connector port="8443" protocol="HTTP/1.1"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
		keystoreFile="/usr/local/ssl/server.p12"
                keystoreType="pkcs12"
                keystorePass="12345678"
		/>

 

由于上面server证书的Common Name(cn)设置为www.smed.net

 

所以必须在/etc/hosts文件增加此域名的映谢:

vim /etc/hosts

增加如下内容:

127.0.0.1 www.smed.net

打开网站:

在Firefox浏阅器打开:https://www.smed.net:8443,这时会出现不信任的连接,



 

 

必须在浏阅器加载根证书:

 

 



 

 

导入上面生成的CA根证书ca.cer。

 

这时再打开https://www.smed.net:8443,就显示此网站是安全的。

 

 三、tomcat双向认证的配置

 打开tomcat的配置文件

vim conf/server.xml

 

增加或修改如下内容:

    <Connector port="8443" protocol="HTTP/1.1"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="true" sslProtocol="TLS" 
		keystoreFile="/usr/local/ssl/server.p12"
                keystoreType="pkcs12"
                keystorePass="12345678"
		truststoreFile="/usr/local/ssl/ca-trust.p12"
                truststoreType="jks"
                truststorePass="12345678"
		/>

 

打开网站:

在Firefox浏阅器打开:https://www.smed.net:8443,这时会出现不信任的连接,如下图:



 

必须要Firefox浏阅器在加载客户端证书:

 

 

 

 

选择上面生成的client.p12

可以查看证书的内容:

 



 

 

再一次打开https://www.smed.net:8443,会出现如下窗口,按“确定”即可



 

  • 大小: 24.1 KB
  • 大小: 122.3 KB
  • 大小: 21.1 KB
  • 大小: 133.5 KB
  • 大小: 117.8 KB
  • 大小: 40.3 KB
分享到:
评论

相关推荐

    openSSL制作证书并在tomcat上配置

    openSSL证书生成及Tomcat配置 本文将详细介绍openSSL证书生成和在Tomcat上的配置。首先,我们将学习openSSL的基本概念和命令,然后逐步生成服务器端和客户端的证书文件,并介绍如何使用CA证书签名这些证书文件。...

    openSSL生成证书以及在tomcat下的配置

    今天,我们将详细介绍如何使用openSSL生成证书以及在tomcat下的配置。 一、生成服务器端私钥 在生成证书之前,我们首先需要生成服务器端的私钥。使用openSSL命令生成私钥: `openssl genrsa -des3 -out server....

    免费openssl 生成ssl证书[ssl证书生成]

    为了在Tomcat服务器上实现SSL认证,需要配置Tomcat的server.xml文件,将server.crt证书拷贝到Tomcat的conf目录下。然后创建一个服务器信任的CA证书库,命令如下: ``` keytool -keystore truststore.jks -keypass ...

    TomcatSSL证书部署指南.....

    现在,你的Tomcat服务器已经配置好了SSL证书,可以使用HTTPS协议访问。在浏览器中输入`https://yourdomain:8443`,如果一切顺利,你应该能看到安全的锁形图标,表明连接是加密的。 请注意,安全的网站不仅需要SSL...

    tomcat的双向ssl配置

    标题中的“Tomcat的双向SSL配置”涉及到的是网络通信安全领域的一个重要概念,即Transport Layer Security(传输层安全)协议的双向身份验证。在传统的SSL/TLS连接中,服务器通常被验证,但客户端的身份可能不被确认...

    tomcat 配置ssl 证书

    以下将详细讲解如何在Tomcat中配置SSL证书。 首先,了解SSL证书的基本概念。SSL证书包含了一个公钥和私钥对,用于在客户端(如浏览器)和服务器之间建立安全的加密连接。它通常由权威的证书颁发机构(CA)签发,以...

    Tomcat SSL 认证设置及证书自己生成

    以上就是Tomcat SSL认证设置及证书自动生成的完整流程,包括了使用OpenSSL和keytool生成证书、在Tomcat中配置SSL以及在客户端浏览器导入证书的详细步骤。这个过程中,安全性和合规性是至关重要的,因为自签发的证书...

    nginx、tomcat安装免费ssl安全证书配置

    - 将SSL证书文件转换为PKCS12格式,可以使用openssl工具: ``` openssl pkcs12 -export -out yourdomain.p12 -inkey private.key -in certificate.pem ``` - 设置Tomcat的server.xml文件,添加或修改`...

    ssl汇总ssl tomcat openssl

    4. **Tomcat与OpenSSL结合**:在生产环境中,我们可以使用OpenSSL生成的证书文件(如`server.crt`和`server.key`)配置Tomcat的`keystoreFile`。如果证书是由CA签发的,需要将CA的根证书导入到Truststore中,配置`...

    Tomcat6和5.5配置使用SSL双向认证(使用openssl生成密钥)

    ### Tomcat6 和 5.5 配置使用 SSL 双向认证(使用 OpenSSL 生成密钥) 在本文中,我们将详细介绍如何通过 OpenSSL 工具为 Tomcat 服务器配置 SSL 双向认证的过程。SSL(Secure Sockets Layer)是用于加密互联网通信...

    用tomcat和openSSL构建https双向认证

    这是我实战的笔记,全程直播。 #### Tomcat和Openssl构建HTTPS双向认证 ###### ...Linux下安装OpenSSL 一、创建服务器证书、客户端证书以及CA ...2、配置Tomcat支持HTTPS双向认证(服务器将认证客户端证书)

    Linux下使用openssl制作CA及证书颁发[参考].pdf

    Linux 下使用 OpenSSL 制作 CA 及证书颁发 Linux 下使用 OpenSSL 制作 CA 及证书颁发是一个重要的知识点,在软件开发领域中尤其重要。本文将指导读者如何使用 OpenSSL 在 Linux 平台上创建一个简单的证书颁发机构...

    Tomcat6配置使用SSL双向认证

    本文将深入探讨如何在Tomcat6中实现SSL双向认证,包括证书的生成、配置以及应用。 ### 一、CA证书生成 #### 1. 私钥生成 首先,通过OpenSSL工具生成一个私钥。在命令行中执行以下命令: ```bash C:\OpenSSL\bin&gt;...

    Tomcat配置HTTPS证书认证

    - 可以使用开源工具如OpenSSL自签发一个证书,适合测试环境。 - 对于生产环境,通常需要从权威的证书颁发机构(CA)购买一个正式的SSL证书。 2. **创建Keystore**: - 使用`keytool`命令行工具(位于Java SDK的...

    tomcat,https加密方式(jsse.openssl)

    ### Tomcat HTTPS 加密配置详解 ...综上所述,无论是使用 JSSE 还是 OpenSSL 来配置 Tomcat 的 HTTPS 加密,都需要生成证书、配置 Tomcat 以及可能的其他相关设置。选择哪种方法取决于具体的场景需求和个人偏好。

    Tomcat6和5.5配置使用SSL双向认证(使用openssl生成密钥).rar

    在这个场景中,我们将探讨如何在Tomcat 6和5.5版本中配置SSL双向认证,并使用openssl工具生成必要的密钥文件。 **一、生成CA证书** 创建一个自签名的根证书颁发机构(Root CA)是SSL双向认证的第一步。这可以通过...

    通过tomcat实现SSL双向认证

    通过 Tomcat 实现 SSL 双向认证需要同时配置 Web 服务器证书和客户端证书,并在服务器和客户端之间正确安装根证书。配置 Tomcat 实现 SSL 双向认证可以提高数据传输的安全性,保护网络通信的安全。

    SSL证书安装.zip

    - **配置Apache**:编辑`httpd.conf`或特定的虚拟主机配置文件,添加SSL模块,配置SSL监听端口,并将证书文件路径插入到配置中。 2. **IIS服务器安装SSL证书** IIS是Windows Server上的Web服务器。安装过程如下:...

Global site tag (gtag.js) - Google Analytics