tomcat系列-05-HTTPS支援-私有CA頒發證書
前言
本篇將介紹在自己建立的私有CA下,tomcat啟用SSL/TLS支援。
私鑰CA除了在內網中使用,我還真不知道有什麼其他用處………………
至於SSL/TSL不熟悉的請自行百度或者看本人其他文章:
對於本篇文章來說,或許,我們只需要知道:TLS(Transport Layer Layer)和他的前生SSL(Secure Socket Layer)是一種瀏覽器和伺服器之間安全通訊的技術。就夠了吧。
在tomcat中啟用SLL/TLS支援,至少有兩種方式(以下兩種叫法並不是專業術語):
- APR型別的Connector下啟用HTTPS
- BIO/NIO型別的Connector下啟用HTTPS
Tomcat currently operates only on JKS, PKCS11 or PKCS12 format keystores. The JKS format is Java’s standard “Java KeyStore” format, and is the format created by the keytool command-line utility. This tool is included in the JDK. The PKCS12 format is an internet standard, and can be manipulated via (among other things) OpenSSL and Microsoft’s Key-Manager.
由以上這段來自tomcat官方文件的介紹可知:
- tomcat目前支援JKS, PKCS11 或 PKCS12格式的keystore
- JKS是java標準的祕鑰管理格式,通過java內建的命令keytool來操作
- PKCS是網際網路通用的格式,可以用openssl或微軟的Key-Manager來操作
下文就這兩種(keytool和openssl)方式來實現tomcat對HTTPS的支援
1 基於keytool實現
1.1 生成自簽署證書
# 此處本人在目錄D:\java-env\apache-tomcat-7-80\ssl\ks下操作
keytool -genkeypair \
-alias tomcat \
-keyalg rsa \
-keysize 2048 \
-validity 365 \
-keystore keystore
# 此處將keystore的位置指定為:D:\java-env\apache-tomcat-7-80\ssl\ks\keystore
1.2 配置tomcat
此處使用NIO型別的Connector
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="${catalina.home}/ssl/ks/keystore" keystorePass="123456"
clientAuth="false" sslProtocol="TLS"/>
1.3 效果
2 基於openssl實現
2.1 將自己的機器配置為私有CA
2.2 生成CSR
此處本人在tomcat安裝目錄下新建ssl目錄,在ssl目錄中操作
# 生成私鑰tomcat.key
[[email protected] ssl]# (umask 077;openssl genrsa -out tomcat.key 2048)
# .....
# 生成證書頒發請求tomcat.csr
[[email protected] ssl]# openssl req -new -key tomcat.key -out tomcat.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [CN]:
State or Province Name (full name) [ShangHai]:
Locality Name (eg, city) [ShangHai]:
Organization Name (eg, company) [Default Company Ltd]:KKBC
Organizational Unit Name (eg, section) [dev]:
Common Name (eg, your name or your server's hostname) []:test.com
Email Address []:[email protected]163.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
2.3 私有CA頒發證書
此處由於CA是我們自己的私鑰CA,和應用程式在同一臺主機上。所以直接簽署即可:
openssl ca -in tomcat.csr -out tomcat.crt -days 365
至此,看看我們的ssl目錄:
[[email protected] ssl]# tree
.
├── tomcat.crt # 2.3步驟中生成的證書
├── tomcat.csr # 2.2步驟中生成的證書頒發請求
└── tomcat.key # 2.2步驟中生成的應用程式的私鑰
2.4 配置tomcat
2.4.1 基於APR-Connector的配置
<Connector
protocol="org.apache.coyote.http11.Http11AprProtocol"
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
SSLCertificateFile="${catalina.base}/ssl/tomcat.crt"
SSLCertificateKeyFile="${catalina.base}/ssl/tomcat.key"
SSLVerifyClient="optional" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"/>
2.4.2 基於NIO/BIO-Connector的配置
此處還是在tomcat安裝目錄下新建的ssl目錄下操作:
- 1) 生成私鑰和keystore
# 放置於tomcat安裝目錄的ssl目錄下的ks檔案中
keytool -genkeypair -keyalg rsa -keysize 2048 -keystore ks
- 2) 將私鑰CA自己的證書匯入到keystore(ks)中
keytool -importcert \
# 這個檔案是私鑰CA自己的證書並不是私鑰CA頒發給tomcat的證書
-file /etc/pki/CA/cacert.pem \
-alias my_ca \ # 起名
-keystore ./ks \ # 匯入到${catalina.home}/ssl/ks檔案中
-trustcacerts
- 3) 將私鑰CA頒發給tomcat的證書匯入同一個keystore(ks)
keytool -importcert \
-file tomcat.crt \ # 這個是私鑰CA頒發給tomcat的證書
-alias tomcat_crt \
-keystore ./ks \
-trustcacerts
- 4) 配置server.xml
NIO-Connector配置
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="${catalina.home}/ssl/ks" keystorePass="123456"
clientAuth="false" sslProtocol="TLS"/>
BIO-Connector配置
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
connectionTimeout="20000" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="${catalina.home}/ssl/ks" keystorePass="123456"
/>
2.5 效果
此處注意修改hosts檔案,我們在CSR中寫的域名是test.com
參考文章
相關推薦
tomcat系列-05-HTTPS支援-私有CA頒發證書
前言 本篇將介紹在自己建立的私有CA下,tomcat啟用SSL/TLS支援。 私鑰CA除了在內網中使用,我還真不知道有什麼其他用處……………… 至於SSL/TSL不熟悉的請自行百度或者看本人其他文章: 對於本篇文章來說,或許,我們只需要知道
部署自建CA頒發證書實現https加密
isp pan ef6 span med _for logs strong 執行 理論忽略:百度上很多 需求:自建證書並實現域名的https加密 部署: 在linux機器上執行以下命令生成私鑰 mkdir -p /opt/ssl-cert cd /opt/ssl
私有CA和證書
傳輸 same ica ca簽署 .cn 數字證書 struct stat 派出所 證書類型 證書授權機構的證書 服務器 用戶證書 獲取證書兩種方法 使用證書授權機構: 生成簽名請求(csr ) 將csr發送給
自建CA 頒發證書
原文地址: http://blog.csdn.net/erice_e/article/details/53486071 客戶端認證伺服器: 正規的做法是:到國際知名的證書頒發機構,如VeriSign申請一本伺服器證書,比如支付寶的首頁,點選小鎖的圖示,可以看到支付
創建私有CA及頒發證書
創建 私有 ca 證書申請及簽署步驟:1、生成申請請求 2、RA核驗 3、CA簽署 4、獲取證書三種策略:匹配、支持和可選 ①匹配:指要求申請填寫的信息跟CA設置信息必須一致,默認國家、省、公司信息必須一致 ②支持:指必須填寫這項申請信息,但是可以和CA信息不一致 ③可選
基於httpd建立私有CA實現https加密連接
ca https openssl 有關於https是什麽,點擊連接查看百度百科:https://baike.baidu.com/item/https/285356?fr=aladdin 一、準備工作 在開始實驗之前,我們要準備至少兩臺主機還有自身的計算機,一臺作為服務器,另外一臺作為
https CA自簽名證書,並給Webserver頒發證書
extension there form nal 3.2 vim city append cor **CA主機執行命令** [root@centos7 ~]# cd /etc/pki/CA [root@centos7 CA]# touch index.txt [root@c
一分鐘開啟Tomcat https支援
1、修改配置檔案 開啟tomcat/conf/server.xml配置檔案,把下面這段配置註釋取消掉, keystorePass為證書金鑰需要手動新增,建立證書時指定的。 <Connector port="8443" protocol="org.apache.coyote.http11
開啟Tomcat https支援
1、修改配置檔案 開啟tomcat/conf/server.xml配置檔案,把下面這段配置註釋取消掉, keystorePass為證書金鑰需要手動新增,建立證書時指定的。 <Connector port="8443" protocol="org.apache.coyote.http
Nginx + Tomcat + HTTPS 配置原來不需要在 Tomcat 上啟用 SSL 支援
之前在網上搜索到的很多文章在描述 Nginx + Tomcat 啟用 HTTPS 支援的時候,都必須在 Nginx 和 Tomcat 兩邊同時配置 SSL 支援。但我一直在想為什麼就不能按照下面的方式來配置呢?就是 Nginx 上啟用了 HTTPS,而 Nginx 和 T
實驗:建立私有CA,並實現頒發證書(20190123 下午第一節)
ops 先生 local 吊銷 bak ssl The 一個數 兩個 證書的申請過程:centos6是需要證書服務的主機 centos7為服務器1、建立CA1、[root@centos7 ~]# tree /etc/pki/CA/etc/pki/CA├── certs├─
Linux建立私有CA和頒發證書及管理
name 工具 index country 證書管理 text tex 簽名證書 簽名 建立私有CA和頒發證書及管理 1. 建立私有CA 使用openssl工具實現搭建一個私有CA,打開文件/etc/pki/tls/openssl.cnf ,文件裏的內容是openssl
Java後臺開發Tomcat新增https支援小程式開發過程
文章原文:blog.ouyangsihai.cn >> Java後臺開發Tomcat新增https支援小程式開發過程
Linux下私有CA搭建
openssl 內網搭建 數字證書為實現雙方安全通信提供了電子認證。在因特網、公司內部網或外部網中,使用數字證書實現身份識別和電子信息加密。數字證書中含有密鑰對(公鑰和私鑰)所有者的識別信息,通過驗證識別信息的真偽實現對證書持有者身份的認證。 證書申請及簽署步驟; 1、生成申請請求
【鄒神專場系列公開課】私有雲與OpenStack間精華技術解析
紅帽雲計算無疑是當下最熱門的技術,各大中小企業都在紛紛將自己的業務遷移到公有雲上,大企業都在忙著搭建自己的私有雲,國內外各大雲服務商都在積極推廣自己的雲計算,AWS,Google,微軟雲,阿裏雲,華為雲,萬達雲,網易雲,京東雲,騰訊雲,360雲,QingCloud,sysCloud,EasyStack,楚天雲
深入理解Tomcat系列之五:Context容器和Wrapper容器
ssa stream servlet實例 可用 igel sse ould rip alt 前言 Context容器是一個Web項目的代表,主要管理Servlet實例,在Tomcat中Servlet實例是以Wrapper出現的。如今問題是怎樣才幹通過C
openssl 創建私有CA
openssl ca 創建私有CA: openssl的配置文件:/etc/pki/tls/openssl.cnf 1.創建所需要的文件 #touch index.txt #echo 01 > serial # 2.給CA發證 <CA自簽證書>
轉:Tomcat 配置8443 https
prot top 沒有 server factory acc too rsa .keystore 問: 已經按網上的方法配置了8443端口 端口能夠啟動 並生成了證書: keytool -genkey -alias tomcat -keyalg RSA -keysiz
構建一個內網的私有CA步驟
etc 有效 創建 註冊 pseudo 證書生成 unit selector bsp 1:使用openssl命令生成一個私鑰,私鑰必須放在/etc/pki/CA/private/目錄下 (umask 077; openssl genrsa -out /etc/pki/CA
Openssl應用實例:創建私有CA並申請證書
linux運維一:實驗環境CA:centos6 172.17.252.226客戶端:centos7 172.17.252.188二:閱讀CA相關配置文件CA配置文件路徑:/etc/pki/tls/openssl.cnf圖一圖二圖三三:證書申請及簽署步驟1、生成申請請求2、RA核驗3、CA簽署4、獲取證書具