Xây dựng chương trình

Một phần của tài liệu đồ án kỹ thuật viễn thông Quản lý và cấp phát mã khóa công khai ngân hàng nhà nước Việt Nam (NHNN) (Trang 118 - 122)

8.4 KIỂM NGHIỆM

8.4.1Xây dựng chương trình

Từ các giải pháp đề xuất và việc thực hiện cải tiến các tiến trình thực hiện, tôi đã tiến hành xây dựng một số các chương trình, ứng dụng để thử nghiệm. Các chương trình, ứng dụng thử nghiệm này nhằm mục đích chứng minh các vấn đề đã đề xuất, cũng như đánh giá việc ứng thực tế từ những kết quả thử nghiệm.

Vì lý do khách quan, hiện tại việc demo chương trình, ứng dụng là khá phức tạp cũng như tính mật và vấn đề an ninh của hệ thống IBPS. Do vậy, trong khuân khổ của luận văn này chỉ trình bày một số hình ảnh giao diện, đoạn code của các chương trình thử nghiệm.

8.4.1.1 Chương trình ứng dụng tại client (tại các CI)

Môi trường phát triển

- Ngôn ngữ: AnsiC/C++, C#, VB .Net; - Môi trường: Windows XP, Ms. SQL server

- Các lib sử dụng: OpenSSL, OpenLDAP, CAPI, IKey1000, PKCS#11

Phân loại độ dài khóa

- Thuật toán HASH: SHA1 - Khóa ký: RSA 1024/RSA 2048

STT Thông tin RSA 1024 RSA 2048

1 Độ dài khóa 128 Bytes 256 Bytes

2 Độ dài khóa + phần định danh 140 Bytes (128 Bytes khóa và 12 Bytes định danh)

270 Bytes (256 Bytes khóa và 14 Bytes định danh)

3 Độ dài chữ ký ở dạng Base64 172 Bytes 344 Bytes

giờ ký tại CI + Serial + Giờ xác thực tại RPC 5 Tổng độ dài phần chữ ký: Chữ ký + Ngày giờ ký tại CI + Serial + Giờ xác thực tại RPC

200 Bytes 372 Bytes

Một số hàm chính và hình ảnh giao diện

- rsa_sign: thực hiện ký tin điện với thông tin lấy từ IKey.

/********************************************************************** int rsa_sign(CK_SESSION_HANDLE hSession, CK_BYTE input_msg[], int

input_len, CK_BYTE output_msg[], CK_OBJECT_HANDLE hKey); * ---*/

Hình 8.20: Hình ảnh giao diện ký

- rsa_verify: thực hiện xác thực tin điện với thông tin lấy từ IKey.

/********************************************************************** int rsa_verify(CK_SESSION_HANDLE hSession, CK_BYTE input_msg[], int input_len, CK_BYTE output_msg[], int output_len, CK_OBJECT_HANDLE hKey); * ---*/

Hình 8.21: Hình ảnh giao diện xác thực chữ ký

- rsa_encrypt: thực hiện mã hóa tin điện với thông tin lấy từ IKey.

/********************************************************************** int rsa_encrypt(CK_SESSION_HANDLE hSession, CK_BYTE input_msg[], int input_len, CK_BYTE output_msg[], CK_OBJECT_HANDLE hKey);

* ---*/

Hình 8.22: Hình ảnh giao diện mã hóa

- rsa_decrypt: thực hiện giải mã tin điện với thông tin lấy từ IKey.

/********************************************************************** int rsa_decrypt(CK_SESSION_HANDLE hSession, CK_BYTE input_msg[], int input_len, CK_BYTE output_msg[], CK_OBJECT_HANDLE hKey);

Hình 8.23: Hình ảnh giao diện giải mã

8.4.1.2 Chương trình ứng dụng tại server (tại các PPC/NPSC/LDAP) (adsbygoogle = window.adsbygoogle || []).push({});

Môi trường phát triển

- Ngôn ngữ: Ansi C; C++

- Môi trường NPSC/PPCs: HP-UX 11.23, Oracle 9.2.0.6;

Một số hàm

- ldap_init: khởi tạo kết nối LDAP

/********************************************************************** LDAP *ldap_open(char *host, int port)

* ---*/ - ldap_simple_bind_s: kết nối LDAP

/********************************************************************** int ldap_simple_bind_s(LDAP *ld, const char *who, const char *passwd); * ---*/

- sc_download_crl: thực hiện lấy CRL, ARL từ LDAP

/********************************************************************** int sc_download_crl(LDAP *i_ldap,char *i_searchbase,char *i_filter,char

*i_dirCRL,const char*i_CRLname,char *o_path);

- sc_download_la: thực hiên lấy chứng thư số SubCA, người dùng

/********************************************************************** int sc_download_la(LDAP *i_ldap,char *searchbase,char *filter,char

*subCRL,int checkExpiryDate);

* ---*/

- sc_x509_to_CertInfo: thực hiên lấy chứng thư số SubCA, người dùng /********************************************************************** int sc_x509_to_CertInfo(X509* i_cert, STR_CERT_INFO* io_cert)

* ---*/

Một phần của tài liệu đồ án kỹ thuật viễn thông Quản lý và cấp phát mã khóa công khai ngân hàng nhà nước Việt Nam (NHNN) (Trang 118 - 122)