1、 应用程序放到加密锁/加密狗ET299 U盘锁光盘区中
您可以使用WinISO等制作ISO的工具,将应用软件制作成ISO文件。然后使用加密锁/加密狗ET299 U锁设置工具ProducTool.exe设置光盘区和U盘区,并将压制好的ISO烧入到光盘区。初始U盘锁时除了要输入正确的PID和SO PIN,还需要输入U盘的密码,出厂默认的是00008888。建议将Hidden和Secure区大小设置为0,因为这2个区域的访问需要通过U盘厂家提供的接口才能访问。
2、 使用统一外壳工具对C#强签名程序加密注意事项
在使用统一外壳工具加密成功之后,还要进行下面两步操作:
1.打开vs的命令行(如下图所示)
2.在命令行中输入sn命令(如下图所示): sn -Ra [加密后的文件路径] [snk文件路径]
注意:命令行中的snk文件为客户程序中的snk文件(BOLKeyPair.snk),非加密工具生成的snk文件。这一步操作是为了用正确的强命名文件,重新给加密后的文件签名。
3、 使用统一外壳工具对C#程序加密注意事项
对由C#程序加密后,包括exe或者dll。当程序不能运行时,需要将加密后文件的文件名改成原文件名。如原文件为abc.exe,加密后为abc_packed.exe,这时需将abc_packed.exe改名为abc.exe运行。
4、 PID的作用
PID(8个十六进制字符)的作用是区分不同开发商系统中的锁。PID出厂默认为8个F,即“FFFFFFFF”(不区分大小写),PID必须修改后,锁的功能才能使用。例如:客户A公司购买锁后PID设置为“11111111”,客户B公司购买锁后PID设置为“22222222”,客户A公司的系统中是查找PID为“11111111”的锁,那么B公司或者其他公司的锁在A公司的系统中是无法使用的。
PID是在查找锁和打开锁时用到的,即必须输入正确的锁的PID,打开和查找才能成功。如锁的PID为:“A1B2C3D4”,这时调用et_FindToken和et_OpenToken函数时,pid参数就要给“A1B2C3D4”,函数执行才能成功。
另外,PID非常安全,它是由一个长度不超过51个字节的字符串作为种子,多功能锁会根据这个种子生成PID(8个十六进制字符)。这个生成算法是在多功能锁内部完成的,而且是不可逆的,也就是说,只有生成者才知道什么样的种子能生成什么样的PID,别的人即使知道PID,也能够调用这个计算过程,但因为不知道种子是什么,是无法生成您的PID的,从而无法生产出一个与您手中一致的加密锁硬件。
特别注意,请保留好PID和产生PID的种子,特别是种子。由于种子相同,产生的PID就相同,所以在忘记了PID的情况下,可以使用已知PID的锁和相同的种子产生忘记的PID。如果种子也忘记了,那么只能返厂重新生产。
5、 SOPIN的作用
SOPIN(16个十六进制字符)为管理员密码,这个密码只能由专门的人员掌握,而不应透露给其他人,也不要出现在应用系统中。掌握管理员密码的管理员可以设置锁的PID,和解锁UserPIN,即在做这两个操作前,需先验证SOPIN,验证通过后才能进行设置。
SOPIN可以设置重试次数限制,但特别注意,当SOPIN锁死后,只能返厂重新生产。为了减少不必要的麻烦,SOPIN出厂默认为没有锁死限制。
重试次数可以设置为0~15次,设为0时表示没有限制。当设置有重试次数限制时,如果连续输入错误的次数超过了最大重试次数,则多功能锁锁死,这时输入正确的密码也不能进行相应的操作;在最大重试次数内只要有一次输入正确,则重试次数又恢复为最大重试次数。这种机制类似于银行卡,防止破坏者反复重试破解密码。
SOPIN的生成与PID的生成都是通过种子机制来完成的。即是由一个长度不超过51个字节的字符串作为种子,多功能锁会根据这个种子生成SOPIN(16个十六进制字符)。这个生成算法是在多功能锁内部完成的,而且是不可逆的,也就是说,只有生成者才知道什么样的种子能生成什么样的SOPIN。
可以通过批量设置工具(ET99Setting.exe)或者et_SetupToken接口设置SOPIN重试次数。使用ET99Setting.exe设置时,在“请选择设置项”中选上“读写属性”前的复选框, 并在“重试次数”后填入相应的次数(0-15)。
6、 UserPIN的作用
UserPIN(16个十六进制字符)为用户密码,在使用锁的读写功能,设置HMAC_MD5密钥和进行HMAC_MD5运算前,必须先验证这个密码,验证通过后才能正确执行。注意UserPIN必须是0-9 A-F(不区分大小写)的十六进制字符,长度必须是16个。
UserPIN可以设置重试次数限制,重试次数可以设置为0~15次,设为0时表示没有限制。UserPIN出厂默认设置3次锁死。锁死后需先验证SOPIN,然后通过解锁函数进行解锁,也可以参看常见问题中“解锁User PIN”。解锁后UserPIN恢复为默认的16个F,即“FFFFFFFFFFFFFFFF”(不区分大小写)。
可以通过批量设置工具(ET99Setting.exe)或者et_SetupToken接口设置UserPIN重试次数。使用ET99Setting.exe设置时,在“请选择设置项”中选上“读写属性”前的复选框,并在“重试次数”后填入相应的次数(0-15)。
7、 如何将存储区设置成只读
锁的存储区可以设置成只读。当设置成只读时,用户密码(UserPIN)验证后,只能读取数据而不能写入数据;开发商密码(SOPIN)验证后,可读可写。
可以通过批量设置工具(ET99Setting.exe)或者et_SetupToken接口设置存储区只读属性。使用ET99Setting.exe设置时,在“请选择设置项”中选上“读写属性”前的复选框,并选上“只读标志”的复选框。
8、 必须先修改PID才可以使用
ET99/ET299必须先要修改PID才能使用。如果使用默认的8个F,包括读写等很多功能都是不能成功的,会返回0x04(没有设置PID的错误)。
9、 如何使User PIN码方便输入
最终用户在使用ET99进行网上身份认证或者使用加密后的应用软件时,特别是在进行身份认证时需要输入ET99的User PIN。由于ET99 的User PIN为16个字符,用户输入不方便,这时开发商应先对User PIN进行处理。可以将用户自己设定的USER PIN(如:superkey)通过调用我们接口库提供的MD5_HMAC接口或者自行设计相应的转换算法,将最终用户的输入转换成16个 (0~9,A~F)的字符。在使用MD5_HMAC接口时,其结果为16个字节,这时可以截取其中的8个字节,每个字节以2个字符(0~9,A~F)表示,这样再作为ET99的User PIN,以供验证调用的接口使用。
可以参考这样的方案。保留系统中原有的用户名和密码,用户设置的这个任意字符的密码通过变换(可以自己写算法)为长度16个的十六进制字符,每次用户密码更改后,还要通过ET99的修改UserPIN的接口将硬件的密码同时修改。这样就解决了用户输入UserPIN码不方便的问题。
10、 PID和SOPIN是否可以恢复为出厂的全F
只有将硬件退回给我们重新烧制固件程序,才可以恢复为全是F,我们也不知道全F的种子。但因为PID必须被修改后才能使用,恢复为全F是没有必要的。
您可以使用当前的PID去产生一个新的PID。如PID已经设置为FFC5EB78,那么就可以使用FFC5EB78打开硬件,验证SOPIN,然后使用新的种子产生一个新的PID。SOPIN是一样的,先验证当前的SOPIN,在使用新的SOPIN种子产生新的SOPIN。
另外,数据区中的数据出厂为0x00,如果要恢复,直接使用写接口写入0x00就可以。建议都写成0x00,因为0x00是字符串结尾的标志,这样在读取数据时比较方便。
11、 解锁User PIN
当您使用外壳加密工具或者其他验证User PIN的操作失败,并返回错误0xF0时,表明UserPIN已经锁死了。这时需要使用SO PIN进行解锁操作,过程如下。(注意:解锁时需要输入您手中ET99/ET299当前的PID和SO PIN,截图中为示范的PID和SO PIN):
(1)运行ET99Edit.exe/ET299Edit.exe。输入“F”,输入PID,查找ET99/ET299,如下图:
(2)输入“T”,输入PID,打开ET99/ET299,如下图:
(3)输入“U”,进入SetupMenu,然后输入“R”,输入SO PIN,完成User PIN的解锁。User PIN解锁后,恢复为出厂设置的16个“F”,如下图:
按“X”退出工具。
12、 获取User PIN和SO PIN的重试次数
可以通过et_Verify接口返回值来得到User PIN和SO PIN的重试次数。当et_Verify接口返回不为0时表示验证失败,这时返回值为0xF*,*代表剩余的重试次数。如:返回0xF2,表明还有2次重试机会。
13、 ET299远程升级
ET299远程升级功能,可以实现内存区、密钥等的远程更新。通过以下几个步骤实现:
(1)远程升级需要2把锁实现,一把作为母锁(开发商保留),保存升级公钥;一把作为子锁(用户使用),保存升级私钥。密钥的设置可以通过ET299加密锁API接口中提供的et_RSASetUpdateKey函数(函数详细说明请见ET299用户使用说明),或者使用由坚石提供的设置升级密钥对的工具GenRemoteKey.exe,如下图所示:
插上母锁,输入正确的PID、USERPIN、SOPIN,依次点击"产生密钥对","写母锁",如果成功会在输出框提示。母锁制作成功,换上子锁,点击"写子锁",提示成功。
如果需要备份公私钥,可点击"保存到文件",则会在本地磁盘生成一个.key为后缀的公私钥文件,此文件即是刚刚生成的公私钥文件。至此,远程升级前期预置升级RSA密钥对工作完成。
(2)开发商运行ET299RemoteUpdate.exe编辑远程升级文件,如下图:
这里以升级内存区为例。插上母锁,输入正确的PID、USERPIN、SOPIN,在"内存编辑"中输入待升级数据。右侧"绑定信息"指升级文件是否对指定硬件进行升级。确认信息正确无误。点击"生成远程升级文件",如果成功,则在生成路径生成远程升级文件ET299Update.inc。
(3)客户运行客户端升级工具RemoteUpdate.exe,如下图:
浏览选择由开发商制作好的远程升级文件,点击"升级",如果成功则如上图所示,内存区升级成功,如果不成功则返回相应的错误码。
14、 USB设备出厂设置
PID(Product Identification)的初始值为8个字符“F”,即:“FFFFFFFF”。
SO PIN (Super Officer Personal Identification Number)的初始值为16个字符“F”,即:“FFFFFFFFFFFFFFFF”,SO PIN没有锁死次数限制
USER PIN (User Personal Identification Number)的初始值为16个字符“F”,即:“FFFFFFFFFFFFFFFF”,3次锁死。
另外,普通用户状态可以对数据存储区进行读写,密钥存储区全为0xFF,数据存储区全为0xFF。
15、 没有找到USB设备如何处理
- 可以先检查一下是不是硬件损坏(请参看“检查USB设备与计算机是否正常连接”问题说明)。步骤如下:
- 在桌面“我的电脑”图标点击右键,选择“属性”。
- 选择“硬件”标签,并按“设备管理器”按钮。
- 在出现的设备窗口中找到“人体学输入设备”,点开前面的加号。双击HID-compliant device。
- 点开详细信息,在下面的显示框中看是否有:VID_096E PID_0303。
- 您使用编辑器工具ET99Edit.exe/ET299Edit.exe试一下,使用看ET99多功能锁用户手册.pdf第4.5节,按下面的过程:
- 按F,输入PID,看能不能找到ET99/ET299。
- 按T,输入PID,看能不能打开ET99/ET299。
- 按S,输入SOPIN,看能不能通过。
- 如果User PIN锁死了,可以通过解锁将User PIN恢复为出厂默认设置16个F。按4.5.8节操作,按U后再按R,输入正确的SO PIN。
如果以上都可以的话,使用就没有问题了。有2种情况会造成使用不了:
- 硬件损坏,这时即使输入正确的PID,也找不到ET99/ET299。这时可以在多台机器上测试一下,以便排除确认问题。
- PID不正确,如果还记得产生PID的种子,那么可以使用另外的ET99/ET299用该种子获得PID。
16、 SO PIN和User PIN
加密锁的SO PIN和User PIN非常安全,重试次数可以设置为0~15次,设为0时表示没有限制。SO PIN和USER PIN可以设置成没有锁死限制和锁死二种状态,开发商可以根据自己的情况灵活选择。出厂默认为SO PIN没有锁死限制,User PIN 3次锁死
当设置为锁死状态后,如果连续输入错误的次数超过了最大重试次数,则多功能锁锁死,这时输入正确的密码也不能进行相应的操作;在最大重试次数内只要有一次输入正确,则重试次数又恢复为最大重试次数。这种机制类似于银行卡,防止破坏者反复重试破解密码。
当User PIN锁死时,可以使用SO PIN重新设置User PIN为16个字符“F”。但当SO PIN锁死时,只能退还给我们处理。
17、 使用加密锁的PID杜绝硬件复制
PID非常安全。它是由一个长度不超过51个字节的字符串作为种子,多功能锁会根据这个种子生成PID。这个生成算法是在多功能锁内部完成的,而且是不可逆的,也就是说,只有生成者才知道什么样的种子能生成什么样的PID,别的人即使知道PID,也能够调用这个计算过程,但因为不知道种子是什么,是无法生成您的PID的,从而无法生产出一个与您手中一致的加密锁硬件。
18、 检查USB设备与计算机是否正常连接
在桌面“我的电脑”图标点击右键,选择“属性”
选择“硬件”标签,并按“设备管理器”按钮
在出现的设备窗口中找到“人体学输入设备”,点开前面的加号。双击HID-compliant device
点开详细信息,在下面的显示框中看是否有:VID_096E PID_0303
如果这个步骤正常,表明计算机与USB设备连接正常。
19、 PID,SOPIN和UserPIN能否恢复为出厂设置
PID,SOPIN和UserPIN一旦被更改后,出于安全因素考虑,是不能恢复为出厂设置的。您可以将锁退还给我们,我们重新烧制一下。
20、 使用外壳加密工具加密后的程序出现乱码
这是由于没有设置PID,或者输入的PID和UserPIN不正确造成的。
21、 高速HID无驱设备有何优点
目前无驱的技术主要分为:HID、SCSI和CCID。
SCSI主要用于U盘等设备,主要应用于数据量大的传输中,但只有在Windows2000以上操作系统中不需要安装驱动,同时也受到是否是系统管理员访问的影响。
CCID设备同样也只能应用于Windows2000+SP4以上的操作系统中。
相比较而言,高速HID无驱设备兼容性强,工作稳定,能够适合从Windows98至Windows7的所有操作系统,即插即用。特别适合兼容性和稳定性要求高,且数据量不大的应用中。同时,ET系列采用高速HID通讯,满足各种高速需求。HID设备也能够在Linux、Unix、MAC等系统中稳定工作。
22、 为什么插上USB设备后,系统中显示未知设备
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设备。