際際滷

際際滷Share a Scribd company logo
Nh坦m 14
CI 畉T V C畉U HNH CH畛NG TH働 S畛 CHO WEBSERVER APACHE S畛
D畛NG JAVA KEYTOOLS H畛 I畛U HNH WINDOWS
Sinh vi棚n th畛c hi畛n:
畉ng Th畛 Ly  AT170333
Nguy畛n Th畛 Nga  AT170536
畛 Th畛 H畛ng  AT170322
Gi畉ng vi棚n gi畉ng d畉y:
Th畉y L棚 Quang Huy
畉t v畉n 畛
- Vi畛c b畉o v畛 c叩c k畉t n畛i web l m畛t th叩ch th畛c l畛n  Ch畛ng th動 s畛 l m畛t
gi畉i ph叩p hi畛u qu畉 畛 畉m b畉o an ton v x叩c th畛c danh t鱈nh tr棚n m畉ng
- Java KeyTools gi炭p t畉o, qu畉n l箪 v tri畛n khai ch畛ng th動 s畛: t畉o keystore, y棚u
c畉u ch畛ng ch畛 t畛 CA, 
- Ci 畉t v c畉u h狸nh ch畛ng th動 s畛 cho Apache kh担ng ch畛 b畉o v畛 d畛 li畛u m
c嘆n tng c動畛ng 畛 tin c畉y c畛a trang web
N畛i dung
Ch動董ng 1: T畛ng quan v畛 h畉 t畉ng PKI v ch畛ng th動 s畛
Ch動董ng 2: C担ng ngh畛 Java Keytool v 畛ng d畛ng trong c畉u h狸nh
ch畛ng th動 s畛 Apache Tomcat
Ch動董ng 3: Th畛c nghi畛m ci 畉t h畉 t畉ng PKI b畉ng c担ng c畛 java
keytools v s畛 d畛ng ch畛ng th動 s畛 cho Apache Tomcat Server
Ch動董ng 1: T畛ng quan v畛 h畉 t畉ng PKI v ch畛ng th動 s畛
1.1. PKI - H畉 t畉ng m畉t m達 kh坦a c担ng khai
- PKI:
+ Th動畛ng ch畛 ton b畛 h畛 th畛ng bao g畛m
c畉 nh cung c畉p ch畛ng th畛c s畛 v c叩c
c董 ch畉 li棚n quan, c湛ng v畛i vi畛c s畛 d畛ng
c叩c thu畉t to叩n m達 ho叩 c担ng khai trong
trao 畛i th担ng tin
+ M畛c ti棚u ch鱈nh c畛a PKI:
Cung c畉p c叩c d畛ch v畛 nh畉m 畉m b畉o an
ton cho c叩c giao d畛ch i畛n t畛.
M担 h狸nh t畛ng th畛 c畛a m畛t h畛 th畛ng PKI
1.2. Ch畛ng th動 s畛
- Kh叩i ni畛m:
Ch畛ng th動 s畛 l m畛t ph動董ng ti畛n th担ng qua n坦 t畛 ch畛c
ch畛ng th畛c ch畛ng nh畉n m畛t c畉p kho叩 thu畛c v畛 m畛t ch畛
th畛
- B畉n ch畉t:
C畉u tr炭c d畛 li畛u g畉n c叩c th担ng tin x叩c th畛c ch畛 th畛 v畛i m畛t
kho叩 c担ng khai v 動畛c k箪 b畛i c董 quan ph叩t hnh (T畛
ch畛c ch畛ng th畛c)
- 畉c i畛m:
 B畉o v畛 t鱈nh ton v畉n
 X叩c th畛c c畉p kho叩, ch畛ng ch畛i b畛
