Giáo trình lập trình Java Chương 9: LUỒNG I/O (I/O Streams)

Ngày đăng 10/06/2023
76 Lượt xem

Mục tiêu bài học:

 

          Cuối chương này bạn có thể

  • Mô tả về công cụ JAR
  • Tạo và xem một file JAR, liệt kê và trích rút nội dung của file.
  • Sử dụng chữ ký điện tử (Digital Signatures) để nhận dạng Applets
  • Tạo bộ công cụ khóa bảo mật (Security key)
  • Làm việc với chứng chỉ số (Digital Certificate)
  • Tìm hiểu về gói Java.security

 

10.1 Giới thiệu

Trong phần này, chúng ta sẽ tìm hiểu chi tiết về bảo mật Java applet. Chúng ta cũng thảo luận về mô hình bảo mật JDK 1.2 đáp ứng nhu cầu người dùng và nhà phát triển.

Java là một ngôn ngữ lập trình đầu tiên gởi các chương trình không tương tác như các file văn bản, file ảnh và các thông tin tĩnh thông qua World Wide Web. Các chương trình này, không giống như chương trình CGI, được chạy trên hệ thống của người dùng, hơn là chạy trên máy chủ Web (Web server). Bảo mật Java Applet là sự quan tâm chính giữa người dùng và nhà phát triển applet. Thiết tính bảo mật trong applet có thể dẫn tới sửa đổi hoặc phơi bày các dữ liệu nhạy cảm. Mô hình bảo mật của Java 2, hoặc JDK 1.2 rất hữu ích cho người dùng, cũng như cho nhà phát triển. Nó giúp người dùng duy trì mức độ bảo mật cao. Trong chương nay, chúng ta sẽ học mô hình bảo mật JDK 1.2.

 

10.2 Công cụ JAR

Một file JAR là một file lưu trữ được nén do công cụ lưu trữ Java tạo ra. File này tương tự như chương trình PKZIP. Nó chứa nhiều file trong một file lưu trữ. Điều này cho phép tải trong trình duyệt hiệu quả. Dùng một jar với một applet cải tiện đáng kể khả năng thực hiện của trình duyệt. Vì tấc cả các tất cả các file được biên dịch trong một file đơn, trình duyệt chỉ cần thiết lập kết nối HTTP với web server. Nén file giảm 50% thời gian tải file.

Để khởi động công cụ JAR, dùng câu lệnh sau tại dấu nhắc lệnh:

 

jar [options][manifest] jar-file input-file(s)

 

Tuỳ chọn

Mô tả

c

Tạo ra một lưu trữ mới

t

Ghi vào bảng nội dung cho lưu trữ

x

Trích dẫn file có tên từ lưu trữ

v

Tạo nguồn xuất đa dòng (verbose output) trên một lỗi chuẩn

f

Xác định tên file lưu trữ

m

Bao hàm thông tin chứng thực từ các file chứng thực xác định

o

Lưu trữ chỉ ‘use no zip’ nén

M

Không tạo các file chứng thực cho các mục (entries).

Bảng 0.1. công cụ jar

 

Một file chứng thực chứa thông về các file lưu trữ. File này là một tuỳ chọn. Thậm chí file không xác định thì JAR cũng tự động tạo ra. File jar được dùng như các lưu trữ. File này phải có phần mở rộng là ‘.jar’ được xác định tại dòng lệnh. File đầu vào (input-file) là danh sách phân cách các file được đặt trong lưu trữ. Netscape Navigator và Internet Explorer hỗ trợ file JAR.

Câu lệnh sau lưu trữ tất cả các file class và file java bao gồm trong một thư mục xác định vào một file jar gọi là ‘pack’

 

 

Tạo một lưu trữ mới

 

Tên câu lệnh

Xác định lưu trữ

Tên file

Các file được lưu trữ

          jar cf pack.jar *.class *.java

 

 

 

 

 

 

 

 

Hình 10.1 lệnh jar

 

Dùng lệnh sau tại dấu nhắc liệt kê các file trong file ‘pack.jar’

 

Tuỳ chọn này được sử dụng cho bảng nội dung lưu trữ

 

Tuỳ chọn xác định tên file lưu trữ

          jar tf pack.jar

 

 

 

 

 

Hình 10.2 Liệt kê các file trong file pack.jar

 

Để gộp file lưu trữ ‘pack.jar vào trong một applet, mở trang HTML, và thêm thuộc tính ARCHIVE=’pack.jar’ vào thẻ applet, như sau:

 

<applet code=”exr7.class” ARRCHIVE=”pack.jar” height=125 width=350></applet>

 

Thuộc tính sẽ chỉ cho trình duyệt nạp lưu trữ ‘pack.jar’ để tìm file ‘exr7.class’

 

Câu lệnh sau trích rút các file được nén trong file pack.jar:

         

          jar xvf pack.jar

 

Mục chọn ‘x’ cho phép bạn trích rút nội dung của file.

 

10.3 Chữ ký điện tử (Digital Signature) để định danh các applet

 

Trong java, bảo mật applet trên web là phần rất quan trọng. Hacker có thể viết các applet nguy hiểm xuyên thủng hàng rào bảo mật. Vì thế, applet hạn chế sự can thiệt của các ngôn ngữ. Applet không hỗ trợ một số nét đặt trưng sau:

  • Đọc và ghi file từ hệ thống nơi applet đang chạy.
  • Lấy thông tin về một file từ hệ thống
  • Xoá một file từ hệ thống.

Java 2 có thể thực hiện tất cả các đặc điểm trên,  với các applet cung cấp từ một nhà cung cấp applet tin cậy, và được ký danh số (digitally signed).

Hình sau minh họa quá trình mã hoá khoá

 

 

 


Chia sẻ: