4 QUÁ TRÌNH XÂY DỰNG HỆ THỐNG
4.1.1.2. Công cụ phát triển
Ngôn ngữ lập trình để xây dựng hệ thống PKI là C++ và công cụ phát triển là bộ Visual C++ 6.0. Những hỗ trợ về các hàm và cấu trúc dữ liệu của Windows được thể hiện rõ nét
Quá trình xây dựng hệ thống HẠ TẦNG KHOÁ CÔNG KHAI
44
trong công cụ phát triển này. Hơn nữa, C++ cũng là ngôn ngữ phổ biến, có thể dữ xử lý dữ liệu ở nhiều mức khác nhau. Các ứng dụng sẽ được phát triển theo kiểu ứng dụng MFC nhằm đảm bảo sự hỗ trợ về các thư viện và các lớp đối tượng ở cấp thấp.
Hiện nay, bộ công cụ phát triển Visual Studio .NET đã được phát hành, bộ công cụ này hỗ trợ rất tốt các thuật toán mã hoá, giải mã cũng nhưđóng gói dữ liệu phục vụ hệ thống PKI. Tuy nhiên, bộ công cụ này tạo ra các ứng dụng cần nhiều thư viện liên kết động (DLL) mà nhiều khi người phát triển phải mang theo khi cài đặt hệ thống. Đây là một trở
ngại lớn vì các hệ điều hành khác nhau có thể có những thành phần thư viện liên kết
động không giống nhau.
Việc sử dụng bộ công cụ Visual C++ 6.0 cũng không hoàn toàn thuận lợi khi ta cần thực hiện các thủ tục mã hoá hay đóng gói dữ liệu. Thư viện các cấu trúc dữ liệu và các hàm cơ bản mà ta có thể sử dụng được mô tả trong file wincrypt.h của thư mục system32 của hệđiều hành. Theo như định nghĩa của file thì cả phiên bản mới nhất của họ Windows là Windows XP cũng không sử dụng được thư viện này. Tuy nhiên, nếu ta chỉ cần chỉnh sửa file này để nó hỗ trợ các phiên bản của Windows thì vẫn có thể sử dụng các thư viện này. Hệ thống cần triển khai sẽ phải sử thường xuyên các thủ tục đóng gói và lưu trữ dữ liệu. Những thủ tục này đều có các hàm thư viện hỗ trợ song không phải bao giờ chúng cũng hoạt động tốt. Ví dụ, việc đóng gói thông tin vềđịnh danh và khoá thường được thực hiện rất tốt, tuy nhiên, đối với các thẻ xác nhận thì ta chỉ có thể đóng gói được dữ liệu mà không thể nào lấy lại được thông tin đã đóng gói. Kết luận này được rút ra với cả các thủ
tục mẫu, các thủ tục tự viết và trên nhiều máy khác nhau. Trong khi đó, thẻ xác nhận là cấu trúc dữ liệu cơ bản nhất cần được đóng gói. Đây chính là hạn chế lớn nhất của các hàm thư viện.
Từđó, yêu cầu đặt ra của việc triển khai hệ thống là phải đảm nhận được khâu đóng gói dữ liệu. Ta vẫn giữ nguyên những cấu trúc dữ liệu mà thư viện cung cấp, song sẽ tự thực hiện các thủ tục đóng gói và lấy lại thông tin. Đây chính là những thủ tục quan trong nhất của việc triển khai hệ thống PKI trong phạm vi muc tiêu đã đề ra.