Bài viết này là phần tiếp theo của công trình trước đây của chúng tôi về tường lửa IPFire. Trong hướng dẫn này, hỗ trợ cho các mã thông báo phần cứng (như thẻ thông minh) và trình đọc của chúng (tuân thủ CCID) được tích hợp với dự án IPFire. Các công cụ sau đây đã được biên dịch thành công cho phiên bản IPFire 2.19.
Các gói nguồn trên môi trường xây dựng IPFire được đặt bên trong thư mục /usr/src/cache. Tất cả các gói cần thiết cho hướng dẫn này đã được đặt trong thư mục cache.
Nguồn của gói pcsc-lite được hiển thị trong ảnh chụp nhanh sau.
Bây giờ, hãy giải nén gói nguồn bằng lệnh sau và chạy tập lệnh ./configure như được hiển thị bên dưới.
Như được hiển thị bên dưới, không có lỗi nào được tạo ra bởi lệnh configure.
Bây giờ, chỉ cần chạy lệnh ./make và ./make install để cài đặt daemon pcscd trong bài kiểm tra môi trường.
Cài đặt thành công các gói pcsc-lite cho thấy một số đường dẫn quan trọng sẽ được sử dụng để biên dịch gói CCID.
Ảnh chụp màn hình sau đây cho thấy pcscd đang chạy trong IPFire trong môi trường thử nghiệm.
Gói tiếp theo cần thiết cho thẻ thông minh là gói trình điều khiển CCID. Như được hiển thị bên dưới, gói CCID được đặt trong thư mục bộ đệm.
Ảnh chụp màn hình sau đây cho thấy lỗi do tập lệnh ./configure của gói CCID tạo ra.
Lỗi cho thấy pcsc-lite không được tập lệnh configure tìm thấy. Do đó, hãy đặt PCSC_CFLAGS bằng tập lệnh cấu hình như được hiển thị bên dưới.
Tuy nhiên, một lỗi khác được tạo ra bởi tập lệnh vì libpcsclite.pc không được tìm thấy trong đường dẫn pkg-config trên IPFire LFS.
Do đó, trước tiên hãy xuất PKG_CONFIG_PATH và chạy lại lệnh tập lệnh cấu hình.
Chạy lệnh ./make & ./make install để hoàn tất cài đặt trình điều khiển CCID.
Sao chép các quy tắc udev cho đầu đọc thẻ thông minh trong thư mục /etc/udev/rules như được hiển thị bên dưới.
Đang sao chép tệp 92_pcscd_ccid.rules trong thư mục /etc/udev/rules.
Ảnh chụp màn hình sau đây hiển thị công cụ OpenSC trong thư mục /usr/src/cache.
Chạy tập lệnh cấu hình để kiểm tra các phụ thuộc của gói.
Đầu ra của tập lệnh cấu hình được hiển thị trong các ảnh chụp nhanh sau.
Chạy lệnh ./make và ./make install để cài đặt OpenSC trong môi trường thử nghiệm.
Ảnh chụp màn hình sau cho thấy công cụ OpenSC đã được cài đặt thành công trong shell thử nghiệm của IPFire.
Sau khi cài đặt các công cụ cần thiết trong shell LFS của IPFire, bước tiếp theo là xây dựng tiện ích bổ sung theo định dạng trình quản lý gói IPFire (pakfire).
Các tập lệnh LFS cho các tiện ích bổ sung ở trên được hiển thị bên dưới.
pcsc-lite
ccid
opensc
Những thay đổi trong tệp tập lệnh dựng (make.sh) được hiển thị bên dưới.
Chạy các lệnh sau để dựng các gói.
Cần chạy lệnh sau hai lần để biên dịch các tiện ích bổ sung mới.
Ảnh chụp màn hình sau đây cho thấy các tập lệnh lfs của tiện ích bổ sung mới được biên dịch mà không có lỗi.
Ảnh chụp màn hình sau đây cho thấy đầu ra của lệnh xây dựng đầu tiên. Các tệp gốc cho cả ba gói đều không được tìm thấy trong quá trình xây dựng này.
Ba các tệp gốc cho các tiện ích bổ sung mới nằm bên trong thư mục log có cùng tên gói/tệp như được hiển thị bên dưới.
Ảnh chụp màn hình sau đây cho thấy các tệp gốc của các tiện ích bổ sung mới được sao chép vào đường dẫn
Tệp gốc pcsc-lite
tệp gốc ccid
tệp gốc opensc
Sử dụng theo lệnh sed để xóa dấu "+" khỏi các tệp gốc của các gói mới.
Ảnh chụp màn hình sau cho thấy dấu cộng đã bị xóa khỏi các tệp gốc.
PakFire là hệ thống quản lý gói cho IPFire được sử dụng bởi các quy trình cài đặt, gỡ cài đặt và cập nhật trong các tiện ích bổ sung mới.
Tạo các thư mục (giống như lfs của các gói) cho tất cả các tiện ích bổ sung mới bên trong đường dẫn src/paks và sao chép install.sh, uninstall.sh và update.sh scripts từ src/paks/default/ vào src/paks/pcsc-lite, src/paks/ccid, src/paks/opensc.
Chạy lại lệnh build để hoàn tất quá trình build.
Lần này, bỏ qua thông báo rootfiles missing đối với tất cả các add-on mới vì chúng tôi đã cập nhật rootfiles trong thư mục config.
Cuối cùng, ảnh chụp màn hình sau đây cho thấy add-on mới (pcsc-lite-1.8.18-2.ipfire, ccid-1.4.24-2.ipfire, opensc-0.16.0-2.ipfire) đã được tạo bên trong thư mục packages.
Ảnh chụp màn hình sau đây cho thấy các gói được sao chép vào hệ thống IPFire.
Các tiện ích bổ sung mới được trích xuất bằng cách sử dụng lệnh sau để cài đặt trên IPFire.
Cài đặt tiện ích bổ sung mới được hiển thị trong ảnh chụp màn hình sau đây bằng cách sử dụng tập lệnh ./install.sh.
Cài đặt pcsc-lite thành công được hiển thị trong ảnh chụp nhanh sau.
Hình sau cho thấy quá trình cài đặt trình điều khiển thẻ thông minh CCID.
Như được hiển thị bên dưới, công cụ openSC cuối cùng đã được cài đặt để quản lý thẻ thông minh trên hệ thống IPFire.
Trong hướng dẫn này, các tiện ích bổ sung mới được xây dựng trong hệ thống phát triển của IPFire. Các tiện ích bổ sung mới này được sử dụng để tích hợp thẻ thông minh và đầu đọc của chúng với dự án IPFire nguồn mở.
- PCSC (PC/SC Smart Card Daemon)
- CCID (Chip/Smart Card Interface Devices) (trình điều khiển phần mềm miễn phí)
- OpenSC (Các công cụ và thư viện thẻ thông minh nguồn mở)
- Đăng nhập web an toàn
- Đăng nhập máy trạm
- Mã hóa tệp
- VPN (OpenVPN, L2TP)
- Mã hóa email
- ASEPCOS
- FTCOSPK01C
- OpenPGP Card
- Cyberflex
- CardOs
- STARCOS
Thiết lập môi trường
Để thiết lập môi trường phát triển, bài viết trước đã giải thích chi tiết.Các tiện ích bổ sung trong shell thử nghiệm của IPFire
Bạn nên cài đặt các tiện ích bổ sung IPFire trong shell thử nghiệm (tương tự như thiết bị đầu cuối Linux) được gọi bằng cách sử dụng lệnh sau trong thư mục gốc.
Mã:
./make shell
Các gói nguồn trên môi trường xây dựng IPFire được đặt bên trong thư mục /usr/src/cache. Tất cả các gói cần thiết cho hướng dẫn này đã được đặt trong thư mục cache.
Nguồn của gói pcsc-lite được hiển thị trong ảnh chụp nhanh sau.
Trước khi chúng ta bắt đầu biên dịch công cụ pcsc-lite, bạn nên cài đặt thư viện libudev-dev cần thiết bằng lệnh sau
Mã:
apt-get install libudev-dev
Bây giờ, hãy giải nén gói nguồn bằng lệnh sau và chạy tập lệnh ./configure như được hiển thị bên dưới.
Mã:
tar -xf pcsc-lite-1.8.18.tar.bz2
Như được hiển thị bên dưới, không có lỗi nào được tạo ra bởi lệnh configure.
Bây giờ, chỉ cần chạy lệnh ./make và ./make install để cài đặt daemon pcscd trong bài kiểm tra môi trường.
Cài đặt thành công các gói pcsc-lite cho thấy một số đường dẫn quan trọng sẽ được sử dụng để biên dịch gói CCID.
Ảnh chụp màn hình sau đây cho thấy pcscd đang chạy trong IPFire trong môi trường thử nghiệm.
Gói tiếp theo cần thiết cho thẻ thông minh là gói trình điều khiển CCID. Như được hiển thị bên dưới, gói CCID được đặt trong thư mục bộ đệm.
Ảnh chụp màn hình sau đây cho thấy lỗi do tập lệnh ./configure của gói CCID tạo ra.
Lỗi cho thấy pcsc-lite không được tập lệnh configure tìm thấy. Do đó, hãy đặt PCSC_CFLAGS bằng tập lệnh cấu hình như được hiển thị bên dưới.
Mã:
./configure PCSC_CFLAGS=-I/usr/local/include/PCSC
Tuy nhiên, một lỗi khác được tạo ra bởi tập lệnh vì libpcsclite.pc không được tìm thấy trong đường dẫn pkg-config trên IPFire LFS.
Do đó, trước tiên hãy xuất PKG_CONFIG_PATH và chạy lại lệnh tập lệnh cấu hình.
Mã:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
Mã:
./configure PCSC_CFLAGS=-I/usr/local/include/PCSC
Kết quả chạy tập lệnh cấu hình thành công được hiển thị bên dưới. Nó cho thấy rằng, các tập tin cần thiết của PCSC được tìm thấy bởi tập lệnh.Chạy lệnh ./make & ./make install để hoàn tất cài đặt trình điều khiển CCID.
Sao chép các quy tắc udev cho đầu đọc thẻ thông minh trong thư mục /etc/udev/rules như được hiển thị bên dưới.
Đang sao chép tệp 92_pcscd_ccid.rules trong thư mục /etc/udev/rules.
Ảnh chụp màn hình sau đây hiển thị công cụ OpenSC trong thư mục /usr/src/cache.
Chạy tập lệnh cấu hình để kiểm tra các phụ thuộc của gói.
Đầu ra của tập lệnh cấu hình được hiển thị trong các ảnh chụp nhanh sau.
Chạy lệnh ./make và ./make install để cài đặt OpenSC trong môi trường thử nghiệm.
Ảnh chụp màn hình sau cho thấy công cụ OpenSC đã được cài đặt thành công trong shell thử nghiệm của IPFire.
Sau khi cài đặt các công cụ cần thiết trong shell LFS của IPFire, bước tiếp theo là xây dựng tiện ích bổ sung theo định dạng trình quản lý gói IPFire (pakfire).
Biên dịch tiện ích bổ sung IPFire
Quy trình chi tiết liên quan đến việc xây dựng tiện ích bổ sung cho môi trường IPFire đã được cung cấp trong phần "Xây dựng tiện ích bổ sung PSAD" của bài viết trước.- Một tập lệnh biên dịch còn được gọi là tập lệnh lfs được tạo trong thư mục lfs của thiết lập IPFire.
- Những thay đổi cho tiện ích bổ sung mới phải được thực hiện trong tập lệnh make.sh.
Các tập lệnh LFS cho các tiện ích bổ sung ở trên được hiển thị bên dưới.
pcsc-lite
ccid
opensc
Những thay đổi trong tệp tập lệnh dựng (make.sh) được hiển thị bên dưới.
Chạy các lệnh sau để dựng các gói.
Mã:
ipfiremake pcsc-lite
Mã:
ipfiremake ccid
Mã:
ipfiremake opensc
Mã:
./make.sh build
Ảnh chụp màn hình sau đây cho thấy các tập lệnh lfs của tiện ích bổ sung mới được biên dịch mà không có lỗi.
Ảnh chụp màn hình sau đây cho thấy đầu ra của lệnh xây dựng đầu tiên. Các tệp gốc cho cả ba gói đều không được tìm thấy trong quá trình xây dựng này.
Ba các tệp gốc cho các tiện ích bổ sung mới nằm bên trong thư mục log có cùng tên gói/tệp như được hiển thị bên dưới.
Ảnh chụp màn hình sau đây cho thấy các tệp gốc của các tiện ích bổ sung mới được sao chép vào đường dẫn
config/rootfiles/packages
. Đổi tên của các tệp gốc đã sao chép để khớp với tên lfs của tiện ích bổ sung mới. (được đặt trong thư mục lfs)
Mã:
cp log/pcsc-lite-1.8.18 config/rootfiles/packages/pcsc-lite
Mã:
cp log/ccid-1.4.24 config/rootfiles/packages/ccid
Mã:
cp log/opensc-0.16.0 config/rootfiles/packages/opensc
Các tệp gốc của tiện ích bổ sung mới chứa dấu "+" phải được xóa trước khi chạy lệnh xây dựng.Tệp gốc pcsc-lite
tệp gốc ccid
tệp gốc opensc
Sử dụng theo lệnh sed để xóa dấu "+" khỏi các tệp gốc của các gói mới.
Mã:
sed -i 's/+//g' config/rootfiles/packages/pcsc-lite
Mã:
sed -i 's/+//g' config/rootfiles/packages/ccid
Mã:
sed -i 's/+//g' config/rootfiles/packages/opensc
Ảnh chụp màn hình sau cho thấy dấu cộng đã bị xóa khỏi các tệp gốc.
PakFire là hệ thống quản lý gói cho IPFire được sử dụng bởi các quy trình cài đặt, gỡ cài đặt và cập nhật trong các tiện ích bổ sung mới.
Tạo các thư mục (giống như lfs của các gói) cho tất cả các tiện ích bổ sung mới bên trong đường dẫn src/paks và sao chép install.sh, uninstall.sh và update.sh scripts từ src/paks/default/ vào src/paks/pcsc-lite, src/paks/ccid, src/paks/opensc.
Chạy lại lệnh build để hoàn tất quá trình build.
Mã:
./make.sh build
Cuối cùng, ảnh chụp màn hình sau đây cho thấy add-on mới (pcsc-lite-1.8.18-2.ipfire, ccid-1.4.24-2.ipfire, opensc-0.16.0-2.ipfire) đã được tạo bên trong thư mục packages.
Cài đặt các gói pakfire
Như được hiển thị bên dưới, các gói đã biên dịch được sao chép vào hệ thống IPFire đã cài đặt bên trong thư mục /opt/pakfire/tmp.Ảnh chụp màn hình sau đây cho thấy các gói được sao chép vào hệ thống IPFire.
Các tiện ích bổ sung mới được trích xuất bằng cách sử dụng lệnh sau để cài đặt trên IPFire.
Mã:
tar -xvf pcsc-lite-1.8.18-2.ipfire
Mã:
tar -xvf ccid-1.4.24-2.ipfire
Mã:
tar -xvf opensc-0.16.0-2.ipfire
Cài đặt tiện ích bổ sung mới được hiển thị trong ảnh chụp màn hình sau đây bằng cách sử dụng tập lệnh ./install.sh.
Cài đặt pcsc-lite thành công được hiển thị trong ảnh chụp nhanh sau.
Hình sau cho thấy quá trình cài đặt trình điều khiển thẻ thông minh CCID.
Như được hiển thị bên dưới, công cụ openSC cuối cùng đã được cài đặt để quản lý thẻ thông minh trên hệ thống IPFire.
Trong hướng dẫn này, các tiện ích bổ sung mới được xây dựng trong hệ thống phát triển của IPFire. Các tiện ích bổ sung mới này được sử dụng để tích hợp thẻ thông minh và đầu đọc của chúng với dự án IPFire nguồn mở.