Chủ đề 8:
Java Cryptography Extension
(JCE) TagLib
Giới thiệu JCE TagLib
JCE TagLib bộ thư viện cung cấp bộ thẻ cho phép
triển khai các lý thuyết cryptography vào các ứng
dụng thương mại điện tử, dựa trên nền tảng các thuật
toán cryptography được cài đặt bởi BouncyCastle
Một số chức năng bộ thư viện cung cấp
Mã hóa sử dụng secret key, PBE, hay private/public
key; cung cấp khả năng mã hóa mạnh mẽ với các
thuật toán khác nhau: DES, AES, Blowfish,
Twofish…với nhiều độ dài khóa khác nhau, và các
mode/padding khác nhau.
Tạo message digest
Tạo và thẩm định chữ ký điện tử
Tạo và thẩm định các chứng chỉ điện tử
Những đặc điểm nổi bật
Bộ thư viện JCE taglib
Cung cấp khả năng mã
hóa thông qua các thẻ sử
dụng trong trang jsp trong
các ứng dụng web.
Bộ thư viện Java
Không hỗ trợ mã hóa trong
trang jsp, chức năng mã hóa
chỉ có thể thực hiện được
thông qua các lớp java
bean.
Có thể tạo chứng chỉ điện
Không có API nào hỗ trợ
tử trực tiếp từ các trang jsp cho việc tạo ra các chứng
chỉ điện tử , chứng chỉ điện
tử chỉ có thể được tạo ra
bằng command line thông
qua keytool
Một số thẻ phổ biến
jce:generatekey
jce:digest
jce:createsignature
jce:sign
jce:verifycertificate
jce:createcrl
jce:generatekey
Được sử dụng để tạo ra secret key hoặc shared key
và lưu vào file
Name
Required
Type
Description
algorithm
false
String
Thuật toán tạo key
strength
false
String
Độ dài của khóa
keyfile
true
String
passphrase true
String
File lưu trữ
symmetric key
Password tạo key
jce:digest
Được sử dụng để tạo message digest cho một chuỗi
hay một file dữ liệu
Name
Required
Type
Description
value
false
StringBuffer
Chuỗi được digest
var
false
String
Tên biến được sử
dụng để lưu
message digest
algorithm false
String
Thuật toán digest
file
false
String
File để digsest
scope
false
String
Scope của biến
jce:createsignature
Được sử dụng để tạo ra chữ ký điện tử cho một
chuỗi hay một file dữ liệu
Name
Required
Type
value
false
String
var
false
String
scope
false
String
Description
Giá tri được sử dụng để tạo
chữ ký
Tên biến được sử dụng để
lưu trữ chữ ký
Scope của var
(page,sesion,request,
aaplication), mặc định là
page
jce:sign
Được sử dụng để tạo ra chứng chỉ điện tử đã được
ký
Name
keypairalgorithm
Require
Type
d
false
String
Description
validity
false
Long
keylength
false
Integer
Thời gian certificate có hiệu
lực
Chiều dài của key
signaturealgorithm
false
String
Thuật toán ký
subjectdn
true
String
Subject của certificate
Thuật toán tạo keypair
jce:sign (tt)
isca
signfile
false
true
boolean
String
signentry
signpassword
true
true
String
String
scope
serialnumber
false
false
String
String
Tạo ra CA certificate
Keystore, nơi lưu trữ
certificate
Entry lưu trư certificate
Password lưu trữ
certificate
Phạm vi của biến trả về
Biến lưu trữ serialnumer
của certificate
jce:verifycertificate
Được sử dụng để thẩm định chứng chỉ điện tử
Name
Required
Type
Description
scope
false
String
crlfile
true
String
Scope để lưu trữ
certificate
Nơi lưu trữ file crl
storefile
true
String
Nơi lưu trữ certificate
storeentry
true
String
storepassword
true
String
Entry name lưu trữ
certificate
Password certificate
castorefile
true
String
File lưu trữ certificate của
CA
jce:verifycertificate (tt)
castoreentry
true
String
castorepassword true
String
verifyinfo
String
false
Entry name để lưu trữ
certificate ca
Password để lưu trữ
certificate ca
Trả về biến lưu trữ thông
tin của certificate
jce:createcrl
Được sử dụng để tạo ra danh sách các chứng chỉ
điện tử đã hết hạn sử dụng
Name
Required
Type
certs
true
BigInteger[]
crlfile
true
String
crlperiod
false
Long
signfile
true
String
signentry
true
String
signpassword
true
String
Description
Mảng số bao gồm các số
serial number của certs bị
thu hồi
Tên file crl
Thời gian CRL có hiệu lực ,
mặc định là 24 giờ
Certificate của CA
Entry name certificate của
CA
Store password certificate
của CA