证书缓存文件写入失败

缓存文件写入失败  时间:2021-02-25  阅读:()

蓝牙KEY技术规范USBKey硬件规范USBKey的COSUSBKey内的COS,需要供应商对所采用的COS具有自主知识产权,符合集成电路卡标准《ISO/IEC7816-4》,符合国家密码管理局的智能卡及密码钥匙检测规范.
COS全面支持PKI应用,支持MF/DF/EF三层物理文件管理.

USBKey的算法产品支持3DES对称算法,支持SHA-1、SHA-256数据摘要算法,支持RSA-2048非对称算法,支持SM2、SM3、SM4国密算法,密码模块的算法符合FIPS140-2标准认证.

USBKey的处理器USBKey安全芯片须通过国家密码管理局2级检测要求和国家信息安全测评中心EAL4+安全测评,安全芯片存储容量不小于64KB;USBKey内置硬件随机数发生器,能产生真随机数,随机数应能符合FIPS140-2标准测试.
USBKey设备类型USBKey应符合USB2.
0规范,产品形态为无驱无软,要求硬件内置USBKey软件安装包,在Windows2000以上平台,第一次插入计算机可自动安装USBKey软件,如用户系统屏蔽了自动安装功能,要求可以手动运行USBKey内的安装包进行安装.
USBKey的安全性USBKey产品应采取措施保护证书私钥的安全,任何情况下不得泄露私钥信息.
具体措施包括且不限于:1.
私钥由COS内部管理,使用COS文件访问指令不得访问到私钥文件;2.
RSA签名密钥对由COS内部实时生成,COS内部不得固化RSA签名密钥对和保留用于生成密钥对的素数;SM2签名密钥对由COS内部实时生成,COS内部不得固化SM2签名密钥对;3.
产品内部硬件支持RSA-2048、SM2签名算法,支持完全在USBKey内完成交易数据摘要、签名的全过程,全过程中关键信息不得出USBKey,防止期间数据被篡改,任何情况下私钥不可从USBKey内导出;4.
密钥的装载、更新、文件读写支持《中国金融集成电路(IC)卡规范》中各种安全保护机制;USBKey的外观和基础功能规范USBKey正面包含液晶屏幕和操作按键,正面印制采购人logo,背面印制采购人标识并蚀刻USBKey编号.
操作按键至少包括"上翻"键、"下翻"键、"确定"键和"取消"键.
对于操作按键的显示内容允许使用符号,但建议使用中文汉字.
USBKey的显示规范USBKey产品自带液晶显示屏,用于显示需客户核对的交易信息.
USBKey的输入规范USBKey上通过操作按键进行交易核对,交易核实时,客户可使用上、下翻键浏览屏显信息,使用"确定"键确认网银交易,使用"取消"键撤销网银交易.
等待确认时,如超出5分钟无反馈操作,则自动取消交易.

