服务支持
常见问题
服务支持»
常见问题
在使用统一外壳工具加密成功之后,还要进行下面两步操作:
1.打开vs的命令行(如下图所示)
2.在命令行中输入sn命令(如下图所示): sn -Ra [加密后的文件路径] [snk文件路径]
注意:命令行中的snk文件为客户程序中的snk文件(BOLKeyPair.snk),非加密工具生成的snk文件。这一步操作是为了用正确的强命名文件,重新给加密后的文件签名。
对由C#程序加密后,包括exe或者dll。当程序不能运行时,需要将加密后文件的文件名改成原文件名。如原文件为abc.exe,加密后为abc_packed.exe,这时需将abc_packed.exe改名为abc.exe运行。
先使用lsusb查看是否有ET99/ET199。然后增加.rules文件,文件名可以随意,完成后重启计算机。.rules文件一般位于/etc/udev/rules.d目录下.rules文件内容为
ET99:
BUS=="usb", SYSFS{idVendor}=="096e", SYSFS{idProduct}=="0303", MODE="0666"
ET199
BUS=="usb", SYSFS{idVendor}=="096e", SYSFS{idProduct}=="0304", MODE="0666"
ET199读写数据需要编写C51程序进行。过程如下:在锁内创建一个数据文件和一个用于读写数据的C51可执行文件。您可以参看ET199软件保护下载专区中读写方案的示例。这样的过程虽然比直接使用接口读取麻烦些,但它的好处就是增加了安全性,在读写时可以在ET199硬件内部做很多处理,而这些不是在计算机内存中,大大增加了安全性。
ET199硬件有三种状态:空锁,加密锁(加密锁格式),身份认证锁(PKI格式)。
- 出厂默认为加密锁格式。
- 当需要使用身份认功能时,需要使用ET199加密锁设置工具DrvSet.exe或API接口将ET199格式化为空锁(见《ET199用户手册-加密锁篇》5.2.2节或者7.1.15节中的说明)。然后再使用PKI设置工具DevFormat.exe进行PKI格式化(见《ET199用户手册-身份认证篇》中的4.2.2节)。工具可以在ET199下载专区中下载。
使用DrvSet格式化工具格式化成空锁。
使用DrvFormat格式化工具格式化成PKI格式。
- 将PKI格式的ET199恢复为加密锁时,需要先使用PKI设置工具DevFormat.exe格式化为空锁(见《ET199用户手册-身份认证篇》中的4.2.1节),然后再使用ET199加密锁设置工具DrvSet.exe(见《ET199用户手册-加密锁篇》5.2.2节或者7.1.15节中的说明),将ET199格式化为加密锁。
- 16位进口高性能智能卡硬件核心,彻底杜绝复制风险
- 同类智能卡产品价格最低,最大限度节省购买成本
- 独家承诺三年免费保换
- 全系统兼容的高速HID无驱USB设备
- USB通讯硬件级加密,有效防止USB端口数据劫持,保证了传输数据的安全性
- 单个硬件多种功能
- 世界领先的锁内编程技术,使用成熟的C51语言开发
- 高强度外壳保护
- VS.Net程序外壳保护
- 硬件内部支持512/1024/2048位RSA非对称算法
- 硬件内部支持DES/3DES对称算法
- 硬件内部支持MD5、SHA1散列算法
- 硬件内部支持单/双精度浮点运算
- 64K超大安全存储空间
- 安全远程升级
- Windows、Linux、Mac跨平台支持
ET199采用16位国外进口高性能智能卡芯片,锁内通过成熟的C51语言进行编程,是当今加密强度最高的加密锁。这里简单介绍一下ET199的开发过程,以便完全发挥ET199的全部功能。
(1)按照《ET199用户手册-加密锁篇》5.1节安装和配置KEIL环境。其中5.1.1节中使用工具自动配置,5.1.2节通过手动配置,建议通过5.1.2节进行,以便精确了解其过程。后面的章节以一个简单的C51程序作为示例,便于开发人员熟悉KEIL环境。
(2)使用ET199虚拟文件管理工具VfsSet.exe创建一个后缀为.etfs的虚拟文件。
(3)打开一个C51工程,点击魔术棒图标,出现工程配置对话框。选择Debug标签,在“Use:”后面选择ET199(如果没有发现ET199,您还没有完成(1)中的过程),点击“Settings”按钮,弹出配置对话框。
“ET199 VFS:”后面选择(2)中创建的虚拟文件。
“File Path:”后面设置在锁内的路径。ET199支持3级目录结构,建议只在跟目录下就可以了,这样即不影响安全性,又简洁方便。路径设为“\”即可。
“File ID:”后面是正在编写的C51可执行文件的文件ID。
“Real Card:”后面选择ET199的真实设备,如果选择为空,那么表明没有插入ET199或者ET199不是加密锁格式。建议使用真实设备,只有真实设备才能完成ET199的所有功能。
“Dev PIN”:后面是开发商口令。建议开发时使用默认的开发商口令,这样会减少开发商锁死的情况,造成退还给我们重烧的麻烦。但开发商口令一定要进行修改,等开发完毕后,最后修改开发商口令。
(4)上述配置完毕后,就可以点击下载图标将编译好的C51可执行文件下载到ET199中。下载过程为:将编译好的C51程序下载到虚拟文件中,清空ET199中的所有数据,将虚拟文件下载到ET199中。这样的好处是既能将正在编写的C51程序更新,同时也不影响锁内其他文件(密钥文件,数据文件,其他C51可执行文件)。如果要更改其他可执行文件,只需要在(3)中的File ID后更改一下。更改数据文件和密钥文件需要使用ET199虚拟文件管理工具VfsSet.exe。
(5)锁内程序编写好后,就可以使用上层的各种语言接口来调用锁内可执行文件完成读写数据、RSA加解密、3DES加解密、双精度浮点运算等功能。
开发商口令(24字节):该口令是开发商在进行软件保护开发时使用到的,其作用主要是对ET199硬件进行设置,如:创建文件/目录,删除文件/目录等。该口令为24个字节,初始值为:“123456781234567812345678”,十六进制表示为“0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38”。虽然开发商口令只能向锁内写入和删除文件,而不能获取锁内的任何数据,但还是建议开发商在创建完成一个目录后,将默认的开发商口令更改成自己的设定的独特值,以防止被非法者获取。
用户口令(8字节):该口令是用来调用ET199中的可执行文件的。在应用程序中调用加密锁内可执行文件时,需要先验证该用户口令。用户口令为8个字节,初始值为:“12345678”,十六进制表示为“0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38”。
开发商口令和用户口令都可以设置重试次数限制,出厂时没有设置重试次数,开发商可以通过ETChangePin接口函数进行设置。特别注意:当根目录被开发商口令锁死后,没有任何办法可以恢复,您只能退回给我们重新烧制。因此建议在开发时使用默认的口令,以防止忘记口令,验证失败等情况,开发完成后一定要修改开发商口令。
ET199中的文件系统与Windows的文件系统一样,是目录/文件结构,文件包括:可执行文件,数据文件和密钥文件。每个文件和目录都有自己的ID,这个ID为2个字节,例如:0x1002,0x100A等。同一级目录和文件的ID不能重复。
- ET199目录特性
- 只有一个根目录,根目录下可以创建子目录。ET199只支持三级目录结构(包括根目录,如:\0001\0002,表示根目录(“\”,第一级)下ID为0x0001的目录(“0001”,第二级)下的ID为0x0002的目录(“0002”,第三级))。根目录占有ET199中所有的用户空间。建议开发人员只在根目录下进行开发,简洁方便。
- 每个目录都有自己的开发商口令和用户口令,请注意不要将根目录的开发商口令锁死。
- 建立目录时,需要指定目录所占的空间大小。目录建立后,无法修改目录所占有的空间尺寸。注意:子目录的空间不能超过其所在目录的可使用空间。
- 子目录不能被删除,只能将子目录中的内容(包括子目录下的目录和文件)清空,在清空后,子目录的开发商口令和用户口令恢复为初始值。如果要删除这个目录,只能将该目录的父目录进行清空操作。如果目录为根目录,则删除根目录。再次使用时需要重新创建根目录。
- 只有一个根目录,根目录下可以创建子目录。ET199只支持三级目录结构(包括根目录,如:\0001\0002,表示根目录(“\”,第一级)下ID为0x0001的目录(“0001”,第二级)下的ID为0x0002的目录(“0002”,第三级))。根目录占有ET199中所有的用户空间。建议开发人员只在根目录下进行开发,简洁方便。
- ET199文件特性
- 可执行文件:可执行文件是由C51语言编写的,在加密锁内部运行的文件。您的应用程序运行时,调用我们提供的各种语言的API接口,向该文件传入输入数据,可执行文件在加密锁内部运行后,将结果返回给外部的应用程序。
普通可执行文件:可以被其他可执行文件改写,开发商口令可以创建和写入,用户口令只能运行。文件中的内容不能被任何人读取。当需要远程升级时,只能创建普通可执行文件,这样可以通过程序改写锁内的可执行文件。
内部可执行文件:不能被其他可执行文件改写,开发商口令可以创建和写入,用户口令只能运行。文件中的内容不能被任何人读取。由于内部可执行文件不能被改写,因此开发商需要远程升级时,不能创建这种类型的文件。
- 内部数据文件:存放数据信息的文件。该文件在开发商口令验证后,可以通过API接口写入。或者通过锁内可执行文件来读取和写入。即应用程序调用外部的API接口,API接口调用ET199内部的可执行文件,可执行文件(通过C51语言)读写内部数据文件。
- 密钥文件:存储RSA密钥对(公钥和私钥)的文件。对于公钥文件开发商口令可以写,可执行文件可以读写。对于私钥文件,开发商口令可以写,但文件中的内容不能被任何人读取。在使用ET199加密锁设置工具(见5.2节中的说明)产生RSA密钥对时会返回公钥和私钥的数据,因为私钥文件不能读取,只有在这时才能备份相关数据,因此开发商需要妥善保存,以备以后使用。
各种文件与口令的权限关系总结如下:
表1 文件与口令权限关系表 开发商口令验证 用户口令验证 可执行文件 可执行文件 普通 写入 调用 写入 内部 写入 调用 无 内部数据文件 写入 无 写入/读取 密钥文件 公钥 写入 无 写入/读取 私钥 写入 无 写入
- 可执行文件:可执行文件是由C51语言编写的,在加密锁内部运行的文件。您的应用程序运行时,调用我们提供的各种语言的API接口,向该文件传入输入数据,可执行文件在加密锁内部运行后,将结果返回给外部的应用程序。
- 客户号:为了区分不同的ET199使用者,方便管理,不同的软件开发商订购的ET199硬件的客户号是不同的。客户号为4个字节,开发商可以通过API接口函数得到这个客户号,来判断是否是自己购买的ET199。
- ATR文件:ET199内置一个16字节的ATR文件,用户可以通过API接口来写入和读取这个文件中的内容。在写入ATR文件时,需要验证根目录开发商口令。开发商可以设定ATR文件中的内容,然后根据这个内容来判断是否是自己所购买的锁。
- 硬件序列号:每一把ET199都有一个唯一的硬件序列号,8个字节(64位),开发商可以通过这个特性在软件中进行处理。
开发商可以通过ETControl接口来对客户号,ATR文件和硬件序列号进行操作。
- 可以先检查一下是不是硬件损坏(请参看“检查USB设备与计算机是否正常连接”问题说明)。步骤如下:
- 在桌面“我的电脑”图标点击右键,选择“属性”。
- 选择“硬件”标签,并按“设备管理器”按钮。
- 在出现的设备窗口中找到“人体学输入设备”,点开前面的加号。双击HID-compliant device。
- 点开详细信息,在下面的显示框中看是否有:VID_096E PID_0304。
- 您使用DrvSet.exe或者DevFormat.exe工具试一下,看工具能否找到ET199硬件。
如果以上都可以的话,使用就没有问题了。另外这时可以在多台机器上测试一下,以便排除确认问题。
在桌面“我的电脑”图标点击右键,选择“属性”
选择“硬件”标签,并按“设备管理器”按钮
在出现的设备窗口中找到“人体学输入设备”,点开前面的加号。双击HID-compliant device
点开详细信息,在下面的显示框中看是否有:VID_096E PID_0304
如果这个步骤正常,表明计算机与ET199连接正常。
目前无驱的技术主要分为:HID、SCSI和CCID。
SCSI主要用于U盘等设备,主要应用于数据量大的传输中,但只有在Windows2000以上操作系统中不需要安装驱动,同时也受到是否是系统管理员访问的影响。
CCID设备同样也只能应用于Windows2000+SP4以上的操作系统中。
相比较而言,高速HID无驱设备兼容性强,工作稳定,能够适合从Windows98至Windows7的所有操作系统,即插即用。特别适合兼容性和稳定性要求高,且数据量不大的应用中。同时,ET系列采用高速HID通讯,满足各种高速需求。HID设备也能够在Linux、Unix、MAC等系统中稳定工作。
USB设备为标准的HID无驱设备,即插即用。遇到机器不认时,一般有3种情况。
(1)有干扰或是接触不良,请您重新插入或者更换计算机上的其它USB端口。
(2)在Win2000以上的操作系统使用系统自带的驱动,不需要独立安装驱动。但在不完善的操作系统安装过程中会去掉系统驱动,用户需要在同版本的操作系统中将WINDOWS\Driver Cache\i386\driver.cab文件拷贝到不完善的操作系统的相应目录中。
(3)请检查是否关闭了BIOS中的USB支持选项。
另外,在Win98上安装时需要Windows98的系统安装盘上的base6.cab包。Win2000以上操作系统不需要系统安装盘,即插即用。如果在计算机上不能认到USB设备,请使用USB鼠标或者USB键盘来检测计算机的系统是否支持标准HID设备。