Ch動董ng 2: C担ng ngh畛 Java Keytool v 畛ng d畛ng trong c畉u
h狸nh ch畛ng th動 s畛 Apache Tomcat
2.1. Java keytools
Java keytool
+ m畛t c担ng c畛 d嘆ng l畛nh i k竪m v畛i b畛 c担ng
c畛 ph叩t tri畛n Java (JDK).
+ 動畛c s畛 d畛ng 畛 t畉o, qu畉n l箪 v thao t叩c
v畛i c叩c ch畛ng th動 s畛 trong Java keystore.
+ V畛i Java keytool, ng動畛i d湛ng c坦 th畛 t畉o c叩c
c畉p kh坦a, y棚u c畉u ch畛ng th動 s畛 t畛 c董 quan
ch畛ng nh畉n (CA), nh畉p v xu畉t ch畛ng th動 s畛,
v qu畉n l箪 keystore m畛t c叩ch hi畛u qu畉.
C叩ch s畛 d畛ng java keytool
* T畉o Kh坦a
Java KeyTool cho ph辿p t畉o c叩c c畉p kh坦a c担ng khai v kh坦a ri棚ng s畛 d畛ng c叩c thu畉t to叩n m畉t m達 nh動 RSA v EC.
keytool -genkeypair -alias mykey -keyalg RSA -keysize 2048 -keystore mykeystore.jks -validity 365
* T畉o y棚u c畉u Ch畛ng th動 s畛 (CSR)
C担ng c畛 ny c坦 th畛 t畉o c叩c y棚u c畉u ch畛ng ch畛 s畛, 動畛c s畛 d畛ng 畛 g畛i t畛i CA (Certificate Authority) 畛 動畛c k箪 v
c畉p ch畛ng ch畛 s畛.
keytool -certreq -alias mykey -file myrequest.csr -keystore mykeystore.jks
* Import Ch畛ng Ch畛 S畛
Sau khi nh畉n 動畛c ch畛ng ch畛 s畛 t畛 CA, b畉n c坦 th畛 s畛 d畛ng Java KeyTool 畛 import ch畛ng ch畛 vo keystore.
keytool -importcert -file mycert.crt -keystore mykeystore.jks -alias mykey
* Export Ch畛ng Ch畛 S畛
Java KeyTool cho ph辿p xu畉t ch畛ng ch畛 t畛 keystore 畛 chia s畉 ho畉c s畛 d畛ng 畛 n董i kh叩c.
keytool -exportcert -alias mykey -file mycert.crt -keystore mykeystore.jks
* Hi畛n Th畛 Th担ng Tin Keystore
B畉n c坦 th畛 xem th担ng tin chi ti畉t v畛 c叩c m畛c trong keystore.
keytool -list -keystore mykeystore.jks
2.2. Ch畛ng th動 s畛 cho Apache Tomcat
C畉n d湛ng ch畛ng ch畛 SSL cho Apache Tomcat
Server v狸:
+ T畉o ra m畛t m担i tr動畛ng an ton 畛 truy畛n t畉i
th担ng tin, gi炭p ngn ch畉n c叩c cu畛c t畉n c担ng v
畉m b畉o r畉ng d畛 li畛u 動畛c b畉o m畉t.
+ Tng 畛 tin c畉y c畛a ng動畛i d湛ng: M畛t trang
web s畛 d畛ng HTTPS th動畛ng 動畛c ng動畛i d湛ng
tin c畉y h董n so v畛i trang web ch畛 s畛 d畛ng
HTTP. + Bi畛u t動畛ng 畛 kh坦a tr棚n thanh 畛a ch畛
c畛a tr狸nh duy畛t l d畉u hi畛u r探 rng cho ng動畛i
d湛ng th畉y r畉ng k畉t n畛i c畛a h畛 an ton.
Ch動董ng 3: Th畛c nghi畛m ci 畉t h畉 t畉ng PKI b畉ng c担ng c畛
java keytools v s畛 d畛ng ch畛ng th動 s畛 cho Apache Tomcat
Server
M担 h狸nh:
G畛m RootCA, SubCA v Apache Tomcat Server
Ph畉n 1: S畛 d畛ng c担ng c畛 Java KeyTools 畛 t畉o v qu畉n l箪
ch畛ng th動 s畛.
1. T畉o keystore cho RootCA v畛i c畉p kh坦a RSA 4096 bit
keytool -genkeypair -alias rootca -keyalg RSA -keysize 4096 -dname "CN=RootCA,
OU=LopAT17, O=KMA, emailaddress=rootca@actvn.edu.vn, street=ChienThang,
L=ThanhXuan, ST=HaNoi, C=VN" -keystore rootca.jks -validity 3650
2. Export ch畛ng th動 s畛 c畛a RootCA
keytool -exportcert -alias rootca -file rootca.crt -keystore rootca.jks
3. T畉o keystore cho SubCA v畛i c畉p kh坦a EC 384 bit
keytool -genkeypair -alias subca -keyalg EC -groupname secp384r1 -dname "CN=SubCA,
OU=LopAT17, O=KMA, emailaddress=subca@actvn.edu.vn, street=ChienThang,
L=ThanhXuan, ST=HaNoi, C=VN" -keystore subca.jks -validity 3650
4. T畉o y棚u c畉u k箪 ch畛ng ch畛 (CSR) cho kho kh坦a c畛a SubCA
keytool -certreq -alias subca -file subca.csr -keystore subca.jks
5. T畉o crt cho SubCA b畉ng c叩ch k箪 ch畛ng ch畛 SubCA b畉ng RootCA
keytool -gencert -infile subca.csr -outfile subca.crt -keystore rootca.jks -alias rootca
6. Import ch畛ng ch畛 RootCA vo keystore c畛a SubCA
keytool -importcert -file rootca.crt -keystore subca.jks -alias rootca
7. Import ch畛ng ch畛 SubCA vo keystore c畛a SubCA
keytool -importcert -file subca.crt -keystore subca.jks -alias subca
8. T畉o keystore cho Webserver v畛i c畉p kh坦a RSA 2048 bit
keytool -genkeypair -alias tomcat -keyalg RSA -keysize 2048 -dname "CN=tomcat,
OU=LopAT17, O=KMA, emailaddress=tomcat@actvn.edu.vn, street=ChienThang,
L=ThanhXuan, ST=HaNoi, C=VN" -keystore tomcat.jks -validity 3650
9. T畉o y棚u c畉u k箪 ch畛ng ch畛 (CSR) cho kho kh坦a c畛a Webserver
keytool -certreq -alias tomcat -file tomcat.csr -keystore tomcat.jks
10. T畉o crt cho Webserver b畉ng c叩ch k箪 ch畛ng ch畛 Webserver b畉ng SubCA
keytool -gencert -infile tomcat.csr -outfile tomcat.crt -keystore subca.jks -alias subca
11. Import ch畛ng th動 s畛 c畛a RootCA vo keystore c畛a Webserver
keytool -importcert -file rootca.crt -keystore tomcat.jks -alias rootca
12. Import ch畛ng th動 s畛 c畛a SubCA vo keystore c畛a Webserver
keytool -importcert -file subca.crt -keystore tomcat.jks -alias subca
13. Import ch畛ng th動 s畛 c畛a Webserver vo keystore c畛a Webserver
keytool -importcert -file tomcat.crt -keystore tomcat.jks -alias tomcat
14. T畉o keystore cho Client v畛i c畉p kh坦a RSA 2048 bit
keytool -genkeypair -alias client -keyalg RSA -keysize 2048 -dname "CN=client,
OU=LopAT17, O=KMA, emailaddress=client@actvn.edu.vn, street=ChienThang,
L=ThanhXuan, ST=HaNoi, C=VN" -keystore client.jks -validity 3650
15. T畉o y棚u c畉u k箪 ch畛ng ch畛 (CSR) cho kho kh坦a c畛a Client
keytool -certreq -alias client -file client.csr -keystore client.jks
16. T畉o crt cho Client b畉ng c叩ch k箪 ch畛ng ch畛 Client b畉ng SubCA
keytool -gencert -infile client.csr -outfile client.crt -keystore subca.jks -alias subca
17. Import ch畛ng th動 s畛 c畛a Client vo keystore c畛a Webserver
keytool -importcert -file client.crt -keystore tomcat.jks -alias client
18. Xu畉t ch畛ng ch畛 c畛a Webserver d動畛i d畉ng file PKCS#12 (*.p12)
keytool -importkeystore -srckeystore tomcat.jks -destkeystore tomcat.p12 -
deststoretype PKCS12 -srcalias tomcat
Ph畉n 2: S畛 d畛ng ch畛ng th動 s畛 畛 c畉u h狸nh Apache Tomcat
Server s畛 d畛ng SSL v x叩c th畛c 2 chi畛u
1. C畉u h狸nh Tomcat 畛 s畛 d畛ng SSL
M畛 file c畉u h狸nh server.xml c畛a Apache Tomcat v th棚m ho畉c ch畛nh s畛a
o畉n sau 畛 s畛 d畛ng ch畛ng ch畛 SSL 達 t畉o:
2. Sau 坦 ta c坦 th畛 truy c畉p apache tomcat qua https
3. Xem ch畛ng th動 s畛 c畛a Tomcat
4. C畉u h狸nh x叩c th畛c hai chi畛u tr棚n Apache Tomcat
Th棚m vo c畉u h狸nh server.xml 畛 y棚u c畉u x叩c th畛c client:
5. Hon t畉t ci 畉t
Sau khi c畉u h狸nh xong, kh畛i 畛ng l畉i webserver v truy c畉p trang web t畛
tr狸nh duy畛t v畛i ch畛ng ch畛 client 達 動畛c ci 畉t. Tr狸nh duy畛t s畉 g畛i ch畛ng
ch畛 client t畛i webserver v webserver s畉 x叩c th畛c d畛a tr棚n ch畛ng ch畛 坦.
T畛ng k畉t
B叩o c叩o ny 達 tr狸nh by chi ti畉t c叩c b動畛c s畛 d畛ng c担ng c畛 CA Java KeyTools
畛 t畉o v qu畉n l箪 ch畛ng th動 s畛 tr棚n m叩y Windows.
畛ng th畛i, h動畛ng d畉n c畉u h狸nh ch畛ng th動 s畛 SSL v thi畉t l畉p x叩c th畛c hai
chi畛u cho webserver Apache Tomcat, c滴ng nh動 ci 畉t ch畛ng th動 s畛 cho ng動畛i
d湛ng trong c叩c tr狸nh duy畛t web.
Qua 坦, gi炭p 畉m b畉o an ton th担ng tin v x叩c th畛c danh t鱈nh trong c叩c giao
d畛ch tr畛c tuy畉n.

