Constructor
new CosFm2(cos7816)
构造CosFm2操作对象
Name | Type | Description |
---|---|---|
cos7816 | Cos7816 | Cos7816操作对象 |
- Source
Members
(static, readonly) FileType :number
FMCOS文件类型
- number
Name | Type | Description |
---|---|---|
DF | number | 目录空间文件 |
KEY | number | 安全密钥文件 |
PBOC | number | PBOC钱包文件 |
BIN | number | 普通数据文件 |
FIX | number | 定长记录文件 |
LOOP | number | 循环记录文件 |
TLV | number | 变长记录文件 |
- Source
(static, readonly) KeyType :number
FMCOS密钥类型
- number
Name | Type | Description |
---|---|---|
NEW | number | 添加密钥专用 |
CCK | number | 卡片主控密钥 |
ACK | number | 应用主控密钥 |
EAK | number | 外部认证密钥 |
AMK | number | 应用维护密钥 |
IAK_ENC | number | 内部加密密钥 |
IAK_DEC | number | 内部解密密钥 |
IAK_MAC | number | 内部校验密钥 |
IAK_TAC | number | 交易认证密钥 |
TK | number | 交易认证密钥 |
PUK | number | 口令解锁密钥 |
RPK | number | 重置口令密钥 |
PIN | number | 口令认证密钥 |
UOK | number | 修改透支密钥 |
UK | number | 圈提减款密钥 |
PK | number | 消费取现密钥 |
LK | number | 圈存加款密钥 |
- Source
Methods
(async) addPin(id, pin, use, pow, err) → {Promise}
添加用户PIN字符口令
Name | Type | Description |
---|---|---|
id | number | 密钥标识ID 注意0x00主口令支持解锁重置错误计数 |
pin | string | 新添加的字符口令 不能小于3和超过12 |
use | Power | 使用所需权值 参考Power方法生成 |
pow | number | 提升的权值 范围0~15 |
err | KeyErr | 错误计数 参考KeyErr方法生成 |
- Source
err/msg + retval
- Type:
- Promise
(async) createADF(aid, fid, size, create, erase, sfi) → {Promise}
创建ADF应用目录文件
Name | Type | Default | Description |
---|---|---|---|
aid | string | 十六进制字符串数据 注意如果为空字符则为匿名目录 | |
fid | number | 文件标识符 | |
size | number | 目录空间大小 | |
create | Power | 创建文件所需权限 参考Power方法生成 | |
erase | Power | 擦除目录所需权限 参考Power方法生成 | |
sfi | number | 21 | 设定FCI-TMP数据关联BIN短文件标识 默认0x15 |
- Source
err/msg + retval
- Type:
- Promise
(async) createBin(fid, size, read, write, attr) → {Promise}
创建普通数据文件
Name | Type | Description |
---|---|---|
fid | number | 文件标识符 |
size | number | 数据空间大小 |
read | Power | 读取所需权值 参考Power方法生成 |
write | Power | 写入所需权值 参考Power方法生成 |
attr | FileAttr | 文件安全属性 参考FileAttr方法生成 |
- Source
err/msg + retval
- Type:
- Promise
(async) createDDF(aid, fid, size, create, erase, sfi) → {Promise}
创建DDF目录空间文件
Name | Type | Default | Description |
---|---|---|---|
aid | string | 十六进制字符串数据 注意如果为空字符则为匿名目录 | |
fid | number | 文件标识符 | |
size | number | 目录空间大小 | |
create | Power | 创建文件所需权限 参考Power方法生成 | |
erase | Power | 擦除目录所需权限 参考Power方法生成 | |
sfi | number | 1 | 应用AID记录入口短文件SFI标识ID 默认0x01 |
- Source
err/msg + retval
- Type:
- Promise
(async) createFix(fid, logMax, logLen, read, write, attr) → {Promise}
创建定长记录文件
Name | Type | Description |
---|---|---|
fid | number | 文件标识符 |
logMax | number | 记录最大数量 |
logLen | number | 记录固定长度 |
read | Power | 读取所需权值 参考Power方法生成 |
write | Power | 写入所需权值 参考Power方法生成 |
attr | FileAttr | 文件安全属性 参考FileAttr方法生成 |
- Source
err/msg + retval
- Type:
- Promise
(async) createKey(size, add, fid) → {Promise}
创建安全密钥文件
Name | Type | Default | Description |
---|---|---|---|
size | number | 密钥空间大小 参考密钥数量*23 | |
add | Power | 添加密钥所需权值 参考Power方法生成 | |
fid | number | 0 | 文件标识符 默认密钥文件id必须是0 |
- Source
err/msg + retval
- Type:
- Promise
(async) createLoop(fid, logMax, logLen, read, write, attr) → {Promise}
创建循环记录文件
Name | Type | Description |
---|---|---|
fid | number | 文件标识符 |
logMax | number | 记录最大数量 |
logLen | number | 记录固定长度 |
read | Power | 读取所需权值 参考Power方法生成 |
write | Power | 写入所需权值 参考Power方法生成 |
attr | FileAttr | 文件安全属性 参考FileAttr方法生成 |
- Source
err/msg + retval
- Type:
- Promise
(async) createPboc(type, use, sfi) → {Promise}
创建PBOC钱包文件
Name | Type | Default | Description |
---|---|---|---|
type | PurseType | 钱包类型 参考Rokato.CosPboc2.PurseType | |
use | Power | 使用所需权值 参考Power方法生成 | |
sfi | number | 24 | 交易循环记录短文件标识ID 默认0x18 |
- Source
err/msg + retval
- Type:
- Promise
(async) createTlv(fid, size, read, write, attr) → {Promise}
创建变长记录文件
Name | Type | Description |
---|---|---|
fid | number | 文件标识符 |
size | number | 数据空间大小 |
read | Power | 读取所需权值 参考Power方法生成 |
write | Power | 写入所需权值 参考Power方法生成 |
attr | FileAttr | 文件安全属性 参考FileAttr方法生成 |
- Source
err/msg + retval
- Type:
- Promise
(async) eraseDF() → {Promise}
擦除当前目录空间所有数据
- Source
err/msg + retval
- Type:
- Promise
(async) setKeyAdd(oldType, id, attr, key, use, ren, ver, flag, safe) → {Promise}
设置PBOC圈存密钥
Name | Type | Default | Description |
---|---|---|---|
oldType | KeyType | 旧密钥类型 参考KeyType 注意不为NEW则为修改密钥 | |
id | number | 密钥标识ID | |
attr | KeyAttr | 密钥属性选项 参考KeyAttr方法生成 | |
key | KeyData | 新添加或修改的密钥数据对象 参考KeyData方法生成 | |
use | Power | 使用所需权值 参考Power方法生成 | |
ren | Power | 更改所需权值 参考Power方法生成 | |
ver | number | 0 | 定义密钥版本号 可空默认0x00 |
flag | number | 0 | 定义算法标识 可空默认0x00 |
safe | RfSafe | null | 线路安全选项 参考RfSafe方法生成 默认忽略 注意未添加主控密钥时无效 |
- Source
err/msg + retval
- Type:
- Promise
(async) setKeyAuth(oldType, id, attr, key, use, ren, pow, err, safe) → {Promise}
设置外部授权认证密钥
Name | Type | Default | Description |
---|---|---|---|
oldType | KeyType | 旧密钥类型 参考KeyType 注意不为NEW则为修改密钥 | |
id | number | 密钥标识ID 注意0x00为主控密钥可用于后续密钥线路安全添加与修改 | |
attr | KeyAttr | 密钥属性选项 参考KeyAttr方法生成 | |
key | KeyData | 新添加或修改的密钥数据对象 参考KeyData方法生成 | |
use | Power | 使用所需权值 参考Power方法生成 | |
ren | Power | 更改所需权值 参考Power方法生成 | |
pow | number | 提升的权值 范围0~15 | |
err | KeyErr | 错误计数 参考KeyErr方法生成 | |
safe | RfSafe | null | 线路安全选项 参考RfSafe方法生成 默认忽略 注意未添加主控密钥时无效 |
- Source
err/msg + retval
- Type:
- Promise
(async) setKeyDec(oldType, id, attr, key, use, ren, ver, flag, safe) → {Promise}
设置内部解密运算密钥
Name | Type | Default | Description |
---|---|---|---|
oldType | KeyType | 旧密钥类型 参考KeyType 注意不为NEW则为修改密钥 | |
id | number | 密钥标识ID | |
attr | KeyAttr | 密钥属性选项 参考KeyAttr方法生成 | |
key | KeyData | 新添加或修改的密钥数据对象 参考KeyData方法生成 | |
use | Power | 使用所需权值 参考Power方法生成 | |
ren | Power | 更改所需权值 参考Power方法生成 | |
ver | number | 0 | 定义密钥版本号 可空默认0x00 |
flag | number | 0 | 定义算法标识 可空默认0x00 |
safe | RfSafe | null | 线路安全选项 参考RfSafe方法生成 默认忽略 注意未添加主控密钥时无效 |
- Source
err/msg + retval
- Type:
- Promise
(async) setKeyEnc(oldType, id, attr, key, use, ren, ver, flag, safe) → {Promise}
设置内部加密运算密钥
Name | Type | Default | Description |
---|---|---|---|
oldType | KeyType | 旧密钥类型 参考KeyType 注意不为NEW则为修改密钥 | |
id | number | 密钥标识ID | |
attr | KeyAttr | 密钥属性选项 参考KeyAttr方法生成 | |
key | KeyData | 新添加或修改的密钥数据对象 参考KeyData方法生成 | |
use | Power | 使用所需权值 参考Power方法生成 | |
ren | Power | 更改所需权值 参考Power方法生成 | |
ver | number | 0 | 定义密钥版本号 可空默认0x00 |
flag | number | 0 | 定义算法标识 可空默认0x00 |
safe | RfSafe | null | 线路安全选项 参考RfSafe方法生成 默认忽略 注意未添加主控密钥时无效 |
- Source
err/msg + retval
- Type:
- Promise
(async) setKeyMac(oldType, id, attr, key, use, ren, ver, flag, safe) → {Promise}
设置内部校验运算密钥
Name | Type | Default | Description |
---|---|---|---|
oldType | KeyType | 旧密钥类型 参考KeyType 注意不为NEW则为修改密钥 | |
id | number | 密钥标识ID | |
attr | KeyAttr | 密钥属性选项 参考KeyAttr方法生成 | |
key | KeyData | 新添加或修改的密钥数据对象 参考KeyData方法生成 | |
use | Power | 使用所需权值 参考Power方法生成 | |
ren | Power | 更改所需权值 参考Power方法生成 | |
ver | number | 0 | 定义密钥版本号 可空默认0x00 |
flag | number | 0 | 定义算法标识 可空默认0x00 |
safe | RfSafe | null | 线路安全选项 参考RfSafe方法生成 默认忽略 注意未添加主控密钥时无效 |
- Source
err/msg + retval
- Type:
- Promise
(async) setKeyPos(oldType, id, attr, key, use, ren, ver, flag, safe) → {Promise}
设置PBOC消费密钥
Name | Type | Default | Description |
---|---|---|---|
oldType | KeyType | 旧密钥类型 参考KeyType 注意不为NEW则为修改密钥 | |
id | number | 密钥标识ID | |
attr | KeyAttr | 密钥属性选项 参考KeyAttr方法生成 | |
key | KeyData | 新添加或修改的密钥数据对象 参考KeyData方法生成 | |
use | Power | 使用所需权值 参考Power方法生成 | |
ren | Power | 更改所需权值 参考Power方法生成 | |
ver | number | 0 | 定义密钥版本号 可空默认0x00 |
flag | number | 0 | 定义算法标识 可空默认0x00 |
safe | RfSafe | null | 线路安全选项 参考RfSafe方法生成 默认忽略 注意未添加主控密钥时无效 |
- Source
err/msg + retval
- Type:
- Promise
(async) setKeyRen(oldType, id, attr, key, use, ren, ver, flag, safe) → {Promise}
设置PBOC修改透支密钥
Name | Type | Default | Description |
---|---|---|---|
oldType | KeyType | 旧密钥类型 参考KeyType 注意不为NEW则为修改密钥 | |
id | number | 密钥标识ID | |
attr | KeyAttr | 密钥属性选项 参考KeyAttr方法生成 | |
key | KeyData | 新添加或修改的密钥数据对象 参考KeyData方法生成 | |
use | Power | 使用所需权值 参考Power方法生成 | |
ren | Power | 更改所需权值 参考Power方法生成 | |
ver | number | 0 | 定义密钥版本号 可空默认0x00 |
flag | number | 0 | 定义算法标识 可空默认0x00 |
safe | RfSafe | null | 线路安全选项 参考RfSafe方法生成 默认忽略 注意未添加主控密钥时无效 |
- Source
err/msg + retval
- Type:
- Promise
(async) setKeyReset(oldType, id, attr, key, use, ren, err, safe) → {Promise}
设置重置口令密钥
Name | Type | Default | Description |
---|---|---|---|
oldType | KeyType | 旧密钥类型 参考KeyType 注意不为NEW则为修改密钥 | |
id | number | 密钥标识ID | |
attr | KeyAttr | 密钥属性选项 参考KeyAttr方法生成 | |
key | KeyData | 新添加或修改的密钥数据对象 参考KeyData方法生成 | |
use | Power | 使用所需权值 参考Power方法生成 | |
ren | Power | 更改所需权值 参考Power方法生成 | |
err | KeyErr | 错误计数 参考KeyErr方法生成 | |
safe | RfSafe | null | 线路安全选项 参考RfSafe方法生成 默认忽略 注意未添加主控密钥时无效 |
- Source
err/msg + retval
- Type:
- Promise
(async) setKeySafe(oldType, id, attr, key, use, ren, err, safe) → {Promise}
设置文件线路安全密钥
Name | Type | Default | Description |
---|---|---|---|
oldType | KeyType | 旧密钥类型 参考KeyType 注意不为NEW则为修改密钥 | |
id | number | 密钥标识ID | |
attr | KeyAttr | 密钥属性选项 参考KeyAttr方法生成 | |
key | KeyData | 新添加或修改的密钥数据对象 参考KeyData方法生成 | |
use | Power | 使用所需权值 参考Power方法生成 | |
ren | Power | 更改所需权值 参考Power方法生成 | |
err | KeyErr | 错误计数 参考KeyErr方法生成 | |
safe | RfSafe | null | 线路安全选项 参考RfSafe方法生成 默认忽略 注意未添加主控密钥时无效 |
- Source
err/msg + retval
- Type:
- Promise
(async) setKeySub(oldType, id, attr, key, use, ren, ver, flag, safe) → {Promise}
设置PBOC圈提密钥
Name | Type | Default | Description |
---|---|---|---|
oldType | KeyType | 旧密钥类型 参考KeyType 注意不为NEW则为修改密钥 | |
id | number | 密钥标识ID | |
attr | KeyAttr | 密钥属性选项 参考KeyAttr方法生成 | |
key | KeyData | 新添加或修改的密钥数据对象 参考KeyData方法生成 | |
use | Power | 使用所需权值 参考Power方法生成 | |
ren | Power | 更改所需权值 参考Power方法生成 | |
ver | number | 0 | 定义密钥版本号 可空默认0x00 |
flag | number | 0 | 定义算法标识 可空默认0x00 |
safe | RfSafe | null | 线路安全选项 参考RfSafe方法生成 默认忽略 注意未添加主控密钥时无效 |
- Source
err/msg + retval
- Type:
- Promise
(async) setKeyTac(oldType, id, attr, key, use, ren, ver, flag, safe) → {Promise}
设置PBOC交易认证密钥
Name | Type | Default | Description |
---|---|---|---|
oldType | KeyType | 旧密钥类型 参考KeyType 注意不为NEW则为修改密钥 | |
id | number | 密钥标识ID | |
attr | KeyAttr | 密钥属性选项 参考KeyAttr方法生成 | |
key | KeyData | 新添加或修改的密钥数据对象 参考KeyData方法生成 | |
use | Power | 使用所需权值 参考Power方法生成 | |
ren | Power | 更改所需权值 参考Power方法生成 | |
ver | number | 0 | 定义密钥版本号 可空默认0x00 |
flag | number | 0 | 定义算法标识 可空默认0x00 |
safe | RfSafe | null | 线路安全选项 参考RfSafe方法生成 默认忽略 注意未添加主控密钥时无效 |
- Source
err/msg + retval
- Type:
- Promise
(async) setKeyUnlock(oldType, id, attr, key, use, ren, err, safe) → {Promise}
设置解锁口令密钥
Name | Type | Default | Description |
---|---|---|---|
oldType | KeyType | 旧密钥类型 参考KeyType 注意不为NEW则为修改密钥 | |
id | number | 密钥标识ID | |
attr | KeyAttr | 密钥属性选项 参考KeyAttr方法生成 | |
key | KeyData | 新添加或修改的密钥数据对象 参考KeyData方法生成 | |
use | Power | 使用所需权值 参考Power方法生成 | |
ren | Power | 更改所需权值 参考Power方法生成 | |
err | KeyErr | 错误计数 参考KeyErr方法生成 | |
safe | RfSafe | null | 线路安全选项 参考RfSafe方法生成 默认忽略 注意未添加主控密钥时无效 |
- Source
err/msg + retval
- Type:
- Promise
(static) FileAttr(macr, macw, enc, idr, idw)
生成FileAttr文件安全属性对象参数
Name | Type | Default | Description |
---|---|---|---|
macr | boolean | 是否启用线路保护读 | |
macw | boolean | 是否启用线路保护写 | |
enc | boolean | 是否启用线路加密写 | |
idr | number | 0 | 读操作使用的线路安全密钥标识ID 默认为0 |
idw | number | 0 | 写操作使用的线路安全密钥标识ID 默认为0 |
- Source
(static) KeyAttr(enc, mac)
生成KeyAttr密钥安全属性对象参数
Name | Type | Description |
---|---|---|
enc | boolean | 是否启用线路加密 |
mac | boolean | 是否启用线路保护 |
- Source
(static) KeyErr(retry, max)
生成KeyErr密钥错误计数参数
Name | Type | Default | Description |
---|---|---|---|
retry | number | 15 | 剩余可重试次数 范围0~15 默认15 |
max | number | 15 | 最大可错误次数 范围0~15 默认15 |
- Source
(static) Power(min, max)
生成Power权限控制参数
Name | Type | Default | Description |
---|---|---|---|
min | number | 权值最小要求 范围0~15 注意如果最小要求>最大要求代表权限锁死 | |
max | number | 0 | 权值最大要求 范围0~15 默认为0=忽略权值最大要求 |
- Source
(static) keyTypeStr(type)
FMCOS密钥类型获取字符串描述
Name | Type | Description |
---|---|---|
type | KeyType | FMCOS密钥类型 参考Rokato.CosFm2.KeyType |
- Source