USBKey按键规范USBKey按键布局"确定"键和"取消"键摆放位置不能紧挨在一起,减少客户误按"确定"或"取消"键的概率,降低操作风险,提升客户体验.
USBKey按键尺寸USBKey的"确定"键不应小于"取消"键.
USBKey液晶屏规范USBKey液晶屏显示规范液晶屏可选采用LCD带背光显示屏或OLED自发光显示屏的以下三款不同产品.
LCD带背光显示屏采用128*64点阵,显示字号大小不低于8磅,分4行显示,每行至少可显示16个数字,每个汉字的点阵采用16x16的模式,字母和数字采用8x16的模式.
背光采用白色或蓝色,显示清晰;USBKey的显示字库要求USBKey使用GB18030字库.
USBKey的工艺规范USBKey整机使用寿命USBKey整机使用寿命要达到五年以上.
USBKey按键寿命USBKey的按键寿命要求可以按压十万次以上.
USBKey防尘USBKey整机应具备防尘功能,液晶屏幕配置专用防尘垫,防止灰尘进入影响使用效果.
USBKey防水USBKey整机应具备防泼溅功能.
USBKey防潮USBKey具备防潮设计,在1-90%湿度环境可用.
USBKey工作温度USBKey具备高低温工作能力,在-10~温度环境可用.
USBKey防电磁干扰USBKey具备防电磁干扰能力,在场强10V/m、调制频率1kHz、调制度80%的条件下从80~1000MHz进行扫频干扰,产品保证正常工作在干燥环境中可正常使用.
USBKey防跌落USBKey符合跌落硬质地面标准.
USBKey防静电USBKey具备防静电设计,在干燥环境中可正常使用.
USBKey的接口规范iOS平台集成方式iOS平台下,接口库以静态库的方式提供,库名为:NXYBank_XX.
a,其中XX为字符厂商缩写.
静态库和农信银中心手机银行代码统一编译成APP发布.
每个厂商实现类命名规则为:NXYBankBT_XX.
实现类NXYBankBT_XX继承并实现以下协议接口@protocolNXYKeyDriver该协议包含代理属性,用以key的驱动程序在执行修改PIN码,签名等过程中的委托实例(由驱动程序调用者负责对此属性进行赋值)@property(nonatomic,assign)iddelegate;接口定义iOS平台接口功能包含"连接设备"、"获取设备SN"、"获取PIN码剩余次数"、"获取证书"、"获取证书起止时间"、"获取证书CN"、"修改口令"、"签名"、"断开设备",具体的接口定义如下:连接设备定义:-(NSString*)connect:(NSString*)SNtimeout:(NSInteger)timeoutSecondserrCode:(NSInteger*)err功能:连接蓝牙KEY.
参数:SN[IN]蓝牙KEY的序列号.
timeoutSeconds[IN]连接超时时间(小于等于0时默认20s超时).
err[OUT]err参数为对应的错误码,0为成功,其他值表示失败.
返回值:成功返回设备的序列号,如果入参SN和设备的SN不相等返回为空.
连接情况下获取SN定义:-(NSInteger)getSNwithConnect:(NSString**)SN;功能:在连接成功的情况下,获取SN.
参数:SN[OUT]蓝牙KEY的序列号.
返回值:返回值0表示成功,其他值表示失败.
获取PIN码剩余次数定义:-(NSInteger)pinInfo:(NSString*)SNremainNumbers:(NSInteger*)remainNubers功能:通过序列号获取密码剩余次数参数:SN[IN]蓝牙KEY的序列号.
remainNubers[OUT]密码剩余次数.
返回值:返回值0表示成功,其他值表示失败获取证书定义:-(NSInteger)certInfo:(NSString*)SNcertData:(NSString**)certDatawithCertType:(NSInteger)certType功能:通过序列号获取证证书.
参数:SN[IN]蓝牙KEY的序列号.
certData[OUT]证书信息.
certType[IN]查看的证书类型,1为rsa签名证书,2为sm2签名证书.
返回值:返回值0表示成功,其他值表示失败获取证书起止时间定义:-(NSInteger)certTime:(NSString*)SNtime:(NSString**)certTimewithCertType:(NSInteger)certType功能:通过序列号获取证书起止时间.
参数:SN[IN]蓝牙KEY的序列号.
certTime[OUT]证书的起止时间,格式为"XXXX-XX-XX:XXXX-XX-XX"certType[IN]查看的证书类型,1为rsa签名证书,2为sm2签名证书.
返回值:返回值0表示成功,其他值表示失败获取证书CN定义:-(NSInteger)certCN:(NSString*)SNresCN:(NSString**)certCNwithCertType:(NSInteger)certType功能:通过序列号获取证书颁发者和使用者CN.
参数:SN[IN]蓝牙KEY的序列号.
certCN[OUT]证书的使用者CN,格式为"证书颁发者CN-证书拥有者CN"certType[IN]查看的证书类型,1为rsa签名证书,2为sm2签名证书.
返回值:返回值0表示成功,其他值表示失败修改口令定义:-(NSInteger)modifyPIN:(NSString*)SNwithDecKey:(NSString*)decKeywithOldPin:(NSString*)oldPINwithNewPIN:(NSString*)newPIN;功能:修改蓝牙KEY的PIN码.
参数:SN[IN]蓝牙KEY的序列号.
decKey[IN]PIN码的解密密钥(传入为空或长度为0时,密码按明文处理).
oldPIN[IN]蓝牙KEY旧PIN码.
newPIN[IN]蓝牙KEY的新PIN码.
返回值:返回值0表示成功,其他值表示失败.
说明:该函数会通过应用提供的回调函数展示界面,提示用户按键确认.
PIN码长度6-8位,可以为纯数字、纯字母或数字与字母组合三种形式.
密码不能为相同、顺序、逆序且至少要包含三个不同字符.
签名定义:-(NSInteger)sign:(NSString*)SNwithSignData:(NSString*)datawithDecKey:(NSString*)decKeywithPIN:(NSString*)PINsignAlg:(NSInteger)signAlghashAlg:(NSInteger)hashAlgwithSignRes:(NSString**)signRes;功能:通过指定的密钥对类型和Hash算法签名.
参数:SN[IN]蓝牙KEY的序列号.
data[IN]签名的原文.
decKey[IN]PIN码的解密密钥(传入为空或长度为0时,密码按明文处理).
PIN[IN]蓝牙KEY的PIN码.
signAlg[IN]signAlg签名的密钥对类型(RSA,SM2等).
hashAlg[IN]签名的hash算法(MD5,SHA-1,SHA-256,SHA384,SHA512等).
signRes[OUT]签名结果,该签名结果为attached的PKCS7结构的BASE64编码后数据.
返回值:返回值0表示成功,其他值表示失败.
说明:当为交易数据签名时该函数会通过应用提供的回调函数展示界面,提示用户按键确认.
断开设备定义:-(void)disConnect;功能:断开手机网银APP与蓝牙KEY的连接.
参数:无.
返回值:无.
驱动程序Delegate蓝牙KEY驱动程序需要在执行修改PIN码,签名等过程中需要与上层应用进行交互,提示用户按键操作,实现以下委托方法的调用.
应用程序负责委托方法的具体实现.
/**蓝牙KEY的驱动程序在执行修改PIN码,签名等过程中的委托协议*/@protocolNXYKeyDriverDelegate@optional/*key设备修改PIN码按键提示tryNum回调接口传出pin码重试次数*/-(void)keyModifyPINNeedConfirm:(NSInteger)tryNum;/*用户已经取消确认*/-(void)keyEndModifyPIN;/*签名过程中,提示用户对签名信息进行核对的事件*tryNum回调接口传出pin码重试次数*/-(void)keySignNeedConfirm:(NSInteger)tryNum;/*用户已经取消确认*/-(void)keyEndSignConfirm;@end蓝牙断开监听上层APP应用会监听设备的蓝牙连接状态,通过界面展示给客户.
蓝牙断开时,SDK通过发送通知给上层APP,APP中监听的页面注册该通知,实现蓝牙断开的处理.
通知定义如下:#defineDisConnectNotification@"disConnectNotification"Android平台集成方式厂商接口规范开发接口,最终提交一个独立的jar文件,jar包文件命名规则为NXYBank_XX,so库文件名字为libNXYBank_XX(其中XX为字符厂商缩写).
厂商需要确保测试客户端在只加载jar包的情况下进行验证,即jar包实现为可调用接口函数.
每个厂商需要在提供的jar包中继承并实现一个接口类IUKeyInterface,IUKeyInterface的具体定义详见2.
2.
2节.
类命名规则为:NXYBankBT_XX(其中XX为字符厂商缩写,长度根据厂商缩写而定.
),package名称为com.
nxybank.
device.
key厂商打包Jar包时,不能包含接口文件IUKeyInterface.
手机银行调用蓝牙USBKey的接口,调用方式采用普通静态加载方式.
接口定义厂商的jar包中要实现IUKeyInterface类packagecn.
com.
xx;importandroid.
content.
Context;publicinterfaceIUKeyInterface{//非对称算法定义publicstaticfinalintRSA=0x00000001;publicstaticfinalintSM2=0x00000002;//HASH算法定义publicstaticfinalintMD5=0x00000001;publicstaticfinalintSHA1=0x00000002;publicstaticfinalintSHA256=0x00000003;publicstaticfinalintSHA384=0x00000004;publicstaticfinalintSHA512=0x00000005;publicstaticfinalintSM3=0x00000006;publicinterfaceOnSafeCallback{/***@Description执行结果回调函数*@paramstateCode错误码*@paramresult回调返回数据***/voidonResult(intstateCode,Tresult);}//连接接口publicvoidconnect(Contextcontext,StringSN,inttimeoutSeconds,OnSafeCallbackcallback)//连接情况下获取蓝牙keySNpublicvoidgetSn(Contextcontext,OnSafeCallbackcallback)//获取PIN码剩余次数publicvoidgetPinRetryTImes(Contextcontext,StringSN,OnSafeCallbackcallback)//获取证书publicvoidgetCert(Contextcontext,StringSN,intcertType,OnSafeCallbackcallback)//获取证书起止时间publicvoidgetCertTime(Contextcontext,StringSN,intCertType,OnSafeCallbackcallback)//获取证书CNpublicvoidgetCertCN(Contextcontext,StringSN,intCertType,OnSafeCallbackcallback)//修改pinpublicvoidmodifyPIN(Contextcontext,StringSN,StringdecKey,Stringoldpin,Stringnewpin,OnSafeCallbackcallback)//签名publicvoidsign(Contextcontext,StringSN,StringsignData,StringdecKey,Stringpin,intsignAlg,inthashAlg,OnSafeCallbackcallback);//断开连接publicvoiddisConnect();publicabstractNxyErrorCodes{//错误码定义publicstaticfinalintNXY_SUCCESS=0x00000000;//操作成功publicstaticfinalintNXY_OPERATION_FAILED=0x00000001;//操作失败publicstaticfinalintNXY_NO_DEVICE=0x00000002;//设备未连接publicstaticfinalintNXY_DEVICE_BUSY=0x00000003;//设备忙publicstaticfinalintNXY_INVALID_PARAMETER=0x00000004;//参数错误publicstaticfinalintNXY_PASSWORD_INVALID=0x00000005;//密码错误publicstaticfinalintNXY_USER_CANCEL=0x00000006;//用户取消操作publicstaticfinalintNXY_OPERATION_TIMEOUT=0x00000007;//操作超时publicstaticfinalintNXY_NO_CERT=0x00000008;//没有证书publicstaticfinalintNXY_CERT_INVALID=0x00000009;//证书格式不正确publicstaticfinalintNXY_UNKNOW_ERROR=0x0000000A;//未知错误publicstaticfinalintNXY_PIN_LOCK=0x0000000B;//PIN码锁定publicstaticfinalintNXY_OPERATION_INTERRUPT=0x0000000C;//操作被打断(如来电等)publicstaticfinalintNXY_COMM_FAILED=0x0000000D;//通讯错误publicstaticfinalintNXY_ENERGY_LOW=0x0000000E;//设备电量不足,不能进行通讯publicstaticfinalintNXY_BLUETOOTH_DISABLE=0x0000000F;//蓝牙未的打开publicstaticfinalintNXY_DEV_WITHOUT_BLE=0x00000010;//不支持蓝牙blepublicstaticfinalintNXY_PRESS_KEY=0x00000011;//请按键publicstaticfinalintNXY_DEFAULT_PIN=0x00000012;//PIN码为默认PINpublicstaticfinalintNXY_CONNECT_TIMEOUT=0x00000013;//设备连接超时publicstaticfinalintNXY_KEY_DISCONNECT=0x00000014;//设备连接断开publicstaticfinalintNXY_PIN_INVALID_LENGTH=0x00000015;//PIN码成长度错误publicstaticfinalintNXY_PIN_TOO_SIMPLE=0x00000016;//PIN码过于简单publicstaticfinalintNXY_PIN_SAME=0x00000017;//新旧密码相同publicstaticfinalintNXY_SN_NOT_MATCHE=0x00000018;//序列号与设备不匹配}}Android端接口功能和iOS端相同,"连接设备"、"获取设备SN"、"获取PIN码剩余次数"、"获取证书"、"获取证书起止时间"、"获取证书CN"、"修改口令"、"签名"、"断开设备",具体的接口定义如下:连接设备定义:publicvoidconnect(Contextcontext,StringSN,inttimeoutSeconds,OnSafeCallbackcallback)功能:连接蓝牙KEY.
参数:context[IN]应用程序上下文句柄.
SN[IN]蓝牙KEY的序列号.
timeoutSeconds[IN]连接超时时间(小于等于0时默认20s超时).
callback[IN]回调函数,可通过回调提示设备断开.
说明:错误码通过回调返回.
连接情况下获取SN定义:publicvoidgetSN(Contextcontext,OnSafeCallbackcallback)功能:连接情况下,获取蓝牙key的SN参数:context[IN]应用程序上下文句柄.
callback[IN]回调函数,可通过回调提示按键说明:错误码通过回调返回.
获取PIN码剩余次数定义:publicvoidgetPinRetryTImes(Contextcontext,StringSN,OnSafeCallbackcallback)功能:通过序列号获取密码剩余次数参数:context[IN]应用程序上下文句柄.
SN[IN]蓝牙KEY的序列号.
callback[IN]回调函数,可通过回调提示按键.
说明:当获取密码剩余次数成功时,通过回调返回密码剩余次数,其它情况通过回调返回错误码获取证书定义:publicvoidgetCert(Contextcontext,StringSN,intCertType,OnSafeCallbackcallback)功能:通过序列号获取证证书.
参数:context[IN]应用程序上下文句柄.
SN[IN]蓝牙KEY的序列号.
certType[IN]查看的证书类型,1为rsa签名证书,2为sm2签名证书.
callback[IN]回调函数,可通过回调提示按键说明:当读取证书内容成功时,通过回调返回证书内容的Base64编码字符串;错误码通过回调返回.
该函数为读取蓝牙KEY中证书内容所使用,读取蓝牙KEY中证书之前需进行序列号是否正确的检查,参数SN即是用来进行序列号检查的.
序列号需实时从蓝牙型UKey内取得,厂商接口不得缓存序列号.
序列号检查不正确时,不予进行读取证书操作.

获取证书起止时间定义:publicvoidgetCertTime(Contextcontext,StringSN,intCertType,OnSafeCallbackcallback)功能:通过序列号获取证书起止时间.
参数:context[IN]应用程序上下文句柄.
SN[IN]蓝牙KEY的序列号.
certType[IN]查看的证书类型,1为rsa签名证书,2为sm2签名证书.
callback[IN]回调函数,可通过回调提示按键.
说明:当读取证书起止时间成功时,通过回调返回证书起止时间,格式为"XXXX-XX-XX:XXXX-XX-XX",其它情况错误码通过回调返回获取证书CN定义:publicvoidgetCertCN(Contextcontext,StringSN,intCertType,OnSafeCallbackcallback)功能:通过序列号获取证书CN参数:context[IN]应用程序上下文句柄.
SN[IN]蓝牙KEY的序列号.
certType[IN]查看的证书类型,1为rsa签名证书,2为sm2签名证书.
callback[IN]回调函数,可通过回调提示按键.
说明:当读取证书CN成功时,通过回调返回证书CN,其它情况错误码通过回调返回,格式为"证书颁发者CN-证书拥有者CN"修改口令定义:publicvoidmodifyPIN(Contextcontext,StringSN,StringdecKey,Stringold,Stringold,Stringnew,OnSafeCallbackcallback)功能:修改蓝牙KEY的PIN码.
参数:context[IN]应用程序上下文句柄.
SN[IN]蓝牙KEY的序列号.
decKey[IN]解密PIN码的对称密钥(传入为空或长度为0时,密码按明文处理).
old[IN]蓝牙KEY旧PIN码.
new[IN]蓝牙KEY的新PIN码.
callback[IN]回调函数,可通过回调获取PIN的剩余次数,以及是否需要按键.
说明:修改密码成功时通过回调返回值NXY_SUCCESS表示成功,其它情况错误码通过回调返回.
该函数会通过应用提供的回调函数展示界面,提示用户按键确认.
PIN码长度6-8位,可以为纯数字、纯字母或数字与字母组合三种形式.
密码不能为相同、顺序、逆序且至少要包含三个不同字符.
签名定义:publicvoidsign(Contextcontext,StringSN,StringsignData,StringdecKey,Stringpin,BockeyAlgorithmsignAlg,keyAlgorithmhashAlg,OnSafeCallbackcallback)功能:通过指定的密钥对类型和Hash算法签名.
参数:context[IN]应用程序上下文句柄.
SN[IN]蓝牙KEY的序列号.
signData[IN]签名的原文.
decKey[IN]解密PIN码的对称密钥(传入为空或长度为0时,密码按明文处理).
pin[IN]蓝牙KEY的PIN码.
signAlg[IN]signAlg签名的密钥对类型(RSA,SM2等).
hashAlg[IN]签名的hash算法(SHA-1,SHA-256、SHA512等).
callback[IN]回调函数,可通过回调提示按键.
说明:成功通过回调返回签名结果,该签名结果为attached的PKCS7结构的BASE64编码后数据,否则通过回调返回错误码,当为交易数据签名时该函数会通过应用提供的回调函数展示界面,提示用户按键确认.

断开设备定义:publicvoiddisConnect();功能:断开手机网银APP与蓝牙KEY的连接.
参数:无.
返回值:无.
回调函数OnSafeCallbackpublicinterfaceOnSafeCallback{/***@Description执行结果回调函数*@paramstateCode状态码*@paramresult回调数据,可以是pin码的可重试次数***/voidonResult(interrorCode,Tresult);}说明:回调接口时用于在接口的调用过程中app与接口之前的交互工作,比如在签名过程中需要用户进行按键确认,这时候就需要利用回调通知app提示用户进行按键.
stateCode定义NXY_PRESS_KEY按键确认提示,这个状态值可根据实际需求进行扩充.
参数定义错误码列表错误码错误码变量名错误码含义0x00000000NXY_SUCCESS操作成功0x00000001NXY_OPERATION_FAILED操作失败0x00000002NXY_NO_DEVICE设备未连接0x00000003NXY_DEVICE_BUSY设备忙0x00000004NXY_INVALID_PARAMETER参数错误0x00000005NXY_PASSWORD_INVALID密码错误0x00000006NXY_USER_CANCEL用户取消操作0x00000007NXY_OPERATION_TIMEOUT操作超时0x00000008NXY_NO_CERT没有证书0x00000009NXY_CERT_INVALID证书格式不正确0x0000000ANXY_UNKNOW_ERROR未知错误0x0000000BNXY_PIN_LOCKPIN码锁定0x0000000CNXY_OPERATION_INTERRUPT操作被打断(如来电等)0x0000000DNXY_COMM_FAILED通讯错误0x0000000ENXY_ENERGY_LOW设备电量不足,不能进行通讯0x0000000FNXY_BLUETOOTH_DISABLE蓝牙未打开0x00000010NXY_DEV_WITHOUT_BLE不支持蓝牙ble0x00000011NXY_PRESS_KEY按键确认0x00000012NXY_DEFAULT_PINPIN码为默认PIN0x00000013NXY_CONNECT_TIMEOUT设备连接超时0x00000014NXY_KEY_DISCONNECT设备连接断开0x00000015NXY_PIN_INVALID_LENGTHPIN码成长度错误0x00000016NXY_PIN_TOO_SIMPLEPIN码过于简单0x00000017NXY_PIN_SAME新旧密码相同0x00000018NXY_SN_NOT_MATCH序列号与设备不匹配非对称算法常量常量常量名常量含义0x01RSARSA类型证书0x02SM2SM2类型证书哈希算法常量常量常量名常量含义0x01MD5MD5哈希算法0x02SHA1SHA1哈希算法0x03SHA256SHA256哈希算法0x04SHA384SHA384哈希算法0x05SHA512SHA512哈希算法0x06SM3SM3哈希算法USBKey序列号规范序列号的编码规则农信银共享网银系统为每个USBKey统一分配唯一的序列号.
序列号由15位数字组成,具体由厂商编号+产品类型编号+校验位+顺序号组成.
各部分的组成规则如下:XX:2位,厂商编号,具体各入围厂商的编号参见厂商编号表.
XX:2位,产品类型编号,具体产品类型编号参见产品类型编号表.
X:1位,校验位,校验位具体生成规则参见校验位说明.
XX:2位,成员行编号,具体成员行编号参见成员行编号表.
XXXXXXXX:8位,顺序号,生产前需向农信银申请号段.
要求:15位序列号写在key里,不可更改;提供ActiveX控件,控件中提供读取USBKey的序列号的方法;厂商编号表见正式入围后相关文件.
产品类型编号表见正式入围后相关文件.
成员行编号见正式入围后下发的成员行编号列表.
校验位说明农信银共享网银USBKey的序列号的校验位使用2121校验算法.
以下是2121校验算法的一个举例:设令牌号为:6101X12345678,其中X是需计算的校验位.
首先为每一位计算权重,每一位的数字乘以因子即得权重,如下表:6101X12345678因子2121X21212121权重12101X2264106148权重和:12+1+0+1+2+2+6+4+10+6+14+8=66校验位:10-(66mod10)=4(若结果为10,则校验位为0)USBKey软件规范USBKey安装包安装包内容在一个软件安装包内包含CSP、PKCS#11库、设备监控程序、用户数字证书管理工具.
软件安装包能够支持32位和64位Windows操作系统,支持Linux和MacOSX系统.
Windows32位和64位系统提供一个安装包,并写入USBKey自带的Flash中,Flash存储空间至少.
Linux下各发行版本提供的安装包格式:(单独提供)Fedora、OpenSUSE:rpm格式安装包;Debian、Ubuntu:deb格式安装包;其余发行版本:tar.
gz格式安装源文件压缩包.
MacOS下提供的安装包格式:pkg格式安装包(单独提供)安装包语言支持Windows安装包支持简体中文、繁体中文和英文;Linux和MacOS安装包支持简体中文和英文;安装过程根据用户系统当前语言自适应安装相应语言的版本.
用户工具功能1.
系统设备信息系统设备信息功能可以检测USBKey的当前状态,如:该USBKey连接是否成功、是否被锁等.
当USBKey使用过程中出现问题时,可先使用该检测功能自检,初步判断问题所在.
2.
修改USBKey口令修改口令.
3.
显示证书查看USBKey内存储的安全证书的信息.
4.
注册证书使用USBKey安全证书时,将USBKey插入计算机,USBKey内的安全证书会自动注册,无须人工操作.
如果自动注册不成功,可以使用这个功能完成手动注册.
5.
使用温馨提示此页面提供部分使用USBKey进行操作和管理的关键提示内容,具体内容如下:为确保您的资金安全,便捷地使用USBKey进行网上银行各项功能操作,请妥善保管USBKey并牢记USBKey口令;在正确使用USBKey之前,请先按照如下提示设置浏览器:将网上交易站点设置为可信任站点;关闭浏览器弹出窗口拦截功能;启用"ActiveX控件和插件"下所有项目;设置完成后,请重新启动浏览器;在使用USBKey过程中,若口令连续输入错误6次,则USBKey将被锁定,暂时不能使用,需到银行柜台办理初始化相关事宜.
若口令未超过6次错误输入时,期间只要有一次输入正确的口令,则USBKey中的错误输入计数器清零,仍恢复为允许6次错误输入的状态;在您退出网上银行系统后,请务必从计算机移除USBKey并妥善保管.
6.
刷新申请证书以后,如果证书没有在工具中显示出来,可以点击"刷新"按钮.
7.
帮助打开Chm文件的帮助文档.
注意:用户工具涉及的图标和图片由成员行提供,并需要成员行确认.
USBKey软件功能证书注册:要求USBKey插入计算机时,将该USBKey内所有用户证书自动注册到IE中,USBKey从计算机上拔出时,将该USBKey内所有的用户证书自动从IE中删除.
软件提示:用户拔出USBKey时,管理软件提示用户关闭网银应用.
插入USBKey弹出农信网页每次插入USBKey都会在浏览器中弹出所属成员行的网银主页面(具体主页面URL可以咨询各成员行).
USBKeyPIN码使用要求PIN码格式要求:PIN码由6~8数字或字母组成,区分大小写.
PIN码输入要求:PIN码输入时候默认通过计算机键盘输入,用户可以选择软键盘通过软键盘的方式输入.
每次交易数据签名都要求输入PIN码,对于SSL登录、证书下载、更新过程中的非交易数据签名在输入一次PIN后就不用输入PIN码.

初始PIN码:初始密码为123456,第一次使用提示改密码,并强制用户修改,否则不能正常使用.
不能正常使用范围包括:交易数据签名、SSL登录、证书下载操作.
PIN码的锁死:要求连续6次输错PIN码,USBKey必须自动锁死,必须通过重新初始化USBKey才能继续使用,否则即使输入正确的口令也不能使用证书.
在6次尝试输入PIN码过程中,任意一次输入正确,密码错误计数器自动清0.
USBKey解锁:要求USBKey芯片COS中不提供解锁指令,即不支持硬件解锁.
USBKey被锁定后只能重新初始化后方可使用.
错误PIN码提示:如果用户输入错误的PIN码,要求提示用户剩余的可尝试次数,只剩最后一次机会时,要给予用户特别的提示信息.
每次修改pin需要用户按键确认.
验证pin在剩余2次时,需要用户按键确认才能再次校验pin.
安装程序要求各厂商各种类型及型号的USBKey管理工具安装步骤如下:首先插Key通过设备自带的Autorun自动运行安装,如果自动运行不成功,则采取手动安装方式,点击USBKey中内置存储的*.
exe可执行文件后,进入安装向导,提示安装;点击安装向导中的"下一步"按钮,提示选择安装位置;各厂家的默认安装位置为c:\programfiles\NXY_XX_YY_03\,其中厂商英文名参见厂商编号表.
其中XX为成员行编号,YY为厂商编号,03代表二代液晶USBKey.
点击安装向导中的"安装"按钮,进入正在安装程序页面;安装完成后,自动进入安装完成确认页面,弹出提示对话框,提示初次安装管理工具,需设定/修改USBKey的口令(口令要求强制修改,如果不修改则交易数据签名、SSL登录、证书申请功能不能使用.
);修改/不修改口令后,点击"完成"按钮,完成安装.
安装程序名称规范请各厂商按此规则命名安装文件:厂商具体名称厂商名YY__XX_USER_Z.
Z.
Z.
exe,YY__XX_USER_Z.
Z.
Z.
iso……注:Z.
Z.
Z为各厂家安装包的版本号,如:例如YY__XX_USER_Z.
Z.
Z.
exe,XX为各成员行编号,YY为厂商编号.
安装包快捷方式要求开始菜单程序组分两级,第一级为"XX农村信用社/农村商业银行二代Key用户工具(公司名)"(英文:RCCofXX-USBKeyUserTools(XX)),第二级程序快捷方式,名称依次为:XX农村信用社/农村商业银行二代USBKey用户工具(公司名)/RCCofXX-USBKeyUserTools(XX)XX农村信用社/农村商业银行二代Key用户工具(公司名)使用帮助/RCCofXX-USBKeyUserToolHelp卸载XX农村信用社/农村商业银行二代Key用户工具(公司名)/UninstallRCCofXX-USBKeyUserTools(XX)操作权限Windows操作系统,支持在管理员账户和受限账户两种权限下使用.
多操作系统、多浏览器支持以下所列操作系统必须全部支持,并能支持简体中文、繁体中文和英文三种语言的版本.
1.
操作系统支持Windows平台Windows2000平台,包括如下发行版本:Professional、Server、AdvanceServer、DatacenterServerWindowsXP平台,包括如下发行版本:HomeEdition、ProfessionalEdition、StarterEditionWindowsServer2003平台,包括如下发行版本:WebEdition、StandardEdition、EnterpriseEdition、DatacenterEditionWindowsVista平台(32位和64位系统),包括如下发行版本:家庭版Starter、HomeBasic、HomePremium、Ultimate企业版Ultimate、Business、EnterpriseWindows7平台(32位和64位系统),包括如下发行版本:Starter、HomeBasic、HomePremium、Professional、Enterprise、UltimateWindows8平台Linux平台(32位和64位系统)基于Kernel2.
6内核的主流发行版本,如Debian、Fedora、Opensuse、UbuntuMacOSX平台(32位和64位系统)MacOSX10.
5,10.
62.
浏览器支持SSL应用:IE6.
0及以上版本(windows平台)Firefox3.
6及以上版本(windows,linux,MacOSX平台)Chrome(windows平台)Safari(MacOSX平台)国密算法扩展接口农信银共享网银USBKey需要支持SM2、SM3和SM4国密算法,通过扩展CSP和PKCS#11加密接口和SKF接口对国密算法进行支持.
获取编号和初始化控件接口控件名称为:NXYUKEY_.
DLL,该控件由农信实现,不需要厂家实现.
由各厂商加入到自己的安装包中,安装时由各厂商的安装程序拷贝至windows\system32目录下,并完成注册.
卸载时请不要卸载此文件.

1.
GetManufactureID功能:获取厂商编号参数:pdwID[OUT]厂商编号返回值:成功返回厂商编号,其他错误码说明:无定义:HRESULTGetManufactureID([out,retval]unsignedlong*pdwID);2.
GetSN功能:获取USBKey编号参数:strBankNu[in]成员行编号strSN[OUT]USBKey编号返回值:成功返回USBKey序列号,失败返回""说明:无定义:HRESULTGetSN([in]BSTR*strBankNu,[out,retval]BSTR*strSN);3.
InitUsbKey功能:初始化USBKey,是初始化USBKEY的PIN码和清空现有客户证书(不包括证书链),初始化USERPIN为"123456"参数:strBankNu[in]成员行编号pdwRet[OUT]返回值返回值:0成功,其他错误码说明:无定义:HRESULTInitUsbKey([in]BSTR*strBankNu,[out,retval]unsignedlong*pdwRet);获取编号和初始化动态库接口此接口为USBKEY厂商实现,出现错误时弹出错误提示.
同时只支持1支USBKey.
接口定义1.
GetSN功能:获取USBKey编号参数:szSN[OUT]USBKey编号的缓冲区,可以为空.
pdwSNLen[IN/OUT]当szSN为空时,此参数为输出参数,表示需要的USBKey编号缓冲区长返回值:0成功,其他错误码说明:出错由DLL弹出消息提示.
定义:HRESULTGetSN(char*szSN,DWORD*pdwSNLen)2.
InitUsbKey功能:实现USBKey的初始化,清除USBKey内内容,初始化USERPIN为"123456"参数:无返回值:0成功,其他错误码说明:无定义:HRESULTGetSN(char*szSN,DWORD*pdwSNLen)厂商设备鉴别见正式入围后相关文件.
编号厂商VID/PID……接口名称厂商DLL名称厂商名NXYUSB_XX_YY_.
DLL……注:XX为各成员行编号,YY为厂商编号.
错误提示序号错误提示1未插入USBKey!
2只允许插入1支USBKey!
3初始化失败!
4获取USBKey编号失败!
5未知错误,错误码:xxxxx初始化USBKey流程1.
确认初始化用户USBKey,调用InitUsbKey()接口;2.
通过软件的方式提示操作员按键确认,如果操作员没有按键确认,USBKey需要在超过一定时间后自动取消初始化操作并返回错误码;3.
操作员按USBKey上的确认键进行初始化确认,完成初始化操作;USBKEY驱动版本升级规范为了使客户端能够自动从服务器下载USBKEY新版本驱动,升级工具需要从客户端的系统中获取到已经安装的USBKEY驱动版本号信息;同时,升级工具从服务器获取最新的版本号信息,将信息提交给厂家提供的版本比较接口,根据返回值判断是否需要升级驱动.
若未安装USBKEY驱动,厂家的接口应当能够提供适当的信息,使升级工具可以自动下载并安装该驱动.

当升级工具调用版本比较的接口,发现需要升级时,会把USBKEY的驱动安装包下载到客户端,并运行该安装包.
各个厂家的USBKEY驱动安装包需要处理好低版本驱动的卸载与高版本驱动的安装流程.

Friendhosting 黑色星期五 VDS/VPS可享四五折优惠促销

Friendhosting商家在前面的篇幅中也又陆续介绍到,是一家保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌克兰和美国洛杉矶等。这不近期黑色星期五活动,商家也有推出了黑五优惠,VPS全场一次性45折,虚拟主机4折,全球多机房可选,老用户续费可获9折加送1个月使用时长,VDS折后最低仅€14.53/年,有需要的可以看看。Friendhos...

Friendhosting,美国迈阿密机房新上线,全场45折特价优惠,100Mbps带宽不限流量,美国/荷兰/波兰/乌兰克/瑞士等可选,7.18欧元/半年

近日Friendhosting发布了最新的消息,新上线了美国迈阿密的云产品,之前的夏季优惠活动还在进行中,全场一次性45折优惠,最高可购买半年,超过半年优惠力度就不高了,Friendhosting商家的优势就是100Mbps带宽不限流量,有需要的朋友可以尝试一下。Friendhosting怎么样?Friendhosting服务器好不好?Friendhosting服务器值不值得购买?Friendho...

vdsina:俄罗斯VPS(datapro),6卢布/天,1G内存/1核(AMD EPYC 7742)/5gNVMe/10T流量

今天获得消息,vdsina上了AMD EPYC系列的VDS,性价比比较高,站长弄了一个,盲猜CPU是AMD EPYC 7B12(经过咨询,详细CPU型号是“EPYC 7742”)。vdsina,俄罗斯公司,2014年开始运作至今,在售卖多类型VPS和独立服务器,可供选择的有俄罗斯莫斯科datapro和荷兰Serverius数据中心。付款比较麻烦:信用卡、webmoney、比特币,不支持PayPal...

缓存文件写入失败为你推荐
spgnux思普操作系统怎么样http与https的区别https://和http://区别宕机何谓宕机?ios系统ios是什么意思 ios系统是什么安全漏洞web安全漏洞有哪些域名库求解:请将您的域名:别名(CNAME)主机解析到idc1.xiaodoutao.com南北互通上海南北高架和中环互通吗?关闭qq相册图标如何关闭QQ相册的图标请客网有没有请客吃饭类的网站呢?哪个比较专业呢?有没有官方的呢?优锁手术后为什么还在不停的流黄色液体?
免费网站空间 国外vps主机 cn域名备案 中国万网虚拟主机 阿里云搜索 awardspace 最好看的qq空间 个人域名 国外免费asp空间 昆明蜗牛家 中国电信网络测速 石家庄服务器托管 西安主机 免费asp空间申请 博客域名 闪讯网 七十九刀 restart hosting 大硬盘补丁 更多