You are on page 1of 7

Khám phá XML Encryption (mã hóa XML), Ph n 2 Page 1 of 7

Khám phá XML Encryption (mã hóa XML), Ph n 2


M c : Trung bình

Bilal Siddiqui , Ch t ch H QT

08 01 2010

Trong ph n cài t l n th 2 này, Bilal Siddiqui ki m tra mô hình s d ng c a Mã hóa XML v i s h


tr c a m t tình hu ng s d ng c th . Ông gi i thi u m t ng d ng dùng th , gi i thích cách nó s d ng
th c thi Mã hóa XML. Sau ó, ông ti p t c v i th c thi cu i cùng c a Mã hóa XML và s d ng các l p
JCA/JCE h tr mã hóa. Cu i cùng, ông th o lu n v n t t v các ng d ng c a Mã hóa XML trong
các d ch v Web d a trên SOAP.

Trong Ph n 1 c a lo t bài này, tôi ã gi i thi u v Mã hóa XML, cú pháp c b n c a nó và quá trình x lý. Tôi ã
ki m tra các th khác nhau và cách dùng c a chúng trong Mã hóa XML v i m t ví d n gi n v cách trao i an
toàn d li u c u trúc a ra m t Java API cho Mã hóa XML d a trên DOM, và a ra m t b n t ng quan ng n g n v
mã hóa trong Java (JCA/JCE).

Tôi b t u bài th o lu n c a mình ph n này v i m t tình hu ng trao i thông tin, minh h a cho vi c s d ng mã
hóa XML.

Tình hu ng trao i thông tin


Xem xét quá trình trao i thông tin gi a hai bên doanh nghi p. M t là nhà bán sách tr c tuy n và bên kia là nhà xu t
b n. Khi nhà bán sách tr c tuy n mu n mua sách, h g i m t yêu c u mua t i nhà xu t b n. phía bên nhà xu t b n,
phòng bán hàng nh n yêu c u này, x lý nó, và chuy n t i phòng k toán. Hai doanh nghi p trao i thông tin theo
d ng th c các tài li u XML. B i vì m t ph n tài li u c n ph i c b o m t và ph n còn l i có th không, mã hóa
XML là cách t nhiên áp d ng b o m t cho các l a ch n riêng bi t c a tài li u.
Theo chính sách b o m t c a nhà bán sách, thông tin thanh toán s! ch" c thông báo cho phòng k toán. Phòng bán
hàng s! ch" c n trích xu t ra tên sách, ID c a s n ph#m và s l ng yêu c u; b i vì ây là thông tin không nh y c m,
nó có th không c n ph i gi bí m t. Phòng k toán s! c n gi i mã thông tin thanh toán trong yêu c u mua s d ng
khóa bí m t ã c trao i tr c. (Chú ý r$ng Mã hóa XML ch" là mã hóa và gi i mã các thông tin có c u trúc và
không t ra b t c ph ng th c trao i khóa nào c th c .) Theo chính sách này, Mã hóa XML t o i u ki n cho
vi c gi u i thông tin thanh toán phòng bán hàng và gi i mã ra khi n phòng k toán.

B o m t d a trên tài li u
T i th%i i m này, s! h u ích ta suy ngh& m t chút v khái ni m b o m t d a trên tài li u. V i ki n trúc b o m t
này, b n có th tb om t m c tài li u. Ng c nh c a m t phiên b o m t c b o v m t cách hi u qu bên
trong tài li u b o m t. T t c các thông tin mà m t bên có th#m quy n có th c n gi m mã tài li u u có s'n trong
tài li u ó. M t phiên b o m t mang tính logic c t o ra, nó linh ho t, t(n t i m t cách lâu dài và cho phép nhi u
bên cùng tham gia vào m t phiên giao d ch b o m t. M t giao th c s p t i cho các d ch v Web, Giao th c Giao d ch
Th ng m i (BTP -- xem Tài nguyên), d a trên cùng m t khái ni m v duy trì ng c nh c a m t phiên bên trong tài
li u giao d ch; i u này giúp cho giao d ch c lâu dài và m b o c tính linh ho t.

ng d ng dùng th
hoàn t t các yêu c u c a tình hu ng trao i d li u b o m t gi a nhà xu t b n và nhà bán sách phía trên, tôi ã
t o ra m t l p ng d ng dùng th c g i là demoXmlEncApp (xem Ví d 1). L p này s d ng l p th c thi m)u Mã
hóa XML XmlEncryption (xem Ví d 2).
Khám phá XML Encryption (mã hóa XML), Ph n 2 Page 2 of 7

