skf_api/native/
error.rs

1/// 成功
2pub const SAR_OK: u32 = 0x00000000;
3/// 失败
4pub const SAR_FAIL: u32 = 0x0A000001;
5/// 异常错误
6pub const SAR_UNKNOWNERR: u32 = 0x0A000002;
7/// 不支持的服务
8pub const SAR_NOTSUPPORTYETERR: u32 = 0x0A000003;
9/// 文件操作错误
10pub const SAR_FILEERR: u32 = 0x0A000004;
11/// 无效的句柄
12pub const SAR_INVALIDHANDLEERR: u32 = 0x0A000005;
13/// 无效的参数
14pub const SAR_INVALIDPARAMERR: u32 = 0x0A000006;
15/// 读文件错误
16pub const SAR_READFILEERR: u32 = 0x0A000007;
17/// 写文件错误
18pub const SAR_WRITEFILEERR: u32 = 0x0A000008;
19/// 名称长度错误
20pub const SAR_NAMELENERR: u32 = 0x0A000009;
21/// 密钥用途错误
22pub const SAR_KEYUSAGEERR: u32 = 0x0A00000A;
23/// 模的长度错误
24pub const SAR_MODULUSLENERR: u32 = 0x0A00000B;
25/// 未初始化
26pub const SAR_NOTINITIALIZEERR: u32 = 0x0A00000C;
27/// 对象错误
28pub const SAR_OBJERR: u32 = 0x0A00000D;
29/// 内存错误
30pub const SAR_MEMORYERR: u32 = 0x0A00000E;
31/// 超时
32pub const SAR_TIMEOUTERR: u32 = 0x0A00000F;
33/// 输入数据长度错误
34pub const SAR_INDATALENERR: u32 = 0x0A000010;
35/// 输入数据错误
36pub const SAR_INDATAERR: u32 = 0x0A000011;
37/// 生成随机数错误
38pub const SAR_GENRANDERR: u32 = 0x0A000012;
39/// HASH对象错
40pub const SAR_HASHOBJERR: u32 = 0x0A000013;
41/// HASH运算错误
42pub const SAR_HASHERR: u32 = 0x0A000014;
43/// 产生RSA密钥错
44pub const SAR_GENRSAKEYERR: u32 = 0x0A000015;
45/// RSA密钥模长错误
46pub const SAR_RSAMODULUSLENERR: u32 = 0x0A000016;
47/// CSP服务导入公钥错误
48pub const SAR_CSPIMPRTPUBKEYERR: u32 = 0x0A000017;
49/// RSA加密错误
50pub const SAR_RSAENCERR: u32 = 0x0A000018;
51/// RSA解密错误
52pub const SAR_RSADECERR: u32 = 0x0A000019;
53/// HASH值不相等
54pub const SAR_HASHNOTEQUALERR: u32 = 0x0A00001A;
55/// 密钥未发现
56pub const SAR_KEYNOTFOUNTERR: u32 = 0x0A00001B;
57/// 证书未发现
58pub const SAR_CERTNOTFOUNTERR: u32 = 0x0A00001C;
59/// 对象未导出
60pub const SAR_NOTEXPORTERR: u32 = 0x0A00001D;
61/// 解密时做补丁错误
62pub const SAR_DECRYPTPADERR: u32 = 0x0A00001E;
63/// MAC长度错误
64pub const SAR_MACLENERR: u32 = 0x0A00001F;
65/// 缓冲区不足
66pub const SAR_BUFFER_TOO_SMALL: u32 = 0x0A000020;
67/// 密钥类型错误
68pub const SAR_KEYINFOTYPEERR: u32 = 0x0A000021;
69/// 无事件错误
70pub const SAR_NOT_EVENTERR: u32 = 0x0A000022;
71/// 设备已移除
72pub const SAR_DEVICE_REMOVED: u32 = 0x0A000023;
73/// PIN不正确
74pub const SAR_PIN_INCORRECT: u32 = 0x0A000024;
75/// PIN被锁死
76pub const SAR_PIN_LOCKED: u32 = 0x0A000025;
77/// PIN无效
78pub const SAR_PIN_INVALID: u32 = 0x0A000026;
79/// PIN长度错误
80pub const SAR_PIN_LEN_RANGE: u32 = 0x0A000027;
81/// 用户已经登录
82pub const SAR_USER_ALREADY_LOGGED_IN: u32 = 0x0A000028;
83/// 没有初始化用户口令
84pub const SAR_USER_PIN_NOT_INITIALIZED: u32 = 0x0A000029;
85/// PIN类型错误
86pub const SAR_USER_TYPE_INVALID: u32 = 0x0A00002A;
87/// 应用名称无效
88pub const SAR_APPLICATION_NAME_INVALID: u32 = 0x0A00002B;
89/// 应用已经存在
90pub const SAR_APPLICATION_EXISTS: u32 = 0x0A00002C;
91/// 用户没有登录
92pub const SAR_USER_NOT_LOGGED_IN: u32 = 0x0A00002D;
93/// 应用不存在
94pub const SAR_APPLICATION_NOT_EXISTS: u32 = 0x0A00002E;
95/// 文件已经存在
96pub const SAR_FILE_ALREADY_EXIST: u32 = 0x0A00002F;
97/// 空间不足
98pub const SAR_NO_ROOM: u32 = 0x0A000030;
99/// 文件不存在
100pub const SAR_FILE_NOT_EXIST: u32 = 0x0A000031;
101/// 已达到最大可管理容器数
102pub const SAR_REACH_MAX_CONTAINER_COUNT: u32 = 0x0A000032;
103/// 未通过设备认证
104pub const SAR_NO_AUTH: u32 = 0x0A000033;
105
106pub fn get_message(code: u32) -> Option<&'static str> {
107    match code {
108        SAR_OK => Some("成功"),
109        SAR_FAIL => Some("失败"),
110        SAR_UNKNOWNERR => Some("异常错误"),
111        SAR_NOTSUPPORTYETERR => Some("不支持的服务"),
112        SAR_FILEERR => Some("文件操作错误"),
113        SAR_INVALIDHANDLEERR => Some("无效的句柄"),
114        SAR_INVALIDPARAMERR => Some("无效的参数"),
115        SAR_READFILEERR => Some("读文件错误"),
116        SAR_WRITEFILEERR => Some("写文件错误"),
117        SAR_NAMELENERR => Some("名称长度错误"),
118        SAR_KEYUSAGEERR => Some("密钥用途错误"),
119        SAR_MODULUSLENERR => Some("模的长度错误"),
120        SAR_NOTINITIALIZEERR => Some("未初始化"),
121        SAR_OBJERR => Some("对象错误"),
122        SAR_MEMORYERR => Some("内存错误"),
123        SAR_GENRANDERR => Some("生成随机数错误"),
124        SAR_INDATAERR => Some("输入数据错误"),
125        SAR_INDATALENERR => Some("输入数据长度错误"),
126        SAR_TIMEOUTERR => Some("超时"),
127        SAR_HASHOBJERR => Some("HASH运算错误"),
128        SAR_HASHERR => Some("HASH值不相等"),
129        SAR_KEYNOTFOUNTERR => Some("密钥未发现"),
130        SAR_CERTNOTFOUNTERR => Some("证书未发现"),
131        SAR_NOTEXPORTERR => Some("对象未导出"),
132        SAR_DECRYPTPADERR => Some("解密时做补丁错误"),
133        SAR_MACLENERR => Some("MAC长度错误"),
134        SAR_BUFFER_TOO_SMALL => Some("缓冲区不足"),
135        SAR_KEYINFOTYPEERR => Some("密钥类型错误"),
136        SAR_NOT_EVENTERR => Some("无事件错误"),
137        SAR_DEVICE_REMOVED => Some("设备已移除"),
138        SAR_PIN_INCORRECT => Some("PIN不正确"),
139        SAR_PIN_LOCKED => Some("PIN被锁死"),
140        SAR_PIN_INVALID => Some("PIN无效"),
141        SAR_PIN_LEN_RANGE => Some("PIN长度错误"),
142        SAR_USER_ALREADY_LOGGED_IN => Some("用户已经登录"),
143        SAR_USER_PIN_NOT_INITIALIZED => Some("没有初始化用户口令"),
144        SAR_USER_TYPE_INVALID => Some("PIN类型错误"),
145        SAR_APPLICATION_NAME_INVALID => Some("应用名称无效"),
146        SAR_APPLICATION_EXISTS => Some("应用已经存在"),
147        SAR_USER_NOT_LOGGED_IN => Some("用户没有登录"),
148        SAR_APPLICATION_NOT_EXISTS => Some("应用不存在"),
149        SAR_FILE_ALREADY_EXIST => Some("文件已经存在"),
150        SAR_NO_ROOM => Some("空间不足"),
151        SAR_FILE_NOT_EXIST => Some("文件不存在"),
152        SAR_REACH_MAX_CONTAINER_COUNT => Some("已达到最大可管理容器数"),
153        SAR_NO_AUTH => Some("未通过设备认证"),
154        SAR_GENRSAKEYERR => Some("生成RSA密钥错误"),
155        SAR_RSAMODULUSLENERR => Some("RSA模的长度错误"),
156        SAR_CSPIMPRTPUBKEYERR => Some("CSP服务导入公钥错误"),
157        SAR_RSAENCERR => Some("RSA加密错误"),
158        SAR_RSADECERR => Some("RSA解密错误"),
159        SAR_HASHNOTEQUALERR => Some("HASH值不相等"),
160        _ => None,
161    }
162}