Tìm kiếm Nâng cao
Kết quả Tìm kiếm
Tìm thấy 87 kết quả
3.2. Danh sách Web API Chính (Server-Side)
Đây là các endpoint chủ lực trên máy chủ (nằm trong SigningController), sử dụng JSON làm phương tiện trao đổi (application/json hoặc multipart/form-data). Hệ thống yêu cầu Header Token-Signing (phiên ký hợp lệ) cho hầu hết các API nghiệp vụ. 1. Nhóm API Xá...
3.3. Danh sách Desktop API (Cục bộ localhost:6868)
Để tiện cho Web frontend gửi lệnh ký vào máy trạm, ứng dụng Desktop mở sẵn cổng RESTful trực tiếp trên máy người dùng (qua DesktopSigningController). Các endpoint này giao tiếp trực tiếp với USB Token. POST /api/desktop/sign: Endpoint ký file PDF cơ bản. P...
4.1. Module signing-common
Đây là module cơ sở nhất, không chứa logic xử lý phức tạp mà chỉ chứa các định nghĩa (Definitions) được sử dụng chung cho toàn bộ các module khác trong hệ thống. Thành phần chính: DTO (Data Transfer Objects): Các class request/response trung gian như S...
4.2. Module signing-core
Đây là "trái tim" của hệ thống, nơi thực hiện toàn bộ các nghiệp vụ mật mã học (Cryptography) và can thiệp vật lý vào file PDF. Nhiệm vụ: Khởi tạo và thiết lập các API tích hợp với thư viện DSS (Digital Signature Services) của liên minh Châu Âu (eu.eur...
4.3. Module signing-web-service
Đây là khối ứng dụng Web chính (Main Application) vận hành ở phía Server-side. Module này được đóng gói thành một Docker Container độc lập phục vụ cho ký tập trung. Nhiệm vụ: Expose toàn bộ các RESTful API phục vụ Web Portal và Mobile App. Quản lý Sec...
4.4. Module signing-desktop
Đây là ứng dụng Client-side dành riêng cho máy nhân sự, giúp khắc phục nhược điểm trình duyệt web không thể đọc trực tiếp cổng USB vật lý. Nhiệm vụ: Chạy nền một Web Server cục bộ (http://localhost:6868/api/desktop/*) tiếp nhận lệnh ký từ màn hình trìn...
4.5. Module signing-scanner-sdk
Khối này được module hoá để độc lập hóa phần tích hợp ngoại vi nếu dự án mở rộng hỗ trợ nhận dạng chữ ký viết tay/máy quét vật lý). Nhiệm vụ: Cung cấp các SDK hoặc API nội bộ xử lý luồng thao tác với thiết bị phần cứng thứ 3. Tách bạch logic ra khỏi sig...
5.1. Yêu cầu Hệ thống (Prerequisites)
Để đảm bảo hệ thống có thể biên dịch và chạy trơn tru, máy chủ / máy lập trình viên cần đáp ứng các điều kiện sau: Môi trường Java: Khuyến nghị sử dụng cài đặt JDK 17. Trình quản lý gói: Maven 3.8+ (Hoặc dùng file mvnw cung cấp sẵn trong source code). Môi...
5.2. Hướng dẫn Triển khai Signing Web Service (Server)
Ứng dụng Web Service được tối ưu để hoạt động trong Docker Container, cung cấp khả năng khởi tạo nhanh và độc lập môi trường. Cách 1: Chạy trực tiếp qua Docker Compose (Khuyến nghị) Hệ thống đã cung cấp sẵn file docker-compose.yml. Khi gọi lệnh docker-compos...
5.3. Đóng gói & Cài đặt Signing Desktop App (Client)
Client App được tối ưu hóa đặc biệt. Thay vì phải yêu cầu hàng trăm nhân sự dùng máy tính văn phòng tự tải JDK/JRE về để chạy lệnh java -jar, ứng dụng Desktop được nhúng (bundle) thẳng JRE (Custom JRE) vào bên trong thông qua công cụ jlink và jpackage. Nó biến...
6.1. Cấu hình Web Service (application.yml)
Mọi thông số kết nối trọng yếu của API Server được đặt trong thư mục src/main/resources/application.yml (khi lập trình) hoặc ghi đè bằng Environment Variables (khi chạy Docker). 1. Kết nối Cơ sở dữ liệu (MSSQL Server) Hệ thống sử dụng SQL Server để lưu thông...
6.2. Cấu hình Máy trạm Desktop ( token-config.json )
Do USB Token (SmartCard) đến từ rất nhiều định dạng nhà cung cấp khác nhau (Viettel, VNPT, FPT, BKAV, HILO), mỗi hãng lại dùng một file Driver .dll (trên Windows) riêng biệt. Ứng dụng signing-desktop quản lý cấu hình các Token này thông qua file token-config....
6.3. Cấu hình giao tiếp EJBCA Server
Các cấu hình giao tiếp mã hóa (Keystore / Truststore) để kết nối an toàn với máy chủ cấp phát EJBCA thông qua Rest/SOAP API (nếu có yêu cầu Mutual-TLS) thường nằm trong các tham số Custom Properties tự định nghĩa. ejbca: client: base-url: "https://ca-...
7.1. Cấu trúc Quản lý Dependency (Parent POM)
Toàn bộ dự án đi theo mô hình Maven Multi-Module, được kiểm soát chặt chẽ bởi file pom.xml nằm ở gốc dự án (Root Directory). Đây là nơi khai báo dependencyManagement. Lý do của kiến trúc này: Đảm bảo toàn bộ 5 module con (signing-core, signing-web-serv...
7.2. Hướng dẫn Môi trường & Build Source
Hướng dẫn cài đặt môi trường Môi trường phát triển hệ điều hành Windows - Cài đặt IntelliJ IDEA ( Link cài đặt Intellij IDEA ) - Hoặc cài đặt Visual Studio Code ( Link cài đặt Visual Studio Code ) - Cài đặt JDK-17 ( Link c...
7.3. Cách Debug (Kiểm thử) các Tính năng Phức tạp
Gỡ chặn CORS khi gọi từ môi trường Frontend (Local Web Proxy) Vì Desktop App chạy ở cổng localhost:6868 nhưng Frontend Portlet lại chạy trên tên miền của hệ thống E-Office (Ví dụ https://portal.tancang.com.vn), nên mặc định trình duyệt như Chrome/Edge sẽ chặn...
8.1. Lỗi Không nhận USB Token trên Desktop App
Luồng chạy ứng dụng Desktop phụ thuộc sát sao vào độ ổn định phần cứng máy tính và Driver hãng. Hiện tượng: Ứng dụng Desktop chạy, nhưng khi gọi lệnh ký thì pop-up báo "Không tìm thấy thiết bị Token" hoặc văng lỗi PKCS11Exception. Cách xử lý: Rút ra cắm lạ...
8.2. Lỗi Chuyển đổi Khống Format (File Conversion Issues)
Một trong những vấn đề đau đầu nhất là khi người dùng Upload một file không chính thống nhưng "vô tình hoặc cố ý" bị đổi sai định dạng đuôi file. Hiện tượng: Quăng lỗi UnsupportedFileFormatException khi đang thực thi bộ chuyển đổi Aspose.Words (ví dụ: Chu...