ng d ng dùng th làm c nh ng gì
Ph ng th c main c a l p demoXmlEncApp ban u th c hi n vi c x lý bên phía nhà bán sách b$ng cách g i
ph ng th c simulateBookSellersEnd, ph ng th c này c t p XML yêu c u mua, Order.xml (xem Ví d 3), và
mã hóa thông tin nh y c m trong ó thông qua m t trong ba ph ng th c mã hóa ( ó là mã hóa t p XML tr n v*n, mã
hóa ph n t , hay mã hóa n i dung ph n t ) c ch" nh trong Mã hóa XML. Sau ó nó l u t p XML ã c mã hóa
vào &a, c+ng nh là khóa c s d ng mã hóa.

Ví d 3. Order.xml

! " # $
% # &
&
' () * ## +% ,' ()
- ./ 012 34102 ,-
5% $ 1 ,5% $
,&
6 $
7 ) 41 . /418 /.32 . ,7 )
7 $ 9-*: ,7 $
9 + . . 4 ,9 +
,6 $
, % # &

B i vì các giao th c trao i t p và trao i khóa không ph i là tr ng tâm ây, vì th tôi gi thi t r$ng chúng c
t o ra s'n cho nhà xu t b n thông qua b t c ph ng th c thích h p nào ó (Ví d , t p XML ã c mã hóa và khóa
bí m t c trao i thông qua HTTP và m t s thu t toán mã hóa khóa công khai t ng ng). Ph ng th c main sau
ó l y vai trò c a nhà xu t b n b$ng cách g i ph ng th c simulatePublishersEnd, ph ng th c này s! l y ra các
thông tin phòng bán hàng c n, và sau ó hi n th t p XML trên b ng i u khi n. Ti p n, nó gi i mã thông tin thanh
toán cho phòng k toán và hi n th nó b ng i u khi n.

Hàm simulateBookSellersEnd trong l p demoXmlEncApp ban u minh h a m t i t ng XmlEncryption và


g i các ph ng th c thi t l p khác nhau c a XmlEncryption thi t l p các thu c tính sau:
clearDoc: D ng i t ng DOM c a t p XML (xem Ví d 3) c mã hóa
encKey: M t khóa c s d ng cho vi c mã hóa
algoName: Tên c a thu t toán mã hóa
keyName: Tên c a khóa mã hóa; tên này tr thành giá tr c a nút v,n b n con c a ph n t KeyName trong su t
quá trình mã hóa XML nh c gi i thích trong ph n 1
encId: Tên c t cho th EncryptedData là duy nh t trong tài li u
Ph ng th c simulateBookSellersEnd c a l p demoXmlEncApp g i các ph ng th c khác nhau c a b máy Mã
hóa XML (L p XmlEncryption) ph thu c vào các i s dòng l nh c gán trong khi g i ng d ng. Hãy xem i u
gì x y ra bên trong l p XmlEncryption, b máy x lý Mã hóa XML chính.

Các chi ti t c a vi c th c thi Mã hóa XML


Tôi ã gi i thi u m t ph n API mã hóa XML ã c t ra trong ph n 1. Hãy nh l i r$ng tôi ã có m t ph ng th c
g i là encryptCompleteXmlFile trong l p XmlEncryption (xem Ví d 11 c a ph n 1) mã hóa m t t p XML
hoàn ch"nh. Cùng v i ph ng th c encryptCompleteXmlFile, bây gi% tôi ã thêm hai ph ng th c sau ph c v
các yêu c u mã hóa các lo i d li u khác nhau (phân tách mã hóa):
encryptElementOfXmlFile mã hóa m t ph n t c bi t trong t p XML
encryptElementContentOfXmlFile mã hóa n i dung c a m t ph n t c bi t trong t pXML
Nhà bán sách có th b o m t thông tin nh y c m trong yêu c u mua b$ng cách áp d ng b t c m t trong ba ph ng
th c mã hóa XML c a l p XmlEncryption :
Khám phá XML Encryption (mã hóa XML), Ph n 2 Page 3 of 7

1. Mã hóa m t t p XML hoàn ch"nh


