ICC Resource Manager

Một phần của tài liệu Chữ ký số trong thẻ thông minh và ứng dụng xác thực (Trang 46)

o Quy ước gi hàm

Các hàm quản lí của ICC Resource Manager đều được gọi theo mẫu sau (số

lượng tham số và kiểu của thamg số tùy thuộc vào từng hàm):

RESPONSECODE FunctionName( IN DWORD Parameter1, OUT BYTE Parameter2, IN OUT BYTE Parameter3 )

Trong đó RESPONSECODE là tập các giá trị được định nghĩa trước trả về

trạng thái thực sau khi thực hiên hàm (thành công hay thất bại…).

o Lp RESOURCEMANAGER

Chức năng của lớp này là quản lí context: một context là một số định danh 32 bit bắt buộc phải được thiết lập, các hành động sau này đều phải dựa trên một context nào đó (khái niệm rất hay gặp trong lập trình Windows). Lớp này chỉ có hai hàm chính: thiết lập và hủy một context:

RESPONSECODE EstablishContext(...) // thiết lập context RESPONSECODE ReleaseContext() // hủy context

o Lp RESOURCEDB

Một trong những chức năng của Resource Manager là quản lí tất cả các kiểu ICC, IFD và tài nguyên liên quan. Lớp RESOURCEDB mục đích là quản lí cơ sở dữ liệu tài nguyên này, nó cho phép thêm, xửa và xóa các ICC và IFD. Ngoài ra nó còn cho phép tạo thành các nhóm để dễ dàng quản lí. Lớp RESOURCEDB thừa kế trực tiếp từ lớp RESOURCEQUERY. Một số hàm cơ

bản của lớp này bao gồm:

RESPONSECODE IntroduceReader(...) // Thêm một reader mới vào CSDL RESPONSECODE ForgetReader(...) // Loại một reader ra khỏi CSDL RESPONSECODE IntroduceReaderGroup(...) // Tạo một nhóm mới RESPONSECODE ForgetReaderGroup(...) // Xóa một nhóm

RESPONSECODE AddReaderToGroup(...) // Thêm một reader vào một nhóm RESPONSECODE RemoveReaderFromGroup(...) // Loại reader ra khỏi nhóm RESPONSECODE IntroduceCardType(...) // Thêm một kiểu thẻ vào CSDL RESPONSECODE ForgetCardType(...) // Loại một kiểu thẻ khỏi CSDL

Chi tiết về các hàm này xem trong đặc tả phần 5 của PC/SC

o Lp RESOURCEQUERY

Lớp này thực hiện công việc truy vấn tới CSDL, nó có các hàm trả về danh sách các reader, nhóm, kiểu thẻ...

Sau đây là một số hàm của lớp này:

RESPONSECODE ListReaderGroups(...) RESPONSECODE ListReaders(...) RESPONSECODE ListCardType(...)

RESPONSECODE GetProviderId(...) // Trả về ICCSP tương ứng với kiểu thẻ

RESPONSECODE ListInterfaces(...) // Trả về danh sách các số GUID giao diện

Chi tiết về lớp RESOURCEQUERY được miêu tả trong đặc tả phần 5 của PC/SC.

o Lp SCARDTRACK

Lớp này đóng gói các hàm theo dõi sự có mặt (vắng mặt) của thẻ trong reader. Các hàm trong lớp này dùng một cấu trúc thông tin trạng thái

SCARD_READERSTATE lấy về trạng thái của reader. Hàm quan trọng nhất của lớp này là hàm LocateCard():

RESPONSECODE LocateCard(...) // tr v thông tin trng thái ca reader

Chi tiết về các hàm của lớp SCARDTRACK được miêu tả trong đặc tả

phần 5 của PC/SC.

o Lp SCARDCOMM

Lớp này đóng gói các chức năng giao tiếp với reader và thẻ, nó cung cấp các hàm quản lí kết nối, điều khiển transaction, gửi và nhận dữ liệu, xác định trạng thái thẻ.

Chi tiết về các hàm khác và các tham số trong lớp SCARDCOMM được miêu tả chi tiết trong đặc tả phần 5 của PC/SC. (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Chữ ký số trong thẻ thông minh và ứng dụng xác thực (Trang 46)