More Related Content

Similar to java keytool and apache tomcat use ssl/tls (20)

L畉p tr狸nh web v畛i c叩c c担ng ngh畛 ph畛 bi畉n
L畉p tr狸nh web v畛i c叩c c担ng ngh畛 ph畛 bi畉nL畉p tr狸nh web v畛i c叩c c担ng ngh畛 ph畛 bi畉n
L畉p tr狸nh web v畛i c叩c c担ng ngh畛 ph畛 bi畉n
Son Nguyen
metasploitable example attacks list.docx
metasploitable example attacks list.docxmetasploitable example attacks list.docx
metasploitable example attacks list.docx
firearcanist
Core java 10
Core java 10Core java 10
Core java 10
. .
TIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVERTIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVER
conglongit90
B畉o m畉t 畛ng d畛ng ASP.NET
B畉o m畉t 畛ng d畛ng ASP.NETB畉o m畉t 畛ng d畛ng ASP.NET
B畉o m畉t 畛ng d畛ng ASP.NET
HUST
B叩o c叩o th畛c t畉p
B叩o c叩o th畛c t畉pB叩o c叩o th畛c t畉p
B叩o c叩o th畛c t畉p
Tr畉n Hi畛u
Building Trusted Network
Building Trusted NetworkBuilding Trusted Network
Building Trusted Network
Thang Man
B叩o c叩o tu畉n 畛 叩n
B叩o c叩o tu畉n 畛 叩nB叩o c叩o tu畉n 畛 叩n
B叩o c叩o tu畉n 畛 叩n
L動u Vi畛t T湛ng
Gi畛i thi畛u v畛 M畉ng ri棚ng 畉o Vitual Private Network
Gi畛i thi畛u v畛 M畉ng ri棚ng 畉o Vitual Private NetworkGi畛i thi畛u v畛 M畉ng ri棚ng 畉o Vitual Private Network
Gi畛i thi畛u v畛 M畉ng ri棚ng 畉o Vitual Private Network
tuanhiep8
Ci 畉t exchange 2013 tr棚n windows server 2008 r2
Ci 畉t exchange 2013 tr棚n windows server 2008 r2Ci 畉t exchange 2013 tr棚n windows server 2008 r2
Ci 畉t exchange 2013 tr棚n windows server 2008 r2
laonap166
Ki畉n tr炭c chung v c叩c platform Stringee cung c畉p
Ki畉n tr炭c chung v c叩c platform Stringee cung c畉pKi畉n tr炭c chung v c叩c platform Stringee cung c畉p
Ki畉n tr炭c chung v c叩c platform Stringee cung c畉p
Stringee JSC
B叩o C叩o Th畛c T畉p PowerPoint
B叩o C叩o Th畛c T畉p PowerPointB叩o C叩o Th畛c T畉p PowerPoint
B叩o C叩o Th畛c T畉p PowerPoint
Kh担i Nguy畛n
Bao cao detai
Bao cao detaiBao cao detai
Bao cao detai
Sai Lemovom
Tr畉n Anh Khoa - Kautilya v Powershell trong k畛 thu畉t t畉n c担ng ti畉p c畉n
Tr畉n Anh Khoa - Kautilya v Powershelltrong k畛 thu畉t t畉n c担ng ti畉p c畉nTr畉n Anh Khoa - Kautilya v Powershelltrong k畛 thu畉t t畉n c担ng ti畉p c畉n
Tr畉n Anh Khoa - Kautilya v Powershell trong k畛 thu畉t t畉n c担ng ti畉p c畉n
Security Bootcamp
h畉 t畉ng kh坦a c担ng khai (ti畉ng Anh: public key infrastructure, vi畉t t畉t PKI
h畉 t畉ng kh坦a c担ng khai (ti畉ng Anh: public key infrastructure, vi畉t t畉t PKIh畉 t畉ng kh坦a c担ng khai (ti畉ng Anh: public key infrastructure, vi畉t t畉t PKI
h畉 t畉ng kh坦a c担ng khai (ti畉ng Anh: public key infrastructure, vi畉t t畉t PKI
ChannelRelaxation
Lab security+ Bai 11: SSL
Lab security+ Bai 11: SSLLab security+ Bai 11: SSL
Lab security+ Bai 11: SSL
xeroxk
Ccssl3
Ccssl3Ccssl3
Ccssl3
BKhost host
Technical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vnTechnical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vn
Asahina Infotech
Linux web hosting (Thuyet trinh)
Linux web hosting (Thuyet trinh)Linux web hosting (Thuyet trinh)
Linux web hosting (Thuyet trinh)
An Pham
L畉p tr狸nh web v畛i c叩c c担ng ngh畛 ph畛 bi畉n
L畉p tr狸nh web v畛i c叩c c担ng ngh畛 ph畛 bi畉nL畉p tr狸nh web v畛i c叩c c担ng ngh畛 ph畛 bi畉n
L畉p tr狸nh web v畛i c叩c c担ng ngh畛 ph畛 bi畉n
Son Nguyen
metasploitable example attacks list.docx
metasploitable example attacks list.docxmetasploitable example attacks list.docx
metasploitable example attacks list.docx
firearcanist
Core java 10
Core java 10Core java 10
Core java 10
. .
TIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVERTIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVER
conglongit90
B畉o m畉t 畛ng d畛ng ASP.NET
B畉o m畉t 畛ng d畛ng ASP.NETB畉o m畉t 畛ng d畛ng ASP.NET
B畉o m畉t 畛ng d畛ng ASP.NET
HUST
B叩o c叩o th畛c t畉p
B叩o c叩o th畛c t畉pB叩o c叩o th畛c t畉p
B叩o c叩o th畛c t畉p
Tr畉n Hi畛u
Building Trusted Network
Building Trusted NetworkBuilding Trusted Network
Building Trusted Network
Thang Man
Gi畛i thi畛u v畛 M畉ng ri棚ng 畉o Vitual Private Network
Gi畛i thi畛u v畛 M畉ng ri棚ng 畉o Vitual Private NetworkGi畛i thi畛u v畛 M畉ng ri棚ng 畉o Vitual Private Network
Gi畛i thi畛u v畛 M畉ng ri棚ng 畉o Vitual Private Network
tuanhiep8
Ci 畉t exchange 2013 tr棚n windows server 2008 r2
Ci 畉t exchange 2013 tr棚n windows server 2008 r2Ci 畉t exchange 2013 tr棚n windows server 2008 r2
Ci 畉t exchange 2013 tr棚n windows server 2008 r2
laonap166
Ki畉n tr炭c chung v c叩c platform Stringee cung c畉p
Ki畉n tr炭c chung v c叩c platform Stringee cung c畉pKi畉n tr炭c chung v c叩c platform Stringee cung c畉p
Ki畉n tr炭c chung v c叩c platform Stringee cung c畉p
Stringee JSC
B叩o C叩o Th畛c T畉p PowerPoint
B叩o C叩o Th畛c T畉p PowerPointB叩o C叩o Th畛c T畉p PowerPoint
B叩o C叩o Th畛c T畉p PowerPoint
Kh担i Nguy畛n
Bao cao detai
Bao cao detaiBao cao detai
Bao cao detai
Sai Lemovom
Tr畉n Anh Khoa - Kautilya v Powershell trong k畛 thu畉t t畉n c担ng ti畉p c畉n
Tr畉n Anh Khoa - Kautilya v Powershelltrong k畛 thu畉t t畉n c担ng ti畉p c畉nTr畉n Anh Khoa - Kautilya v Powershelltrong k畛 thu畉t t畉n c担ng ti畉p c畉n
Tr畉n Anh Khoa - Kautilya v Powershell trong k畛 thu畉t t畉n c担ng ti畉p c畉n
Security Bootcamp
h畉 t畉ng kh坦a c担ng khai (ti畉ng Anh: public key infrastructure, vi畉t t畉t PKI
h畉 t畉ng kh坦a c担ng khai (ti畉ng Anh: public key infrastructure, vi畉t t畉t PKIh畉 t畉ng kh坦a c担ng khai (ti畉ng Anh: public key infrastructure, vi畉t t畉t PKI
h畉 t畉ng kh坦a c担ng khai (ti畉ng Anh: public key infrastructure, vi畉t t畉t PKI
ChannelRelaxation
Lab security+ Bai 11: SSL
Lab security+ Bai 11: SSLLab security+ Bai 11: SSL
Lab security+ Bai 11: SSL
xeroxk
Technical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vnTechnical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vn
Asahina Infotech
Linux web hosting (Thuyet trinh)
Linux web hosting (Thuyet trinh)Linux web hosting (Thuyet trinh)
Linux web hosting (Thuyet trinh)
An Pham

java keytool and apache tomcat use ssl/tls

  • 1. Nh坦m 14 CI 畉T V C畉U HNH CH畛NG TH働 S畛 CHO WEBSERVER APACHE S畛 D畛NG JAVA KEYTOOLS H畛 I畛U HNH WINDOWS Sinh vi棚n th畛c hi畛n: 畉ng Th畛 Ly AT170333 Nguy畛n Th畛 Nga AT170536 畛 Th畛 H畛ng AT170322 Gi畉ng vi棚n gi畉ng d畉y: Th畉y L棚 Quang Huy
  • 2. 畉t v畉n 畛 - Vi畛c b畉o v畛 c叩c k畉t n畛i web l m畛t th叩ch th畛c l畛n Ch畛ng th動 s畛 l m畛t gi畉i ph叩p hi畛u qu畉 畛 畉m b畉o an ton v x叩c th畛c danh t鱈nh tr棚n m畉ng - Java KeyTools gi炭p t畉o, qu畉n l箪 v tri畛n khai ch畛ng th動 s畛: t畉o keystore, y棚u c畉u ch畛ng ch畛 t畛 CA, - Ci 畉t v c畉u h狸nh ch畛ng th動 s畛 cho Apache kh担ng ch畛 b畉o v畛 d畛 li畛u m c嘆n tng c動畛ng 畛 tin c畉y c畛a trang web
  • 3. N畛i dung Ch動董ng 1: T畛ng quan v畛 h畉 t畉ng PKI v ch畛ng th動 s畛 Ch動董ng 2: C担ng ngh畛 Java Keytool v 畛ng d畛ng trong c畉u h狸nh ch畛ng th動 s畛 Apache Tomcat Ch動董ng 3: Th畛c nghi畛m ci 畉t h畉 t畉ng PKI b畉ng c担ng c畛 java keytools v s畛 d畛ng ch畛ng th動 s畛 cho Apache Tomcat Server
  • 4. Ch動董ng 1: T畛ng quan v畛 h畉 t畉ng PKI v ch畛ng th動 s畛
  • 5. 1.1. PKI - H畉 t畉ng m畉t m達 kh坦a c担ng khai - PKI: + Th動畛ng ch畛 ton b畛 h畛 th畛ng bao g畛m c畉 nh cung c畉p ch畛ng th畛c s畛 v c叩c c董 ch畉 li棚n quan, c湛ng v畛i vi畛c s畛 d畛ng c叩c thu畉t to叩n m達 ho叩 c担ng khai trong trao 畛i th担ng tin + M畛c ti棚u ch鱈nh c畛a PKI: Cung c畉p c叩c d畛ch v畛 nh畉m 畉m b畉o an ton cho c叩c giao d畛ch i畛n t畛. M担 h狸nh t畛ng th畛 c畛a m畛t h畛 th畛ng PKI
  • 6. 1.2. Ch畛ng th動 s畛 - Kh叩i ni畛m: Ch畛ng th動 s畛 l m畛t ph動董ng ti畛n th担ng qua n坦 t畛 ch畛c ch畛ng th畛c ch畛ng nh畉n m畛t c畉p kho叩 thu畛c v畛 m畛t ch畛 th畛 - B畉n ch畉t: C畉u tr炭c d畛 li畛u g畉n c叩c th担ng tin x叩c th畛c ch畛 th畛 v畛i m畛t kho叩 c担ng khai v 動畛c k箪 b畛i c董 quan ph叩t hnh (T畛 ch畛c ch畛ng th畛c) - 畉c i畛m: B畉o v畛 t鱈nh ton v畉n X叩c th畛c c畉p kho叩, ch畛ng ch畛i b畛
  • 7. Ch動董ng 2: C担ng ngh畛 Java Keytool v 畛ng d畛ng trong c畉u h狸nh ch畛ng th動 s畛 Apache Tomcat
  • 8. 2.1. Java keytools Java keytool + m畛t c担ng c畛 d嘆ng l畛nh i k竪m v畛i b畛 c担ng c畛 ph叩t tri畛n Java (JDK). + 動畛c s畛 d畛ng 畛 t畉o, qu畉n l箪 v thao t叩c v畛i c叩c ch畛ng th動 s畛 trong Java keystore. + V畛i Java keytool, ng動畛i d湛ng c坦 th畛 t畉o c叩c c畉p kh坦a, y棚u c畉u ch畛ng th動 s畛 t畛 c董 quan ch畛ng nh畉n (CA), nh畉p v xu畉t ch畛ng th動 s畛, v qu畉n l箪 keystore m畛t c叩ch hi畛u qu畉.
  • 9. C叩ch s畛 d畛ng java keytool * T畉o Kh坦a Java KeyTool cho ph辿p t畉o c叩c c畉p kh坦a c担ng khai v kh坦a ri棚ng s畛 d畛ng c叩c thu畉t to叩n m畉t m達 nh動 RSA v EC. keytool -genkeypair -alias mykey -keyalg RSA -keysize 2048 -keystore mykeystore.jks -validity 365 * T畉o y棚u c畉u Ch畛ng th動 s畛 (CSR) C担ng c畛 ny c坦 th畛 t畉o c叩c y棚u c畉u ch畛ng ch畛 s畛, 動畛c s畛 d畛ng 畛 g畛i t畛i CA (Certificate Authority) 畛 動畛c k箪 v c畉p ch畛ng ch畛 s畛. keytool -certreq -alias mykey -file myrequest.csr -keystore mykeystore.jks * Import Ch畛ng Ch畛 S畛 Sau khi nh畉n 動畛c ch畛ng ch畛 s畛 t畛 CA, b畉n c坦 th畛 s畛 d畛ng Java KeyTool 畛 import ch畛ng ch畛 vo keystore. keytool -importcert -file mycert.crt -keystore mykeystore.jks -alias mykey * Export Ch畛ng Ch畛 S畛 Java KeyTool cho ph辿p xu畉t ch畛ng ch畛 t畛 keystore 畛 chia s畉 ho畉c s畛 d畛ng 畛 n董i kh叩c. keytool -exportcert -alias mykey -file mycert.crt -keystore mykeystore.jks * Hi畛n Th畛 Th担ng Tin Keystore B畉n c坦 th畛 xem th担ng tin chi ti畉t v畛 c叩c m畛c trong keystore. keytool -list -keystore mykeystore.jks
  • 10. 2.2. Ch畛ng th動 s畛 cho Apache Tomcat C畉n d湛ng ch畛ng ch畛 SSL cho Apache Tomcat Server v狸: + T畉o ra m畛t m担i tr動畛ng an ton 畛 truy畛n t畉i th担ng tin, gi炭p ngn ch畉n c叩c cu畛c t畉n c担ng v 畉m b畉o r畉ng d畛 li畛u 動畛c b畉o m畉t. + Tng 畛 tin c畉y c畛a ng動畛i d湛ng: M畛t trang web s畛 d畛ng HTTPS th動畛ng 動畛c ng動畛i d湛ng tin c畉y h董n so v畛i trang web ch畛 s畛 d畛ng HTTP. + Bi畛u t動畛ng 畛 kh坦a tr棚n thanh 畛a ch畛 c畛a tr狸nh duy畛t l d畉u hi畛u r探 rng cho ng動畛i d湛ng th畉y r畉ng k畉t n畛i c畛a h畛 an ton.
  • 11. Ch動董ng 3: Th畛c nghi畛m ci 畉t h畉 t畉ng PKI b畉ng c担ng c畛 java keytools v s畛 d畛ng ch畛ng th動 s畛 cho Apache Tomcat Server
  • 12. M担 h狸nh: G畛m RootCA, SubCA v Apache Tomcat Server
  • 13. Ph畉n 1: S畛 d畛ng c担ng c畛 Java KeyTools 畛 t畉o v qu畉n l箪 ch畛ng th動 s畛.
  • 14. 1. T畉o keystore cho RootCA v畛i c畉p kh坦a RSA 4096 bit keytool -genkeypair -alias rootca -keyalg RSA -keysize 4096 -dname "CN=RootCA, OU=LopAT17, O=KMA, emailaddress=rootca@actvn.edu.vn, street=ChienThang, L=ThanhXuan, ST=HaNoi, C=VN" -keystore rootca.jks -validity 3650
  • 15. 2. Export ch畛ng th動 s畛 c畛a RootCA keytool -exportcert -alias rootca -file rootca.crt -keystore rootca.jks
  • 16. 3. T畉o keystore cho SubCA v畛i c畉p kh坦a EC 384 bit keytool -genkeypair -alias subca -keyalg EC -groupname secp384r1 -dname "CN=SubCA, OU=LopAT17, O=KMA, emailaddress=subca@actvn.edu.vn, street=ChienThang, L=ThanhXuan, ST=HaNoi, C=VN" -keystore subca.jks -validity 3650
  • 17. 4. T畉o y棚u c畉u k箪 ch畛ng ch畛 (CSR) cho kho kh坦a c畛a SubCA keytool -certreq -alias subca -file subca.csr -keystore subca.jks
  • 18. 5. T畉o crt cho SubCA b畉ng c叩ch k箪 ch畛ng ch畛 SubCA b畉ng RootCA keytool -gencert -infile subca.csr -outfile subca.crt -keystore rootca.jks -alias rootca
  • 19. 6. Import ch畛ng ch畛 RootCA vo keystore c畛a SubCA keytool -importcert -file rootca.crt -keystore subca.jks -alias rootca
  • 20. 7. Import ch畛ng ch畛 SubCA vo keystore c畛a SubCA keytool -importcert -file subca.crt -keystore subca.jks -alias subca
  • 21. 8. T畉o keystore cho Webserver v畛i c畉p kh坦a RSA 2048 bit keytool -genkeypair -alias tomcat -keyalg RSA -keysize 2048 -dname "CN=tomcat, OU=LopAT17, O=KMA, emailaddress=tomcat@actvn.edu.vn, street=ChienThang, L=ThanhXuan, ST=HaNoi, C=VN" -keystore tomcat.jks -validity 3650
  • 22. 9. T畉o y棚u c畉u k箪 ch畛ng ch畛 (CSR) cho kho kh坦a c畛a Webserver keytool -certreq -alias tomcat -file tomcat.csr -keystore tomcat.jks
  • 23. 10. T畉o crt cho Webserver b畉ng c叩ch k箪 ch畛ng ch畛 Webserver b畉ng SubCA keytool -gencert -infile tomcat.csr -outfile tomcat.crt -keystore subca.jks -alias subca
  • 24. 11. Import ch畛ng th動 s畛 c畛a RootCA vo keystore c畛a Webserver keytool -importcert -file rootca.crt -keystore tomcat.jks -alias rootca
  • 25. 12. Import ch畛ng th動 s畛 c畛a SubCA vo keystore c畛a Webserver keytool -importcert -file subca.crt -keystore tomcat.jks -alias subca
  • 26. 13. Import ch畛ng th動 s畛 c畛a Webserver vo keystore c畛a Webserver keytool -importcert -file tomcat.crt -keystore tomcat.jks -alias tomcat
  • 27. 14. T畉o keystore cho Client v畛i c畉p kh坦a RSA 2048 bit keytool -genkeypair -alias client -keyalg RSA -keysize 2048 -dname "CN=client, OU=LopAT17, O=KMA, emailaddress=client@actvn.edu.vn, street=ChienThang, L=ThanhXuan, ST=HaNoi, C=VN" -keystore client.jks -validity 3650
  • 28. 15. T畉o y棚u c畉u k箪 ch畛ng ch畛 (CSR) cho kho kh坦a c畛a Client keytool -certreq -alias client -file client.csr -keystore client.jks
  • 29. 16. T畉o crt cho Client b畉ng c叩ch k箪 ch畛ng ch畛 Client b畉ng SubCA keytool -gencert -infile client.csr -outfile client.crt -keystore subca.jks -alias subca
  • 30. 17. Import ch畛ng th動 s畛 c畛a Client vo keystore c畛a Webserver keytool -importcert -file client.crt -keystore tomcat.jks -alias client
  • 31. 18. Xu畉t ch畛ng ch畛 c畛a Webserver d動畛i d畉ng file PKCS#12 (*.p12) keytool -importkeystore -srckeystore tomcat.jks -destkeystore tomcat.p12 - deststoretype PKCS12 -srcalias tomcat
  • 32. Ph畉n 2: S畛 d畛ng ch畛ng th動 s畛 畛 c畉u h狸nh Apache Tomcat Server s畛 d畛ng SSL v x叩c th畛c 2 chi畛u
  • 33. 1. C畉u h狸nh Tomcat 畛 s畛 d畛ng SSL M畛 file c畉u h狸nh server.xml c畛a Apache Tomcat v th棚m ho畉c ch畛nh s畛a o畉n sau 畛 s畛 d畛ng ch畛ng ch畛 SSL 達 t畉o:
  • 34. 2. Sau 坦 ta c坦 th畛 truy c畉p apache tomcat qua https
  • 35. 3. Xem ch畛ng th動 s畛 c畛a Tomcat
  • 36. 4. C畉u h狸nh x叩c th畛c hai chi畛u tr棚n Apache Tomcat Th棚m vo c畉u h狸nh server.xml 畛 y棚u c畉u x叩c th畛c client:
  • 37. 5. Hon t畉t ci 畉t Sau khi c畉u h狸nh xong, kh畛i 畛ng l畉i webserver v truy c畉p trang web t畛 tr狸nh duy畛t v畛i ch畛ng ch畛 client 達 動畛c ci 畉t. Tr狸nh duy畛t s畉 g畛i ch畛ng ch畛 client t畛i webserver v webserver s畉 x叩c th畛c d畛a tr棚n ch畛ng ch畛 坦.
  • 38. T畛ng k畉t B叩o c叩o ny 達 tr狸nh by chi ti畉t c叩c b動畛c s畛 d畛ng c担ng c畛 CA Java KeyTools 畛 t畉o v qu畉n l箪 ch畛ng th動 s畛 tr棚n m叩y Windows. 畛ng th畛i, h動畛ng d畉n c畉u h狸nh ch畛ng th動 s畛 SSL v thi畉t l畉p x叩c th畛c hai chi畛u cho webserver Apache Tomcat, c滴ng nh動 ci 畉t ch畛ng th動 s畛 cho ng動畛i d湛ng trong c叩c tr狸nh duy畛t web. Qua 坦, gi炭p 畉m b畉o an ton th担ng tin v x叩c th畛c danh t鱈nh trong c叩c giao d畛ch tr畛c tuy畉n.