2. Mã hóa m t ph n t trong m t t p XML
3. Mã hóa n i dung c a m t ph n t trong t p XML
1. Mã hóa m t t p XML hoàn ch nh v i Mã hóa XML
Nhà bán sách có th mã hóa toàn b t p Order.xml có m t t p XML mã hóa, có th g i t i phòng bán hàng c a nhà
s n xu t. M c dù cách này cung c p b o m t t ng t thông qua liên k t giao ti p u cu i - u cu i, nh ng chính
sách b o m t c a nhà bán sách ã b nh h ng. Chính sách này yêu c u gi u i thông tin thanh toán trong phòng bán
hàng và hi n th nó trong phòng k toán. Trong tr %ng h p này, toàn b tài li u XML c gi i mã b i phòng bán
hàng và thông tin thanh toán c hi n th . Vì th , ph ng th c này d %ng nh ch a h p lý, m c dù nó có th r t th c
t n u b n s d ng siêu mã hóa ( c p sau trong bài h ng d)n này).

N u nhà bán sách quy t nh mã hóa toàn b t p Order.xml , hàm simulateBookSellersEnd trong l p
demoXmlEncApp t o ra m t l nh g i t i ph ng th c công khai encryptCompleteXmlFile c a l p
XmlEncryption.

Ph ng th c này u tiên g i m t ph ng th c riêng getString s p x p t p XML mã hóa nó theo d ng chu i.


Sau ó, nó g i ph ng th c mã hóa getEncryptedData, tr l i xâu ký t mã hóa ã c mã hóa c s 64. Xâu ký
t mã hóa này sau ó c gán cho ph ng th c riêng getCipherDataDoc . Ph ng th c này t o ra và tr l i th
CipherData v i th con CipherValue gi xâu ký t mã hóa ã c mã hóa c s 64. T ng t các th
EncryptionMethod và ds:KeyInfo c t o ra. Ba th này -- ó là CipherData (mang th con c a nó là
CipherValue ), EncryptionMethod, và ds:KeyInfo -- c sau ó thêm vào nh là các th con c a th
EncryptedData. Th EncryptedData th c s c n p vào i t ng tài li u DOM, encDataObj, nó cs p
x p và tr l i ph ng th c simulateBookSellersEnd .

2. Mã hóa m t ph n t trong m t t p XML v i Mã hóa XML


Nhà bán sách có th mã hóa ph n thông tin thanh toán c a t p XML v i khóa bí m t c a phòng k toán, và gi i mã
ph n n i dung còn l i c a t p cho phòng bán hàng xem. Quá trình x lý này có th c th c hi n b$ng cách mã hóa
ph n t Payment trong t p Order.xml. Thông tin th tín d ng c b o m t vì nó trong các nút con c a ph n t mã
hóa Payment. B i vì yêu c u b o m t yêu c u r$ng các ph ng ti n thanh toán (nh là th tín d ng hay séc ngân
hàng) ph i c gi u i i v i nh ng ng %i xem không có th#m quy n, mã hóa ph n t Payment s! làm c i u
ó.

Trong tr %ng h p này, hàm simulateBookSellersEnd trong l p demoXmlEncApp t o ra m t l nh g i t i ph ng


th c công khai encryptElementOfXmlFile c a l p XmlEncryption. Ph ng th c riêng getElement tr l i nút
ph n t mà sau ó c t o ra và mã hóa sinh ra th CipherData. Quá trình t o ra th EncryptedData t ng t
nh tr c, ngo i tr- vi c ph ng th c này thay th ph n t Payment trong clearDoc b$ng ph n t EncryptedData
b$ng cách g i ph ng th c riêng replaceElement. Sau khi vi c thay th c di.n ra, clearDoc c t o ra và tr
v .

3. Mã hóa n i dung m t ph n t trong t p XML b ng Mã hóa XML


Cách mã hóa th ba mà nhà bán sách có th s d ng ó là ch" mã hóa s th tín d ng trong Order.xml. Ph ng th c
mã hóa n i dung ph n t c d)n ra cho phép mã hóa ch" n i dung v,n b n c a ph n t CardNo. Vi c này s! d)n n
m t v n quan tr ng ó là: T i sao b n c n mã hóa n i dung khi mà v)n có th mã hóa toàn b ph n t ? Vi c s
d ng m t trong hai ph ng th c ph thu c vào chính sách b o m t c a tài li u; n u có nhu c u khai báo tên c a ph n
t hay các thu c tính c a nó, trong khi gi b o m t n i dung, thì mã hóa n i dung là c n thi t.

