证书缓存文件写入失败

缓存文件写入失败  时间: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驱动安装包需要处理好低版本驱动的卸载与高版本驱动的安装流程.

Digital-VM80美元新加坡和日本独立服务器

Digital-VM商家的暑期活动促销,这个商家提供有多个数据中心独立服务器、VPS主机产品。最低配置月付80美元,支持带宽、流量和IP的自定义配置。Digital-VM,是2019年新成立的商家,主要从事日本东京、新加坡、美国洛杉矶、荷兰阿姆斯特丹、西班牙马德里、挪威奥斯陆、丹麦哥本哈根数据中心的KVM架构VPS产品销售,分为大硬盘型(1Gbps带宽端口、分配较大的硬盘)和大带宽型(10Gbps...

TmhHost暑假活动:高端线路VPS季付8折优惠,可选洛杉矶CN2 GIA/日本软银/香港三网CN2 GIA/韩国双向CN2等

tmhhost怎么样?tmhhost正在搞暑假大促销活动,全部是高端线路VPS,现在直接季付8折优惠,活动截止时间是8月31日。可选机房及线路有美国洛杉矶cn2 gia+200G高防、洛杉矶三网CN2 GIA、洛杉矶CERA机房CN2 GIA,日本软银(100M带宽)、香港BGP直连200M带宽、香港三网CN2 GIA、韩国双向CN2。点击进入:tmhhost官方网站地址tmhhost优惠码:Tm...

UCloud:美国云服务器,洛杉矶节点大促,低至7元起/1个月

ucloud美国云服务器怎么样?ucloud是国内知名云计算品牌服务商家,目前推出全球多地机房的海外云服务器。UCloud主打的优势是海外多机房,目前正在进行的2021全球大促活动参与促销的云服务器机房就多达18个。UCloud新一代旗舰产品快杰云服务器已上线洛杉矶节点,覆盖北美和亚太地区,火热促销中, 首月低至7元,轻松体验具备优秀性能与极高性价比的快杰云服务器。点击进入:ucloud美国洛杉矶...

缓存文件写入失败为你推荐
伪装微信地理位置微信朋友圈怎么使用伪装地理位置绵阳电信绵阳电信宽带资费怎么样免费装扮qq空间要怎么免费装扮QQ空间!彩信中心短信中心的号码是多少xp系统停止服务xp系统停止服务怎么办xp系统停止服务XP系统停止服务后电脑怎么办?lockdowndios8.1能用gpp3to2吗?型号A1429什么是云平台谁能简单说一下什么是云平台啊?什么是云平台什么是云平台管理软件,一个云平台软件应该具有哪些基本功能虚拟机软件下载谁有虚拟机软件的网址要好用的
域名申请 org域名 qq域名邮箱 广州主机租用 冰山互联 便宜域名 wdcp unsplash evssl win8升级win10正式版 国外免费空间 租空间 蜗牛魔方 softbank邮箱 免费全能主机 nnt nano qq部落24-5 sockscap怎么用 usb大容量存储设备 更多