如何在IPFire防火墙上安装OpenSC

在本教程中,支持硬件令牌(例如智能卡)及其读卡器(CCID合规性)与IPFire项目集成。这是...

本文是我们以前在IPFire防火墙上的工作的延续。 在本教程中,与IPFire项目集成了硬件令牌(如智能卡)及其读者(CCID合规性)的支持。 为IPFire 2.19版本成功编译了以下工具。

PC / SC智能卡守护进程用于使用CCID或专有驱动程序访问Linux平台上的智能卡。 需要CCID智能卡读卡器的驱动程序来访问智能卡。 CCID软件包包含用于Linux / Unix环境的不同智能卡读卡器的驱动程序。 由几个开源工具和库组成的OpenSC项目支持智能卡访问(PKCS#11 API)和管理(PKCS#15文件结构)。 诸如智能卡的硬件令牌可以用于以下目的

  • 安全的Web登录
  • WorkStation登录
  • 文件加密
  • VPN(OpenVPN,L2TP)
  • 电子邮件加密

OpenSC支持的几个智能卡厂商如下。

  • ASEPCOS
  • FTCOSPK01C
  • OpenPGP卡
  • Cyber​​flex
  • CardOs
  • STARCOS

环境设置

对于开发环境的设置,在前面的文章中给出了详细的说明。

IPFire测试shell中的插件

建议在测试shell(类似于Linux终端)中安装IPFire插件,通过在根目录中使用以下命令来调用它。

./make shell

运行IPFire shell

IPFire构建环境中的源包放置在/ usr / src / cache目录中。 本教程的所有必需软件包都已放置在缓存目录中。

进入IPFire缓存目录

pcsc-lite包的源码显示在以下快照中。

pcsc-lite源码包

在我们开始编译pcsc-lite工具之前,建议使用以下命令安装所需的libudev-dev库

apt-get install libudev-dev

安装libudev-dev库

现在,使用以下命令提取源包,并运行./configure脚本,如下所示。

tar -xf pcsc-lite-1.8.18.tar.bz2

undpack并配置pcsc-lite

如下图所示,configure命令不会产生错误。

配置命令运行没有错误

现在,只需运行./make./make install命令即可在测试环境中安装pcscd守护程序。

安装pcscd守护进程

pcsc-lite包的成功安装显示了用于编译CCID包的几个重要路径。

pcsc-lite安装成功

以下屏幕截图显示pcscd在测试环境中在IPFire中运行。

pcscd在测试环境中运行

智能卡所需的下一个软件包就是CCID驱动程序包。 如下图所示,CCID包放置在缓存目录中。

CCID包在缓存目录中

以下屏幕截图显示了CCID包的./configure脚本生成的错误。

CCID配置错误

错误显示配置脚本找不到pcsc-lite。 因此,请使用configure脚本设置PCSC_CFLAGS ,如下所示。

./configure PCSC_CFLAGS=-I/usr/local/include/PCSC

设置PCSC_CFLAGS

但是,脚本生成另一个错误,因为在IPFire LFS的pkg-config路径下找不到libpcsclite.pc。

导出PKG_CONFIG_PATH

因此,首先导出PKG_CONFIG_PATH ,并再次运行configure脚本命令。

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

./configure PCSC_CFLAGS=-I/usr/local/include/PCSC

再次运行configure脚本

配置脚本运行的成功输出如下所示。 它显示,脚本找到PCSC的所需文件。

配置成功

运行./make&./make安装命令完成CCID驱动程序的安装。

制作和安装

/ etc / udev / rules目录中复制智能卡读卡器的udev规则 ,如下所示。

复制udev规则

/ etc / udev / rules目录中复制92_pcscd_ccid.rules文件。

复制92_pcscd_ccid.rules文件

以下屏幕截图显示了/ usr / src / cache目录中的OpenSC工具。

OpenSC工具

运行configure脚本来检查包的依赖关系。

运行配置脚本

configure脚本的输出显示在以下快照中。

配置输出1

配置输出2

在测试环境中运行OpenBS安装的./make和./make安装命令。

OpenSC使安装运行。

以下屏幕截图显示OpenSC工具已成功安装在IPFire的测试外壳中。

OpenSC安装成功

在IPFire的LFS shell中安装所需的工具后,下一步是以IPFire软件包管理器格式(pakfire)构建插件。

汇编IPFire插件

有关IPFire环境的附件构建的详细程序已在前一篇文章的“建筑PSAD插件”部分中给出。

  • 在IPFire设置的lfs目录中也创建了一个也称为lfs脚本的编译脚本。
  • 必须在make.sh脚本中对新插件进行更改。

LFS脚本是为pcsc-lite-1.8.18,ccid-1.4.24和opensc-0.16.0包创建的。 下载软件包的所有lfs脚本,并将它们放在ipfire-2.x的lfs目录下。

Dwnload LFS脚本

上述插件的LFS脚本如下所示。

pcsc-lite

pcsc-lite

ccid

ccid

opensc

OpenSC

构建脚本( make.sh )文件中的更改如下所示。

make.sh更改

运行以下命令来构建软件包。

ipfiremake pcsc-lite

ipfiremake ccid

ipfiremake opensc

需要运行以下命令两次来编译新的插件。

./make.sh build

运行make build

以下屏幕截图显示了新插件的lfs脚本编译时没有错误。

脚本的编译成功。

以下屏幕截图显示了第一个生成命令的输出。 在此构建过程中找不到所有三个软件包的根文件。

找不到root文件

新插件的三个文件位于日志目录中,具有相同的软件包/文件名称,如下所示。

rootfiles在日志目录中

以下屏幕截图显示,新插件的rootfiles将复制到config/rootfiles/packages 路径。 更改复制的根文件的名称以匹配新插件的lfs名称。 (放在lfs目录下)

cp log/pcsc-lite-1.8.18 config/rootfiles/packages/pcsc-lite

cp log/ccid-1.4.24 config/rootfiles/packages/ccid

cp log/opensc-0.16.0 config/rootfiles/packages/opensc

复制根文件

新插件的根文件包含一个“ + ”符号,必须在运行build命令之前将其删除。

pcsc-lite根文件

pcsc-lite根文件

ccid根文件

ccid根文件

opensc根文件

opensc根文件

使用以下sed命令从新包的根文件中删除“ + ”号。

sed -i 's/+//g' config/rootfiles/packages/pcsc-lite

sed -i 's/+//g' config/rootfiles/packages/ccid

sed -i 's/+//g' config/rootfiles/packages/opensc

以下屏幕截图显示已从根文件中删除加号。

加号从rootfiles中删除

PakFire是IPFire的软件包管理系统,由新插件中的安装,卸载和更新程序使用。

src / paks路径中的所有新addon创建目录(与lfs相同),然后复制install.sh,uninstall.sh将src / paks / default /中的一个update.sh脚本从src / paks / pcsc-lite ,src / paks / ccid,src / paks / opensc

复制安装程序脚本

再次运行build命令以完成构建过程。

./make.sh build

这一次,忽略所有新插件的rootfiles缺少的消息,因为我们已经在config目录中更新了rootfiles。

忽略缺少的根文件消息

最后,以下屏幕截图显示了在packages目录中创建了新的插件( pcsc-lite-1.8.18-2.ipfire,ccid-1.4.24-2.ipfire,opensc-0.16.0-2.ipfire ) 。

包建筑完成

安装pakfire包

如下所示,已将编译的软件包复制到/ opt / pakfire / tmp目录中已安装的IPFire系统。

将包复制到现场系统

以下屏幕截图显示软件包已在IPFire系统上复制。

包复制

通过使用以下命令在IPFire上安装新的插件。

 tar -xvf pcsc-lite-1.8.18-2.ipfire

打开包装的插件

 tar -xvf ccid-1.4.24-2.ipfire

解压缩ccid

 tar -xvf opensc-0.16.0-2.ipfire

解压缩ccid

使用./install.sh脚本在下面的屏幕截图中显示了新插件的安装

安装包

pcsc-lite的成功安装如下图所示。

pcsc-lite安装成功

下图显示了CCID智能卡驱动程序的安装。

安装智能卡驱动程序

如下图所示,最终安装了openSC工具,用于管理IPFire系统上的智能卡。

OpenSC工具已安装

在本教程中,新的插件是在IPFire的开发系统中构建的。 这些新插件用于将智能卡及其读者与开源IPFire项目集成。

相关文章

分享按钮