N u nhà bán sách ch" mu n gi u s th tín d ng, n i dung v,n b n c a ph n t CardNo trong Order.xml c mã hóa.
Ph ng th c simulateBookSellersEnd g i ph ng th c công khai encryptElementContentOfXmlFile, khác
v i ph ng th c encryptElementOfXmlFile ch" ch nó ho t ng trên n i dung c a ph n t ch không ph i là trên
chính ph n t ó.

S d ng Mã hóa XML gi i mã m t t p mã hóa XML


Khi bên nhà xu t b n nh n c m t t p mã hóa XML, nó s! c n ph i c gi i mã. Trong c ba ph ng th c mã hóa
ã miêu t , ph ng th c gi i mã là getDecryptedData. Ph ng th c simulateBookSellersEnd trong
demoXmlEncApp s p x p t p mã hóa XML vào m t chu i v,n b n và chuy n nó t i ph ng th c
Khám phá XML Encryption (mã hóa XML), Ph n 2 Page 4 of 7

getDecryptedData gi i mã.

Ph ng th c getDecryptedData xác nh các th EncryptedData và trích xu t giá tr mã hóa ã c mã hóa c


s 64. T t c các thông tin c n thi t gi i mã là có trong các th Mã hóa XML: tên c a thu t toán mã hóa, lo i d
li u ã c mã hóa, và tên c a chìa khóa mã hóa.

Chú ý: Chi ti t Mã hóa XML không yêu c u r$ng t t c thông tin này ph i có trong các th Mã hóa XML. Các thu c
tính này có hay không c+ng tùy. /ng d ng có th cung c p thông tin này thông qua m t s ph ng ti n khác, nh ng
ng d ng dùng th và th c thi Mã hóa XML m)u gi thi t r$ng t t c các thông tin có trong các th Mã hóa XML.

Ph ng th c getDecryptedData bây gi% t o ra m t khóa gi i mã t- nh ng tên thu t toán và khóa. Sau ó nó chuy n
giá tr mã hóa mã hóa c s 64, khóa gi i mã, và tên thu t toán t i m t ph ng th c có tên Decrypt ( c ki m tra
trong Mã hóa).

Ph ng th c Decrypt tr l i d li u ã c gi i mã nh m t chu i ký t . Chu i ký t này c i u khi n theo lo i


thu c tính c a ph n t EncryptionData có th là m t trong các lo i sau:
M t t p XML hoàn ch"nh c l u vào &a làm m t t p XML m i
M t ph n t thay th th EncryptedData t o ra t p XML g c
N i dung c a m t ph n t , có th thay th th EncryptedData t o ra t p XML g c
Siêu mã hóa
Khi b n s d ng siêu mã hóa, b n có th mã hóa ch" thông tin thanh toán v i khóa bí m t c a phòng k toán t o ra
t p XML mã hóa ph n t . T p c t o ra này sau ó c mã hóa hoàn toàn s d ng khóa bí m t c a phòng bán
hàng, vì th nó t o ra m t t p XML siêu mã hóa.

ây tôi ph i ch" ra r$ng, v i ch" s Mã hóa XML, b n có th mã hóa l i m t t p XML c mã hóa t o ra m t t p


XML siêu mã hóa. Nh ng, b n không th mã hóa m t con c bi t c a các ph n t EncryptedData hay
EncryptedKey s d ng mã hóa XML. Nói cách khác, m t ph n t EncryptedData không th là b m* hay là con
c a m t ph n t EncryptedData khác.

Theo ch" s Mã hóa XML, b n c+ng có th mã hóa d li u b t k0 (ví d , m t hình nh .jpg hay trên th c t là b t c
th gì trên Web). i u này g n nh gi ng v i vi c mã hóa m t t p XML hoàn ch"nh; i m khác bi t duy nh t là giá tr
c a lo i thu c tính cho ph n t EncryptedData (xem Tài nguyên).

M t mã Các giá tr IANA


