步骤1:关闭服务器/PC的自动更新(临时)、杀毒软件实时防护(临时),避免驱动安装被拦截。
步骤2:将保密设备插入空闲USB2.0接口,确保设备指示灯亮绿色(部分设备为蓝色)。
步骤3:打开设备配套驱动光盘/USB密钥,找到对应系统的驱动安装程序(通常命名为DeviceSetup_x64.exe),右键选择“以管理员身份运行”。
步骤4:按照安装向导操作,勾选“安装认证接口SDK运行时环境”,点击“下一步”直至完成,重启设备。
步骤5:重启后打开设备管理,检查“保密设备”分类下是否有对应的设备且无黄色感叹号;打开SDK测试工具(路径:C:\Program Files\SecretDeviceSDK\TestTool.exe),输入默认测试密码(通常为12345678,见SDK文档),点击“设备连接”“获取设备ID”,若返回16位以上合法ID则部署成功。
步骤1:临时关闭防火墙与SELinux,执行命令:
```bash systemctl stop firewalld setenforce 0 ```步骤2:插入保密设备,执行lsusb命令,确认设备已被识别(需匹配SDK文档中的厂商ID与产品ID,如厂商ID0x1234、产品ID0x5678)。
步骤3:上传SDK开发包到服务器/opt目录,解压到/opt/SecretDeviceSDK,执行安装脚本:
```bash cd /opt/SecretDeviceSDK chmod +x install.sh ./install.sh ```
步骤4:修改设备权限规则,防止普通用户无法访问,执行命令:
```bash echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", MODE="0666"' > /etc/udev/rules.d/99-secret-device.rules udevadm control --reload-rules udevadm trigger ```步骤5:运行SDK测试工具(路径:/opt/SecretDeviceSDK/TestTool),输入默认测试密码,点击“设备连接”“获取设备ID”,返回合法ID则部署成功。
档案软件需在3个关键环节调用认证接口:电子文件归档前的数字签名、电子文件归档后的加密存储、电子文件调阅前的解密验签。
步骤1:将SDK中的SecretDeviceAPI.py复制到档案软件的项目根目录。
步骤2:实现数字签名功能(归档前调用,确保文件未篡改),完整代码如下:
```python import SecretDeviceAPI import hashlib def sign_file(file_path, device_password): 1. 初始化SDK并连接设备 api = SecretDeviceAPI.SecretDevice() init_result = api.Init() if init_result != 0: return f"初始化失败,错误码:{init_result}" connect_result = api.ConnectDevice(device_password) if connect_result != 0: api.DeInit() return f"连接设备失败,错误码:{connect_result}" 2. 计算文件SHA-256哈希值 sha256_hash = hashlib.sha256() with open(file_path, "rb") as f: for byte_block in iter(lambda: f.read(4096), b""): sha256_hash.update(byte_block) file_hash = sha256_hash.digest() 3. 调用设备数字签名API sign_result, signature = api.SignData(file_hash) api.DisconnectDevice() api.DeInit() if sign_result != 0: return f"签名失败,错误码:{sign_result}" 4. 将签名保存到文件同级目录的.sign文件中 with open(f"{file_path}.sign", "wb") as f: f.write(signature) return "签名成功" 测试调用 if __name__ == "__main__": print(sign_file(r"D:\test_archive.docx", "12345678")) ```步骤3:实现加密存储功能(归档后调用,将文件加密存入档案库),完整代码如下:
```python import SecretDeviceAPI def encrypt_file(source_path, target_path, device_password): api = SecretDeviceAPI.SecretDevice() init_result = api.Init() if init_result != 0: return f"初始化失败,错误码:{init_result}" connect_result = api.ConnectDevice(device_password) if connect_result != 0: api.DeInit() return f"连接设备失败,错误码:{connect_result}" 调用设备文件加密API(逐块加密,避免大文件内存溢出) encrypt_result = api.EncryptFile(source_path, target_path) api.DisconnectDevice() api.DeInit() if encrypt_result != 0: return f"加密失败,错误码:{encrypt_result}" return "加密成功" 测试调用 if __name__ == "__main__": print(encrypt_file(r"D:\test_archive.docx", r"D:\encrypted_test_archive.dat", "12345678")) ```步骤4:实现解密验签功能(调阅前调用,验证文件完整性并解密),完整代码如下:
```python import SecretDeviceAPI import hashlib import os def decrypt_verify_file(encrypted_path, target_path, sign_path, device_password): api = SecretDeviceAPI.SecretDevice() init_result = api.Init() if init_result != 0: return f"初始化失败,错误码:{init_result}" connect_result = api.ConnectDevice(device_password) if connect_result != 0: api.DeInit() return f"连接设备失败,错误码:{connect_result}" 1. 先解密文件 decrypt_result = api.DecryptFile(encrypted_path, target_path) if decrypt_result != 0: api.DisconnectDevice() api.DeInit() return f"解密失败,错误码:{decrypt_result}" 2. 计算解密后文件的SHA-256哈希值 sha256_hash = hashlib.sha256() with open(target_path, "rb") as f: for byte_block in iter(lambda: f.read(4096), b""): sha256_hash.update(byte_block) file_hash = sha256_hash.digest() 3. 读取签名并验签 with open(sign_path, "rb") as f: signature = f.read() verify_result = api.VerifyData(file_hash, signature) api.DisconnectDevice() api.DeInit() if verify_result != 0: os.remove(target_path) return f"验签失败,文件可能被篡改,错误码:{verify_result}" return "解密验签成功" 测试调用 if __name__ == "__main__": print(decrypt_verify_file(r"D:\encrypted_test_archive.dat", r"D:\decrypted_test_archive.docx", r"D:\test_archive.docx.sign", "12345678")) ```恢复Windows/CentOS的防火墙与杀毒软件(设置SDK运行时环境、测试工具、档案软件为白名单),确保网络仅连接内部局域网。
按照SDK文档中的《自测报告模板》编写,包含设备部署截图、API调用日志、核心自测项的测试截图与结果说明。
自测通过后,登录国家保密科技测评中心官网(http://www.bsstc.org.cn/)注册账号,提交自测报告、设备型号证明、档案软件著作权证书扫描件,预约现场测评或远程测评。