密码卡安装手册

介绍派科信安PCIE密码卡硬件安装、软件编译与安装的方法,并进行初步使用。

适用范围

此手册适用于派科信安的如下PCIE密码卡:

  • A系列:A1、A2、A3
  • B系列:B1、B2、B3、B4、B5
  • C系列:C1

适用于派科信安的如下Mini PCIE密码卡:

  • M10、M10U
  • M11、M11U
  • M12、M12U
  • M13
  • M50

硬件安装

PCIE密码卡安装

所需安装的PCIE密码卡,与下图类似:

image-20230508222711553

硬件按照以下步骤安装:

(1)关闭系统电源,并拔掉电源线;

(2)将PCIE密码卡插入PCIE插槽内,并固定挡板;

(3)检查确认PCIE密码卡安装固定好之后,插入系统电源线,启动系统。

Mini PCIE密码卡安装

所需安装的Mini PCIE密码卡,与下图类似:

image-20230510102627972

Mini PCIE密码卡硬件按照以下步骤安装:

(1)关闭系统电源,并拔掉电源线;

(2)将密码卡插入Mini PCIE插槽内,并固定挡板;

(3)检查确认密码卡安装固定好之后,插入系统电源线,启动系统。

Mini PCIE密码卡安装注意事项:

(1)Mini PCIE插槽与mSATA插槽,从外观上比较相似,要注意区分。如不清楚,需要咨询主板或者主机供应商联系。

(2)标准Mini PCIE接口,可以支持一路PCIE总线和一路USB2.0总线,部分主板只支持其中的一种。派科信安的Mini PCIE密码卡系列中,以U结尾的型号,均只支持USB2.0总线,其余Mini PCIE密码卡均只支持PCIE总线。要注意主板上Mini PCIE接口的总线协议,与密码卡支持的总线协议的对应关系。如不清楚主板支持的总线协议类型,需要咨询主板或者主机供应商联系。

安装后的检查

安装后,可用lspci命令或者lsusb命令,查看硬件设备是否被正常识别。

A系列密码卡:使用lspci命令,可以看到02:00.0 Network and computing encryption device: Device 9118:1802

B系列密码卡:使用lspci命令,可以看到02:00.0 Network and computing encryption device: Device 9118:1802

C系列密码卡:使用lsusb命令,可以看到设备ID为9118的USB设备。

M系列密码卡:使用lsusb命令,可以看到设备ID为9118的USB设备。

软件编译与安装

软件包目录结构:

名称类似piico_ccx_driver_xxx.tgz,并在Linux下解压缩文件包。解压后的目录和文件结构如下:

目录或文件名 说明
./driver/*.ko 内核态.ko模块
./lib/* 用户态.so动态库与.a静态库
./include/ 用户态头文件,用于用户态程序开发
./tools/ 密码卡管理工具
./examples/ 密码卡调用的多个样例程序,用户可参考该源码进行开发
Makefile 可执行make、make install和make uninstall等操作

A系列密码卡

(1)获取基础软件包:通过软件包下载链接(联系派科信安技术支持),根据密码卡型号,下载对应的软件包。

其中,driver目录下的内核.ko模块、lib目录下的用户态.so动态库,均以二进制方式提供,其他文件以源码方式提供。

(2)确认操作系统信息:确认操作系统基本信息,包括CPU架构、操作系统版本号、内核版本号。

以Linux类操作系统为例,可分别通过cat /proc/cpuinfo | grep "name"cat /etc/os-releasecat /proc/version进行查看。

(3)获取内核ko模块:将获取到的操作系统信息,反馈给派科信安技术支持,获取对应的获取内核ko模块。将获取的内核ko模块,放在driver目录下。

(4)获取用户态so动态库:将获取到的操作系统信息,反馈给派科信安技术支持,获取对应的获取用户态so动态库。将获取的用户态so动态库,放在lib目录下。

(5)编译:在软件包根目录下,执行make进行用户态程序编译,包括tools目录下的密码卡管理工具,和examples样例程序。

(6)执行make install,安装内核ko模块、用户态.so动态库与.a静态库。

(7)运行tools目录下的密码卡管理工具,和examples目录下的样例程序。

B系列密码卡

详见B系列密码卡的安装手册。

C系列密码卡

(1)获取基础软件包:通过软件包下载链接(联系派科信安技术支持),根据密码卡型号,下载对应的软件包。

lib目录下的用户态.so动态库,以二进制方式提供;其他文件,包括driver目录下的内核.ko模块,均以源码方式提供。

(2)确认操作系统信息:确认操作系统基本信息,包括CPU架构、操作系统版本号、内核版本号。

以Linux类操作系统为例,可分别通过cat /proc/cpuinfo | grep "name"cat /etc/os-releasecat /proc/version进行查看。

(3)获取用户态so动态库:根据获取到的操作系统信息,在软件包下载链接中找到对应的so动态库,将其拷贝至lib目录下。

如不确定选用哪一个so动态库,也可将获取到的操作系统信息,反馈给派科信安技术支持,获取技术支持。

(4)编译:在软件包根目录下,执行make进行用户态程序编译,包括内核态.ko模块,tools目录下的密码卡管理工具,和examples样例程序。

(5)执行make install,安装内核ko模块、用户态.so动态库与.a静态库。

(6)运行tools目录下的密码卡管理工具,和examples目录下的样例程序。

M系列密码卡

M系列密码卡的软件编译与安装,同C系列密码卡。

软件程序的交叉编译

如果运行密码卡驱动的系统无法安装编译环境,则可能需要采取交叉编译的方式进行进行软件编译。

建议:如果是第一次进行密码卡的使用和测试,不建议第一次使用就在交叉编译环境下,建议现在带编译环境的操作系统下进行。在通用操作系统下测试完毕之后,可以移植至交叉编译环境下。

交叉编译,需要有对应的交叉编译工具链。

编译用户态应用程序和动态库,只需要交叉编译工具链即可。

编译内核模块,则需要对应的内核编译生成的相关文件。该文件的打包,一般内核交叉编译环境下,使用make ARCH=xxx CROSS_COMPILE=xxx-linux- rpm-pkg或者make ARCH=xxx CROSS_COMPILE=xxx-linux- deb-pkg之类的命令。可用make help查看详细信息。

参考:

make ARCH=arm64 CROSS_COMPILE=aarch64-linux- rpm-pkgmake

远程技术指导

如果您对以上安装流程感到困惑,可联系派科信安技术支持,获取远程安装技术指导。

远程桌面,建议采用“向日葵”软件。

初步使用

软件编译安装成功后,可以运行example目录下的以std_开头的样例程序。该程序会调用密码卡内的部分算法。

examples范例说明

在驱动目录下的examples文件夹中,有较多的使用范例。大致功能如下:

范例文件名 范例说明
piicoTool 基于UKEY的卡管理工具
piicoToolWP 基于PIN码的卡管理工具
std_sm1 SM1算法标准数据加解密
std_sm2 SM2算法签名/验签、加密/解密
std_sm3 SM3算法调用范例
std_sm4 SM4算法标准数据加解密
AllTest 包含了较多功能的使用范例
menu 包含了较多功能的使用范例,以菜单形式

固件升级

(1) 联系生成厂商,获取upper升级包;

(2) gm_release_x.x.srec在upper目录下;

(3) 执行./upper gm_release_x.x.srec

(4) 关机断电,重起机器