Ch" s Mã hóa XML li t kê m t s các thu t toán m t mã tùy ch n và Trong Ph n 1 c a lo t bài này, tôi s d ng
yêu c u bao g(m: các nh ngh&a lo i c a T ch c c p phát
s hi u Internet - Internet Assigned
Mã hóa kh i Numbers Authority (vi t t t là IANA) làm
Mã hóa lu(ng giá tr c a thu c tính Type trong th
Chuy n khóa EncryptedData. Ph n 1 c d a trên
(ng ý khóa Mã hóa XML W3C Working Draft ngày
Gói khóa i x ng 18 tháng 10 n,m 2001. G n ây, Mã hóa
Li t kê tin nh n XML ã tr thành m t Khuy n ngh /ng
Xác th c tin nh n c W3C (W3C Candidate
Recommendation), không còn s d ng các
Thu t toán mã hóa c s 64 (xem Tài nguyên) c+ng c yêu c u. M i giá tr IANA (xem Tài nguyên).
mã hóa ph i c mã hóa c s 64 tr c khi nó có th c thêm vào
m t tài li u XML. Trong ph n gi i thi u này, tôi s d ng thu t toán
mã hóa kh i TripleDES c a nhà cung c p mã hóa SunJCE. Ch mã hóa là CBC (Móc N i Kh i Mã hóa) v i kích
th c kh i 8-byte.

L p XmlEncryption s d ng mã hóa JCA/JCE, c th c thi b i các ph ng th c sau:


getEncryptedData: ph ng th c này ch p nh n môt chu i v,n b n và mã hóa nó s d ng thu t toán
TripleDES. i v i mã hóa i x ng (xem Tài nguyên), b n c n m t khóa mã hóa thêm vào d li u không mã
hóa ã c mã hóa. Khóa này có s'n nh m t thu c tính riêng, encKey, c a l p XmlEncryption. Chu i v,n
b n nh p vào c chuy n i thành m t chu i các byte và c thêm vào. Tôi s d ng m t thu t toán mã hóa
Khám phá XML Encryption (mã hóa XML), Ph n 2 Page 5 of 7

kh i mã hóa yêu c u các byte d li u không mã hóa thành các kh i 8 byte, vì th tôi thêm kh i ch a hoàn
ch"nh cu i cùng v i m t s ký t . Th c thi m)u s d ng m t d u cách (" ") làm ký t thêm.
Ti p n tôi t o m t i t ng l p Cipher và tri n khai nó trong ch mã hóa. Sau ó tôi trích xu t vector
kh i ng (IV) vào m t chu i byte, mã hóa kh i d li u không mã hóa, và g n ti n t các byte IV vào các byte
d li u ã mã hóa. Khi tôi s d ng ph ng th c getBase64Encoded c a l p XmlEncryption, thì chu i byte
nh n c sau ó s! c chuy n thành m t chu i mã hóa c s 64 và sau ó c tr l i.
Decrypt: ph ng th c này c b n i l p v i ph ng th c getEncryptedData. Nó ch p nh n chu i byte mã
hóa c s 64, và gi i mã nó tr l i chu i d li u không mã hóa. IV sau ó c tách ra kh1i chu i byte mã
hóa th c. M t i t ng l p Cipher c t o ra và tri n khai trong ch gi i mã. Chu i byte mã hóa sau ó
c mã hóa, và chu i byte gi i mã c tr l i là m t chu i v,n b n.
Tôi ã cung c p h tr cho thu t toán kh i cypher TripleDES ch" là minh h a. V i m t vài i u ch"nh, b n c+ng có
th s d ng các thu t toán khác nh là AES.
Th c thi n gi n này minh h a cho cách Mã hóa XML có th làm m t mô hình b o m t kh thi cho các ng d ng
doanh nghi p ph c t p h n và l n h n.

Mã hóa XML và SOAP


Giao th c Truy c p i t ng n gi n, hay SOAP (xem Tài nguyên), là m t giao th c d a trên XML nh* ký dành
cho trao i d li u. Nó thúc #y trao i d li u c t o ra t- các cu c g i th t c và các h(i áp t- xa. Nó c
thi t k s d ng trong các ng d ng t- xa và chi ph i, và nó là m t ph n c a các d ch v Web. SOAP cung c p m t
phong bì ch a tin nh n và các thông tin x lý c a nó. B i vì n i dung c a phong bì này có th là riêng t , b o m t là
m t v n mà b n c n ph i gi i quy t. Mã hóa XML cung c p m t gi i pháp tr n tru cho v n này.

Chính SOAP là XML, nó cho phép b n t do gi i quy t các v n mã hóa theo b t c cách nào h p lý s d ng Mã
hóa XML. Ví d , b n có th quy t nh mã hóa toàn b thân SOAP hay m t ph n c a thân. Tuy nhiên, XML-SEC là
m t n l c W3C nh$m tiêu chu#n hóa các cách th c th c thi b o m t trong các d ch v Web d a trên SOAP. Hi n t i,
nó không bao g(m Mã hóa XML; tôi ngh& là Mã hóa XML hay m t ph ng th c mã hóa t ng t làm m t ph n c a
nó trong t ng lai.

K t lu n
Trong ph n 1, tôi ã gi i thi u Mã hóa XML và bàn v cách s d ng c a nó có c trao i d li u an toàn. Tôi
ã nói chi ti t v cách s d ng c a các th Mã hóa XML khác nhau và x lý m t Java API cho Mã hóa XML d a trên
DOM.

ph n 2 này, tôi ã ki m tra m t tình hu ng trao i d li u ph bi n mà b n có th s d ng các khái ni m mã hóa


XML. Tôi c+ng ã minh h a các lo i mã hóa XML khác nhau: mã hóa m t t p XML hoàn ch"nh, m t ph n t c a môt
t p XML, hay nh ng n i dung c a m t ph n t XML. Tôi c+ng bàn v gi i mã, siêu mã hóa và ng d ng c a các khái
ni m mã hóa XML trong các d ch v Web d a trên SOAP.

T iv
Tên Kích th c Ph ng th c t i
x-encrypt2/x-encrypt2_src.zip HTTP
Khám phá XML Encryption (mã hóa XML), Ph n 2 Page 6 of 7

Thông tin v ph ng th c t i

Tài nguyên
Hãy c "Khám phá Mã hóa XML, Ph n 1" trong lo t bài h ng d)n g(m 2 ph n v Mã hóa XML c a Bilal
Siddiqui (developerworks, Tháng 3, 2002).

T i mã trình làm vi c hoàn ch"nh cho minh h a này. Mã trình sau tham kh o trong bài h ng d)n này c bao
g(m:
Readme.txt ch" cho b n cách thi t l p môi tr %ng và ch y b n dùng th
demoXmlEncApp.java (ví d 1)
XmlEncryption.java (Ví d 2)
Order.xml (Ví d 3)
AlgoNames.java
CipherData.java
EncryptedData.java
EncryptionMethod.java
GenericKeyInfo.java
Transforms.java

Tìm hi u W3C XML Encryption Specification Candidate Recommendation, ây là th mà tôi ã tuân theo
trong bài h ng d)n này.

Khám phá Business Transaction Protocol (BTP), m t ki n trúc linh ho t giao d ch th ng m i v)n ang
trong quá trình phát tri n.

Hãy c XML Digital Signature (XML-DSIG), m t giao th c c thi t k trao i khóa.

Tìm hi u Ch" s SOAP xác nh m t giao th c trao i d li u trong m t môi tr %ng phân b .

Tìm ki m thêm các ngu(n XML trên developerWorks XML technology zone.

L y IBM WebSphere Studio Application Developer, m t môi tr %ng phát tri n tích h p d. s d ng xây
d ng, ki m tra và s d ng các ng d ng J2EE, bao g(m t o ra các tài li u XML t- DTDs và các l c (.

Tìm hi u cách b n có th tr thành m t nhà phát tri n có trình trong l&nh v c XML và các công ngh liên
quan.

ôi nét v tác gi
T v n viên XML: Bilal Siddiqui ã nh n c b$ng K2 s i n t c a tr %ng i h c K2 s và Công ngh , Lahore,
Pakistan n,m 1995. Sau ó ông b t u thi t k các gi i pháp ph n m m cho các h th ng qu n lý công nghi p. Và r(i
ông l i chuy n sang XML và s d ng kinh nghi m l p trình C++ c a mình xây d ng các công c x lý XML d a
vào Web và WAP, các gi i pháp phân tích bên c nh máy ch , và các ng d ng d ch v . B n có th liên h v i ông
theo a ch" wap_monster@yahoo.com.
Khám phá XML Encryption (mã hóa XML), Ph n 2 Page 7 of 7

You might also like