DINAMO Networks is now aDINAMO cyber security company!
API C/C++
HSM DINAMO
Loading...
Searching...
No entry found
dinamo.h
Go to the documentation for this file.
1/* Dinamo Networks. */
2/* Date: 20220930(AAAAMMDD) */
3
4#ifndef DINAMO_H_INCLUDED
5#define DINAMO_H_INCLUDED
6
12#ifdef _WIN32
13 #include <windows.h>
14#endif
15
16#include <time.h>
17
27#ifdef _WIN32
28 typedef unsigned __int64 ND_uint64_t;
29 typedef unsigned __int64 ND_OATH_uint64_t;
30 #define AAP_API __stdcall
31
32 typedef unsigned long long int QWORD;
33 #define DWORD_PRINT_TYPE "lu"
34 #define DWORD_PRINT "%" DWORD_PRINT_TYPE
35#else
36 typedef unsigned long long ND_uint64_t;
37 typedef unsigned long long ND_OATH_uint64_t;
38 #ifdef INTEL_GCC
39 #define AAP_API __attribute__((stdcall))
40 #else
41 #define AAP_API
42 #endif /* INTEL_GCC */
43
44 typedef unsigned char BYTE;
45 typedef unsigned int DWORD;
46 typedef unsigned long long int QWORD;
47 typedef unsigned short WORD;
48 typedef int BOOL;
49 typedef unsigned int UINT;
50 typedef signed int INT;
51 typedef signed char CHAR;
52
53 #define DWORD_PRINT_TYPE "u"
54 #define DWORD_PRINT "%" DWORD_PRINT_TYPE
55
56 #ifndef FALSE
57 #define FALSE (0)
58 #endif
59 #ifndef TRUE
60 #define TRUE (1)
61 #endif
62
63#endif
64
65typedef unsigned long DN_ULONG;
66
67typedef void *HSESSIONCTX;
68typedef void *HHASHCTX;
69typedef void *HKEYCTX;
70typedef void *HCERTCTX;
71typedef void *HSPBCTX;
72typedef void *HCHAPCTX;
73typedef void *HLOGCTX;
74typedef void *HOBJMETACTX;
75typedef void *HP11ATTRCTX;
76typedef void *HOBJMETASEARCHCTX;
77
78#define D_SOCKET_FAILED (-10)
79#define D_GETHOSTNAME_FAILED (-11)
80#define D_CONNECT_FAILED (-12)
81#define D_SEND_FAILED (-13)
82#define D_RECV_FAILED (-14)
83#define D_INVALID_PACKAGE_SIZE (-15)
84#define D_SETSOCKOPT_FAILED (-16)
85#define D_GETSOCKOPT_FAILED (-17)
86#define D_ALL_LOAD_BALANCE_HSM_FAILED (-18)
87#define D_RESET_BY_PEER_ERROR (-19)
88#define D_CONNECTION_REFUSED_ERROR (-20)
89#define D_CONNECTION_TIMEDOUT_ERROR (-21)
90#define D_NETWORK_DOWN_ERROR (-22)
91#define D_SSL_ZERO_RETURN_ERROR (-23)
92#define D_SSL_ERROR (-24)
93#define D_SSL_CTX_NEW_FAILED (1)
94#define D_SSL_NEW_FAILED (2)
95#define D_SSL_CONNECT_FAILED (3)
96#define D_SSL_GENERAL_ERROR (4)
97#define D_CRL_GENERAL_ERROR (101)
98#define D_CRL_SSL_CACERT_BADFILE (102)
99#define D_CRL_COULDNT_RESOLVE_HOST (103)
100#define D_CRL_COULDNT_CONNECT (104)
101#define D_CRL_OPERATION_TIMEDOUT (105)
102#define D_CRL_PEER_FAILED_VERIFICATION (106)
103#define D_CRL_SSL_CONNECT_ERROR (107)
104#define D_CRL_SEND_ERROR (108)
105#define D_CRL_RECV_ERROR (109)
106#define D_CRL_SSL_CERTPROBLEM (110)
107#define D_CRL_SSL_ISSUER_ERROR (111)
108#define D_CRL_AUTH_ERROR (112)
109#define D_CRL_GOT_NOTHING (113)
110#define D_CRL_UNSUPPORTED_PROTOCOL (114)
111#define D_CRL_URL_MALFORMAT (115)
112#define D_CRL_WEIRD_SERVER_REPLY (116)
113#define D_CRL_REMOTE_ACCESS_DENIED (117)
114#define D_CRL_HTTP2 (118)
115#define D_CRL_WRITE_ERROR (119)
116#define D_CRL_READ_ERROR (120)
117#define D_CRL_HTTP_POST_ERROR (121)
118#define D_CRL_ABORTED_BY_CALLBACK (122)
119#define D_CRL_TOO_MANY_REDIRECTS (123)
120#define D_CRL_SSL_CIPHER (124)
121#define D_CRL_BAD_CONTENT_ENCODING (125)
122#define D_CRL_LOGIN_DENIED (126)
123#define D_CRL_INSTALL_SIGN_CALL_FAILED (127)
124#define D_CRL_CERT_LOAD_FAILED (128)
125#define D_CRL_CHAIN_LOAD_FAILED (129)
126#define D_CRL_PRIVATE_KEY_LOAD_FAILED (130)
127#define D_WSASTARTUP (2001)
128#define D_MEMORY_ALLOC (2002)
129#define D_INVALID_PARAM (1001)
130#define D_INVALID_TYPE (1002)
131#define D_INVALID_STATE (1003)
132#define D_LOGGING_NOT_STARTED (1004)
133#define D_MORE_DATA (1005)
134#define D_INVALID_RESPONSE (1006)
135#define D_INVALID_CONTEXT (1007)
136#define D_KEY_GEN_ERROR (1008)
137#define D_KEY_DEL_ERROR (1009)
138#define D_KEY_NOT_EXISTS (1010)
139#define D_INVALID_DATA_LENGTH (1011)
140#define D_INVALID_KEY_ALG (1012)
141#define D_INVALID_PADDING (1013)
142#define D_INVALID_KEY (1014)
143#define D_BAD_DATA (1015)
144#define D_INVALID_PUBKEY (1016)
145#define D_INVALID_ALG_ID (1017)
146#define D_INVALID_HASH (1018)
147#define D_INIT_HASH_FAILED (1019)
148#define D_INVALID_HASH_STATE (1020)
149#define D_END_HASH_FAILED (1021)
150#define D_GET_INFO_ERROR (1022)
151#define D_INVALID_PIN_LEN (1023)
152#define D_OPEN_FILE_FAILED (1025)
153#define D_BACKUP_FAILED (1026)
154#define D_RESTORE_FAILED (1027)
155#define D_INVALID_CALLBACK (1028)
156#define D_NOT_IMPLEMENTED (1029)
157#define D_AUTH_FAILED (1030)
158#define D_INVALID_CLEAR_OP (1031)
159#define D_CHANGE_PWD_ERROR (1032)
160#define D_PWD_SIZE_ERROR (1033)
161#define D_IMPORT_KEY_ERROR (1034)
162#define D_INVALID_KEY_ID (1035)
163#define D_INVALID_FLAG (1036)
164#define D_INVALID_SIGNATURE (1037)
165#define D_INVALID_PUB_KEY (1038)
166#define D_INVALID_KEY_STATE (1039)
167#define D_CREATE_USER_ERROR (1040)
168#define D_NO_MORE_OBJECT (1041)
169#define D_PUT_ENV_VAR_FAILED (1042)
170#define D_INVALID_FILE_SIZE (1043)
171#define D_INVALID_TEXT_SIZE (1044)
172#define D_FILE_ACCESS_ERROR (1045)
173#define D_INVALID_COUNTER (1046)
174#define D_INVALID_MODE (1047)
175#define D_INVALID_STRUCT_ID (1048)
176#define D_INVALID_IP_ADDRESS (1049)
177#define D_GET_PEER_IP_ERROR (1050)
178#define D_CERTIFICATE_PARSE_FAILED (1051)
179#define D_INVALID_KEY_PART_1 (1052)
180#define D_INVALID_KEY_PART_2 (1053)
181#define D_INVALID_KEY_PART_3 (1054)
182#define D_VERIFY_DAC_FAILED (1055)
183#define D_DEPRECATED (1056)
184#define D_NO_MATCHING_KEY_FOUND (1057)
185#define D_CALLBACK_ERROR (1058)
186#define D_INTERNAL_ERROR (1059)
187#define D_KEY_NOT_EXPORTABLE_ERROR (1060)
188#define D_INVALID_SPB_ID (1062)
189#define D_JSON_PARSE_ERROR (1063)
190#define D_JSON_PARSE_WRONG_TYPE_ERROR (1064)
191#define D_JSON_SET_VALUE_ERROR (1065)
192#define D_JSON_UNSET_VALUE_ERROR (1066)
193#define D_JSON_VALUE_NOT_FOUND (1067)
194#define D_JSON_OBJ_CREATE_ERROR (1068)
195#define D_SLP_PARSE_ERROR (1069)
196#define D_SLP_INTERNAL_ERROR (1070)
197#define D_SLP_TOO_MANY_SERVERS_ERROR (1071)
198#define D_INVALID_SERVER_VERSION (1072)
199#define D_GENERATE_PKCS12_ERROR (1073)
200#define D_SET_LOAD_BALANCE_LIST_ERROR (1074)
201#define D_OATH_BLOB_UPDATE (1075)
202#define D_GZIP_DEFLATE_ERROR (1076)
203#define D_HTTP_UNEXPECTED_STATUS_CODE (1077)
204#define D_BASE64_ERROR (1078)
205#define D_SC_READER_NOT_READY (1079)
206#define D_SC_NOT_FORMATTED (1080)
207#define D_SC_INVALID_PIN (1081)
208#define D_SC_READ_FAILED (1082)
209#define D_SC_UNEXPECTED_SVMK_STATUS (1083)
210#define D_SC_FAILED_USB_LIB_LOAD (1084)
211#define D_SC_INVALID_ATR_LEN (1085)
212#define D_SC_PIN_LOCKED (1086)
213#define D_SC_KATS_NEGOTIATION_FAILED (1087)
214#define D_SC_CHANGE_PIN_FAILED (1088)
215#define D_INVALID_DATA_FORMAT (1089)
216#define D_SC_FREEZE_FAILED (1090)
217#define D_SC_LEGACY_CARD_NOT_SUPPORTED (1091)
218#define D_SC_WOULD_OVERWRITE_SVMK (1092)
219#define D_SC_INVALID_SVMK_TYPE (1093)
220#define D_SC_WRITE_FAILED (1094)
221#define D_SC_ERASE_FAILED (1095)
222#define D_SC_SELECT_FAILED (1096)
223#define D_INVALID_HSM_OP_MODE (1097)
224#define D_KEEP_ALIVE_ERROR (3001)
225#define D_RECEIVE_LOG_ERROR (3002)
226#define D_ERROR_NOTIFY (3003)
227
228// -------------------------------------------------------------------
229#define D_SUCCESS (0)
230#define D_ERR_UNKNOWN (5000)
231#define D_ERR_NET_FAIL (5001)
232#define D_ERR_ACCESS_DENIED (5002)
233#define D_ERR_CANNOT_CREATE_OBJ (5003)
234#define D_ERR_CANNOT_OPEN_OBJ (5004)
235#define D_ERR_CANNOT_DEL_OBJ (5005)
236#define D_ERR_CANNOT_ALLOC_RES (5006)
237#define D_ERR_INVALID_CTX (5007)
238#define D_ERR_INVALID_OPERATION (5008)
239#define D_ERR_INVALID_KEY (5009)
240#define D_ERR_NO_TLS_USED (5010)
241#define D_ERR_CANNOT_CHANGE_PWD (5011)
242#define D_ERR_OBJ_NOT_EXPORTABLE (5012)
243#define D_ERR_USR_ALREADY_EXISTS (5013)
244#define D_ERR_INVALID_USR_NAME (5014)
245#define D_ERR_CANNOT_CREATE_USR (5015)
246#define D_ERR_NO_MORE_LOG_SLOTS (5016)
247#define D_ERR_CANNOT_DELETE_USR (5017)
248#define D_ERR_CANNOT_DELETE_MASTER (5018)
249#define D_ERR_NOT_IMPLEMENTED (5019)
250#define D_ERR_USR_NOT_FOUND (5020)
251#define D_ERR_INVALID_PAYLOAD (5021)
252#define D_ERR_OBJ_ALREADY_EXISTS (5022)
253#define D_ERR_INVALID_OBJ_NAME (5023)
254#define D_ERR_OBJ_IN_USE (5024)
255#define D_ERR_CANNOT_WRITE_BACKUP_BLOB (5025)
256#define D_ERR_CANNOT_OPEN_BACKUP_BLOB (5026)
257#define D_ERR_CANNOT_RESTORE_BACKUP_BLOB (5027)
258#define D_ERR_INVALID_BACKUP_PIN_OR_LEN (5028)
259#define D_ERR_INVALID_XML_SIGNATURE (5029)
260#define D_ERR_INVALID_CERTIFICATE (5030)
261#define D_ERR_VERIFY_XML_FAILED (5031)
262#define D_ERR_INVALID_XML (5032)
263#define D_ERR_SIGN_XML_FAILED (5033)
264#define D_ERR_UPACK_VERIFY_FAILED (5034)
265#define D_ERR_CANNOT_TRUNCATE_LOG (5035)
266#define D_ERR_CANNOT_BACKUP_OLD_LOG (5036)
267#define D_ERR_CERTIFICATE_EXPIRED (5037)
268#define D_ERR_CERTIFICATE_FAILED (5038)
269#define D_ERR_CERTIFICATE_NOT_FOUND (5039)
270#define D_ERR_CERTIFICATE_REVOKED (5040)
271#define D_ERR_CERTIFICATE_ISSUER_FAILED (5041)
272#define D_ERR_CERTIFICATE_NOT_YET_VALID (5042)
273#define D_ERR_CERT_EXPIRED_SIGN_VALID (5043)
274#define D_ERR_CRL_EXPIRED (5044)
275#define D_ERR_INVALID_CRL_SIGN (5045)
276#define D_ERR_CRL_CERT_MISMATCH (5046)
277#define D_ERR_CERT_REVOKED (D_ERR_CERTIFICATE_REVOKED)
278#define D_ERR_CERT_REVOKED_LIBCLIENT_FIX1 (5047)
279#define D_ERR_ACCESS_DENIED_TOKEN_NOT_NEEDED (5048)
280#define D_ERR_ACCESS_DENIED_TOKEN_NEEDED (5049)
281#define D_ERR_CERT_REVOKED_CRL_VAL_UNUSED (5050)
282#define D_ERR_CERT_VALID_CRL_VAL_UNUSED (5051)
283#define D_ERR_CANNOT_PARSE_XML (5052)
284#define D_ERR_CANNOT_CREATE_XML_SIG_TEMPL (5053)
285#define D_ERR_CANNOT_ADD_XML_SIG_TEMPL_REF (5054)
286#define D_ERR_CANNOT_ADD_XML_SIG_TEMPL_TRANS (5055)
287#define D_ERR_CANNOT_ADD_XML_SIG_KEY_INFO (5056)
288#define D_ERR_CANNOT_ADD_XML_SIG_KEY_CERT (5057)
289#define D_ERR_CANNOT_ALLOC_XML_SIG_CTX (5058)
290#define D_ERR_CANNOT_PARSE_DER_PRIV_KEY (5059)
291#define D_ERR_XML_CANNOT_LOAD_PRIV_KEY (5060)
292#define D_ERR_XML_CANNOT_LOAD_CERT (5061)
293#define D_ERR_XML_CANNOT_CREATE_KEY_MNG (5062)
294#define D_ERR_XML_CANNOT_INIT_KEY_MNG (5063)
295#define D_ERR_XML_CANNOT_LOAD_TRUSTED_CERTS (5064)
296#define D_ERR_XML_SIG_NODE_NOT_FOUND (5065)
297#define D_ERR_XML_CERT_NODE_NOT_FOUND (5066)
298#define D_ERR_XML_CANNOT_DECODE_CERT_NODE (5067)
299#define D_ERR_CANNOT_PARSE_DER_CERT (5068)
300#define D_ERR_DEPRECATED_XML_COMPRESS (5069)
301#define D_ERR_INVALID_CERTIFICATE_NULL_RES (5070)
302#define D_ERR_CANNOT_RECREATE_MASTER (5071)
303#define D_ERR_CANNOT_CREATE_USR_STORAGE1 (5072)
304#define D_ERR_CANNOT_CREATE_USR_STORAGE2 (5073)
305#define D_ERR_CANNOT_CREATE_USR_DEFAULT_ACL (5074)
306#define D_ERR_CANNOT_ALLOC_CTX (5075)
307#define D_ERR_CANNOT_LOAD_PRIV_KEY (5076)
308#define D_ERR_CANNOT_DECODE_PUB_KEY (5077)
309#define D_ERR_CANNOT_GENERATE_RND_DATA (5078)
310#define D_ERR_SYSTEM_EXHAUSTED (5079)
311#define D_ERR_RSA_POWER_SIGN_FAILED (5080)
312#define D_ERR_CANNOT_DEMOTE_MASTER (5081)
313#define D_ERR_CANNOT_GET_SYS_INFO (5100)
314#define D_ERR_CANNOT_ALLOC_UPACK_ID (5101)
315#define D_ERR_CANNOT_ALLOC_UPACK_PATH (5102)
316#define D_ERR_CANNOT_WRITE_UPACK_OBJ (5103)
317#define D_ERR_INVALID_CRL (5104)
318#define D_ERR_OPERATION_FAILED (5105)
319#define D_ERR_GET_USR_ACL_FAILED (5106)
320#define D_ERR_INVALID_SIGNATURE (5107)
321#define D_ERR_CANNOT_GENERATE_SOFT_TOKEN (5108)
322#define D_ERR_INVALID_SECRET (5109)
323#define D_ERR_ACCESS_DENIED_USR_BLOCKED (5120)
324#define D_ERR_INVALID_IMEI (5121)
325#define D_ERR_REPLAY_DETECTED (5122)
326#define D_ERR_NON_APPROVED_OPERATION (5123)
327#define D_ERR_ACCESS_DENIED_OBJ_BLOCKED (5124)
328#define D_ERR_DRBG_CONTINUOUS_TEST (5125)
329#define D_ERR_RSA_CONTINUOUS_TEST (5126)
330#define D_ERR_ECC_CONTINUOUS_TEST (5127)
331#define D_ERR_DES_CONTINUOUS_TEST (5128)
332#define D_ERR_AES_CONTINUOUS_TEST (5129)
333#define D_ERR_ALT_BN128_CONTINUOUS_TEST (5130)
334#define D_ERR_CANNOT_UPDATE_OBJ (5175)
335#define D_ERR_CANNOT_GET_PWD_POLICY (5176)
336#define D_ERR_PWD_BLOCKED_BY_POLICY (5177)
337#define D_ERR_PWD_EXPIRED (5178)
338#define D_ERR_CERT_VALID_CRL_VAL_UNUSED_CRL_EXPIRED (5179)
339#define D_ERR_CERT_VALID_CRL_EXPIRED (5180)
340#define D_ERR_INVALID_CERT_SIGN (5181)
341#define D_ERR_CANNOT_LOAD_CORRUPTED_OBJ (5200)
342#define D_ERR_INVALID_CERT_ISPB_MISMATCH (5230)
343#define D_ERR_INVALID_CA (5231)
344#define D_ERR_OPERATION_BLOCKED_BY_SEPOL (5232)
345#define D_ERR_DEPRECATED_FUNCTION (5303)
346#define D_ERR_SERVER_BUSY (5304)
347#define D_ERR_SL_BE_BUSY (5305)
348#define D_ERR_SVMK_MISMATCH (5306)
349#define D_ERR_INVALID_CERT_SN_MISMATCH (5307)
350#define D_ERR_CANNOT_DEC_SYM_KEY (5308)
351#define D_ERR_CANNOT_REC_SYM_KEY (5309)
352#define D_SUCCESS_CANNOT_OPEN_OBJ_AT_REPL (5401)
353#define D_ERR_CANNOT_OPEN_INVALID_OBJ_AT_REPL (5402)
354#define D_ERR_CANNOT_SL_BE_CHECK_OBJ (5500)
355#define D_ERR_CANNOT_WRITE_AUTH_INFO_OBJ (5501)
356#define D_ERR_CANNOT_GEN_RSA_KEY (5502)
357#define D_ERR_CANNOT_GEN_ECC_CURVE (5503)
358#define D_ERR_CANNOT_GEN_ECC_KEY (5504)
359#define D_ERR_CANNOT_GEN_ECC_DER (5505)
360#define D_ERR_CANNOT_GEN_ECC_DER_KEY (5506)
361#define D_ERR_CANNOT_CREATE_UNKNOWN_OBJ (5507)
362#define D_ERR_CANNOT_WRITE_HSM_MODE (5508)
363#define D_ERR_CANNOT_WRITE_LOGIN_BLOCK_INFO (5509)
364#define D_ERR_CANNOT_SETUP_LIVE_SYNC_OBJ (5510)
365#define D_ERR_CANNOT_CREATE_LIVE_SYNC_OBJ (5511)
366#define D_ERR_CANNOT_OPEN_LOG (5512)
367#define D_ERR_COULD_NOT_OPEN_OBJ (5513)
368#define D_ERR_CANNOT_EXPORT_RAW_OBJ (5514)
369#define D_ERR_CANNOT_RENAME_OBJ (5515)
370#define D_ERR_REPLICATION_CANNOT_OPEN_OBJ (5516)
371#define D_ERR_CANNOT_SETUP_LIVE_SYNC_IMG (5517)
372#define D_ERR_CANNOT_LOAD_LIVE_SYNC_IMG (5518)
373#define D_ERR_CANNOT_SETUP_LIVE_SYNC_DEL_USR (5519)
374#define D_ERR_CANNOT_DEL_LIVE_SYNC_USR (5520)
375#define D_ERR_CANNOT_SETUP_LIVE_SYNC_DEL_CONFIG (5521)
376#define D_ERR_CANNOT_DEL_LIVE_SYNC_CONFIG (5522)
377#define D_ERR_CANNOT_SETUP_LIVE_SYNC_CONFIG (5523)
378#define D_ERR_CANNOT_CREATE_LIVE_SYNC_CONFIG (5524)
379#define D_ERR_CANNOT_SETUP_LIVE_SYNC_USER (5525)
380#define D_ERR_CANNOT_CREATE_LIVE_SYNC_USER (5526)
381#define D_ERR_CANNOT_SETUP_LIVE_SYNC_ACL (5527)
382#define D_ERR_CANNOT_CREATE_LIVE_SYNC_ACL (5528)
383#define D_ERR_CANNOT_DEL_AUTH_INFO_OBJ (5529)
384#define D_ERR_INVALID_KEY_NULL_RES (5530)
385#define D_ERR_INVALID_MSG_NULL_RES (5531)
386#define D_ERR_CANNOT_GEN_SYM_KEY (5532)
387#define D_ERR_CANNOT_SETUP_USR_AUTH_INFO (5533)
388#define D_ERR_CANNOT_BIND_USR_AUTH_INFO (5534)
389#define D_ERR_CANNOT_GET_CERT_SN (5535)
390#define D_ERR_CANNOT_GET_CERT_ISPB (5536)
391#define D_ERR_INVALID_HASH (5537)
392#define D_ERR_INVALID_SIG_LEN (5538)
393#define D_ERR_INVALID_PUBKEY_LEN (5539)
394#define D_ERR_INVALID_PSKC_XML (5540)
395#define D_ERR_CANNOT_FIND_PSKC_XML_NODE (5541)
396#define D_ERR_CANNOT_FIND_PSKC_XML_ATTR (5542)
397#define D_ERR_INVALID_PSKC_KEY_DERIVATION (5543)
398#define D_ERR_INVALID_PSKC_KEY_DERIVATION_IT (5544)
399#define D_ERR_INVALID_PSKC_KEY_DERIVATION_LEN (5545)
400#define D_ERR_INVALID_PSKC_KEY_DERIVATION_SALT_LEN (5546)
401#define D_ERR_PSKC_KEY_DERIVATION_FAILED (5547)
402#define D_ERR_INVALID_PSKC_KEY_ALG (5548)
403#define D_ERR_INVALID_PSKC_KEY_METHOD (5549)
404#define D_ERR_INVALID_OATH_EPOCH (5550)
405#define D_ERR_INVALID_OATH_TIMESTEP (5551)
406#define D_ERR_INVALID_OATH_DRIFT (5552)
407#define D_ERR_INVALID_PSKC_SECRET_LEN (5553)
408#define D_ERR_UNKNOWN_PADDING_TYPE (5554)
409#define D_ERR_DATA_TOO_LARGE_FOR_MODULUS (5555)
410#define D_ERR_DATA_GREATER_THAN_MODULUS_LEN (5556)
411#define D_ERR_PADDING_CHECK_FAILED (5557)
412#define D_ERR_DATA_TOO_LARGE_FOR_KEY_SIZE (5558)
413#define D_ERR_DATA_TOO_SMALL_FOR_KEY_SIZE (5559)
414#define D_ERR_INVALID_TYPE1_PADDING (5560)
415#define D_ERR_INVALID_TYPE2_PADDING (5561)
416#define D_ERR_BAD_FIXED_HDR_PADDING (5562)
417#define D_ERR_MISSING_NULL_PADDING (5563)
418#define D_ERR_BAD_PAD_BYTE_COUNT (5564)
419#define D_ERR_DATA_TOO_LARGE_FOR_PADDING (5565)
420#define D_ERR_BN_NO_INVERSE (5566)
421#define D_ERR_STATIC_BN_CANNOT_EXPAND (5567)
422#define D_ERR_BN_IS_NOT_PRIME (5568)
423#define D_ERR_TOO_MANY_BN_ITERATIONS (5569)
424#define D_ERR_BN_IS_NOT_A_SQUARE (5570)
425#define D_ERR_BN_DIV_BY_ZERO (5571)
426#define D_ERR_BN_NOT_INITIALIZED (5572)
427#define D_ERR_BN_INVALID_RANGE (5573)
428#define D_ERR_BN_BAD_RECIPROCAL (5574)
429#define D_ERR_BN_CALLED_WITH_EVEN_MODULUS (5575)
430#define D_ERR_BN_INPUT_NOT_REDUCED (5576)
431#define D_ERR_BN_TOO_MANY_TMP_VARIABLES (5577)
432#define D_ERR_BN_INVALID_LEN (5578)
433#define D_ERR_BN_ENCODING_ERROR (5579)
434#define D_ERR_INVALID_PUBLIC_EXP (5580)
435#define D_ERR_INVALID_SPB_HDR_LEN (5581)
436#define D_ERR_INVALID_SPB_HDR_VER (5582)
437#define D_ERR_INVALID_SPB_HDR_SPECIAL_TREATMENT (5583)
438#define D_ERR_INVALID_SPB_HDR_R0 (5584)
439#define D_ERR_INVALID_SPB_HDR_DST_ASYM_ALG (5585)
440#define D_ERR_INVALID_SPB_HDR_DST_SYM_ALG (5586)
441#define D_ERR_INVALID_SPB_HDR_SIGN_KEY_TYPE (5587)
442#define D_ERR_INVALID_SPB_HDR_DST_CA (5588)
443#define D_ERR_INVALID_SPB_HDR_SIGN_CA (5589)
444#define D_ERR_INVALID_SIGN_CERT_SN_MISMATCH (5590)
445#define D_ERR_INVALID_DST_CERT_SN_MISMATCH (5591)
446#define D_ERR_INVALID_SPB_MSG_LEN (5592)
447#define D_ERR_CANNOT_PARSE_JSON (5593)
448#define D_ERR_INVALID_SPB_CHARSET_SIG_OK (5594)
449#define D_ERR_JSON_MORE_DATA (5595)
450#define D_ERR_CANNOT_VIRTUALIZE_JSON (5596)
451#define D_ERR_CANNOT_CHANGE_OEM_JSON (5597)
452#define D_ERR_CANNOT_MERGE_JSON (5598)
453#define D_ERR_INVALID_SPB_CHARSET (5599)
454#define D_ERR_CANNOT_GET_JSON (5600)
455#define D_ERR_INVALID_SPB_CHARSET_SIG_ERR (5601)
456#define D_ERR_INVALID_SPB_DOMAIN (5602)
457#define D_ERR_CANNOT_GEN_DSA_KEY (5603)
458#define D_ERR_DSA_CONTINUOUS_TEST (5604)
459#define D_ERR_CANNOT_GEN_DH_KEY (5605)
460#define D_ERR_DH_CONTINUOUS_TEST (5606)
461#define D_ERR_CANNOT_GEN_ML_DSA_KEY (5607)
462#define D_ERR_CANNOT_GEN_ML_KEM_KEY (5608)
463#define D_ERR_CANNOT_GEN_SLH_DSA_KEY (5609)
464#define D_ERR_KEY_CONTINUOUS_TEST (5699)
465#define D_ERR_SERVER_STARTED (5700)
466#define D_ERR_HSM_AUTO_TEST_FAILURE (5701)
467#define D_ERR_SERVER_NOT_STARTED (5702)
468#define D_ERR_UNAPPROVED_TSP_OPERATION (5703)
469#define D_ERR_INVALID_LCRYPTO_R_OPERATION (5704)
470#define D_ERR_OBJ_BLOCKED_BY_DS_POLICY (7000)
471#define D_ERR_TRUNCATING_DS_LOG (7001)
472#define D_ERR_THROTTLED_VM_SIZE (10000)
473#define D_ERR_THROTTLED_RAM (10001)
474#define D_ERR_CANNOT_ALLOC_SOCKET (11000)
475#define D_ERR_CANNOT_ALLOC_MEM (11001)
476#define D_ERR_CANNOT_ALLOC_KEY (11002)
477#define D_ERR_CANNOT_ALLOC_SL_BE_HANDLE (11003)
478#define D_ERR_CANNOT_ALLOC_IOM (11004)
479#define D_ERR_CANNOT_INIT_DRBG (11005)
480#define D_ERR_CANNOT_SEED_DRBG (11006)
481#define D_ERR_CANNOT_USE_IOM (11007)
482#define D_ERR_CANNOT_ALLOC_OBJ_HANDLE (11008)
483#define D_ERR_REPL_CANNOT_ALLOC_SL_BE_HANDLE (11009)
484#define D_ERR_CANNOT_ALLOC_TLS_CTX (11010)
485#define D_ERR_CANNOT_ALLOC_TLS_SOCKET (11011)
486#define D_ERR_CANNOT_SERIALIZE_XML (11012)
487#define D_ERR_CANNOT_ALLOC_BN (11013)
488#define D_ERR_CANNOT_ALLOC_JSON (11014)
489#define D_ERR_CRYPTOHW_OPEN_FAILURE (12001)
490#define D_ERR_CRYPTOHW_SETUP_FAILURE (12002)
491#define D_ERR_CRYPTOHW_READ_FAILURE (12003)
492#define D_ERR_CRYPTOHW_INVALID_CRC (12004)
493#define D_ERR_CRYPTOHW_WRITE_FAILURE (12005)
494#define D_ERR_CRYPTOHW_UNEXPECTED_MSG (12006)
495#define D_ERR_CRYPTOHW_CONNECT_FAILED (12007)
496#define D_ERR_CRYPTOHW_SEND_FAILED (12008)
497#define D_ERR_CRYPTOHW_RECV_FAILED (12009)
498#define D_ERR_REPLICATION_BUSY (36000)
499#define D_ERR_REPLICATION_D_BUSY (36001)
500#define D_ERR_REPLICATION_S_BUSY (36002)
501#define D_ERR_REPLICATION_STORAGE_LAYER_BUSY (36003)
502#define D_ERR_REPLICATION_SEC_LAYER_BUSY (36004)
503#define D_ERR_REPLICATION_PEER_NOT_SYNCED (36500)
504#define D_ERR_REPLICATION_CANNOT_PREPARE_TRANS (37001)
505#define D_ERR_REPLICATION_CANNOT_P2P_HANDSHAKE (37002)
506#define D_ERR_REPLICATION_CANNOT_P2P_FIND (37003)
507#define D_ERR_REPLICATION_CANNOT_P2P_CONNECT (37004)
508#define D_ERR_REPLICATION_CANNOT_P2P_SEND (37005)
509#define D_ERR_REPLICATION_CANNOT_P2P_RECV (37006)
510#define D_ERR_REPLICATION_CANNOT_P2P_SEND_ALL (37007)
511#define D_ERR_REPLICATION_CANNOT_P2P_RECV_ALL (37008)
512#define D_ERR_REPLICATION_CANNOT_P2P_SCONNECT (37009)
513#define D_ERR_REPLICATION_CANNOT_P2P_SSEND (37010)
514#define D_ERR_REPLICATION_CANNOT_P2P_SRECV (37011)
515#define D_ERR_REPLICATION_CANNOT_P2P_SSEND_ALL (37012)
516#define D_ERR_REPLICATION_CANNOT_P2P_SRECV_ALL (37013)
517#define D_ERR_REPLICATION_CANNOT_P2P_WORK (37014)
518#define D_ERR_REPLICATION_NOT_FOUND (37015)
519#define D_ERR_REPLICATION_ACK_NOT_FOUND (37016)
520#define D_ERR_REPLICATION_INVALID_OPERATION (37017)
521#define D_ERR_REPLICATION_INVALID_EVENT (37018)
522#define D_ERR_REPLICATION_OPERATION_FAILED (37019)
523#define D_ERR_REPLICATION_COMMIT_FAILED (37020)
524#define D_ERR_REPLICATION_ERASE_FAILED (37021)
525#define D_ERR_REPLICATION_INQUIRE_FAILED (37022)
526#define D_ERR_REPLICATION_UPDATE_ACK_FAILED (37023)
527#define D_ERR_REPLICATION_DISPATCH_FAILED (37024)
528#define D_ERR_REPLICATION_CANNOT_SL_BE_TRANSP (37025)
529#define D_ERR_REPLICATION_CANNOT_PRUNE_LOG (37026)
530#define D_ERR_REPLICATION_CANNOT_LOAD_LOG (37027)
531#define D_ERR_REPLICATION_CANNOT_WORK (37028)
532#define D_ERR_REPLICATION_CANNOT_VALIDATE_EVENT (37029)
533#define D_ERR_REPLICATION_TRANS_MISMATCH (37030)
534#define D_ERR_REPLICATION_CANNOT_SYNC_POINT (37031)
535#define D_ERR_REPLICATION_UNDEFINED_LIVE_SYNC (37032)
536#define D_ERR_REPLICATION_CONNECTED_LIVE_SYNC (37033)
537#define D_ERR_REPLICATION_SELF_LIVE_SYNC (37034)
538#define D_ERR_REPLICATION_OBJ_IN_USE (37035)
539#define D_ERR_REPLICATION_CANNOT_BEGIN_TRANS (37036)
540#define D_ERR_REPLICATION_MAX_NODE_COUNT_REACHED (37037)
541#define D_ERR_REPL_CANNOT_PREPARE_LS_TRANS (37038)
542#define D_ERR_REPL_PART_CANNOT_ADD_LOG (37039)
543#define D_ERR_REPL_COOR_CANNOT_ADD_LOG (37040)
544#define D_ERR_CANNOT_LOAD_DEPRECATED_LICENSE (47000)
545#define D_ERR_INVALID_DEPRECATED_LICENSE (47001)
546#define D_ERR_DEPRECATED_LICENSE_EXPIRED (47002)
547#define D_ERR_DEPRECATED_LICENSE_BLOCKED (47003)
548#define D_ERR_LICENSE_NOT_FOUND (57001)
549#define D_ERR_CANNOT_UNINSTALL_OEM_LICENCE (57002)
550#define D_ERR_LPACK_VERIFY_FAILED (57003)
551#define D_ERR_CANNOT_PROCESS_LPACK (57004)
552
553// -------------------------------------------------------------------
554
555
556/* Server error macros */
557
558#define D_IS_REPL_BUSY_ERR(dw) ( \
559 (DWORD)(dw) == (DWORD) D_ERR_REPLICATION_BUSY || \
560 (DWORD)(dw) == (DWORD) D_ERR_REPLICATION_D_BUSY || \
561 (DWORD)(dw) == (DWORD) D_ERR_REPLICATION_S_BUSY || \
562 (DWORD)(dw) == (DWORD) D_ERR_REPLICATION_STORAGE_LAYER_BUSY || \
563 (DWORD)(dw) == (DWORD) D_ERR_REPLICATION_SEC_LAYER_BUSY \
564 )
565
566
567
568
569#define NOT_LISTED_ERROR (-999999)
570
571/* DOpenSession - Options/parameters */
572
573/* dwParam */
574#define SS_ANONYMOUS (0x00000001) /*pbData == AUTH_PWD ou AUTH_PWD_EX*/
575#define SS_USER_PWD (0x00000002) /*pbData == AUTH_PWD*/
576#define SS_CERTIFICATE (0x00000004) /*pbData == SS_MEDIA_FILE*/
577#define SS_CLUSTER (0x00000008) /*pbData == NULL*/
578#define SS_USR_PWD_EX (0x00000010) /*pbData == AUTH_PWD_EX*/
579#define SS_ATOKEN (0x00000020) /*pbData == AUTH_ATOKEN*/
580#define SS_HTTP (0x00000040) /*pbData == AUTH_HTTP*/
581#define SS_WIN_CREDENTIAL (0x00000080) /*pbData == AUTH_WIN_CREDENTIAL*/
582
583/* dwFlags */
584#define ENCRYPTED_CONN (0x00000001) /* Encrypted communication */
585#define USER_INTERACTIVE (0x00000002) /* User interactive. Not implemented. */
586#define CLEAR_CONN (0x00000004) /* Not encrypted communication */
587#define LB_BYPASS (0x00000008) /* Load balance bypass */
588#define CACHE_BYPASS (0x00000010) /* Session Cache bypass */
589#define DS_BYPASS (0x00000020) /* Dinamo Services bypass */
590#define TELL_ADDR_BYPASS (0x00000040) /* Disable sending the client address to the HSM for logging */
591
592/* Strong authentication */
593
594#define SA_AUTH_NONE (0x00000000) /* No strong authentication */
595#define SA_AUTH_OTP (0x00000001) /* OTP authentication */
596#define SA_AUTH_CERTIFICATE (0x00000002) /* Certificate authentication */
597#define SA_AUTH_HSM_CERT (0x00000004) /* Verify HSM certificate without using mTLS*/
598
599/* Modos de operação do HSM */
600
601#define DN_HSM_OP_NRM (0)
602#define DN_HSM_OP_RM1 (1)
603#define DN_HSM_OP_RM2 (2)
604#define DN_HSM_OP_RM3 (3)
606/* SetSessionParam/GetSessionParam */
607
608/* dwParam */
609#define SP_SESSION_TIMEOUT (0x00000001) /* Time-out sessao pbData == dwTimeout (ms) */
610#define SP_SEND_TIMEOUT (0x00000002) /* Time-out send pbData == dwTimeout (ms) */
611#define SP_RECV_TIMEOUT (0x00000004) /* Time-out recv pbData == dwTimeout (ms) */
612#define SP_ENCRYPTED (0x00000008) /* Read-only pbData == bSessionEncrypted (TRUE/FALSE) */
613#define SP_SESSION_ID (0x00000010) /* Read-only pbData == dwSessionId */
614#define SP_SESSION_CID (0x00000020) /* Read-only pbData == DWORD */
615#define SP_SESSION_TYPE (0x00000040) /* Read-only pbData == DWORD */
616#define SP_SESSION_CIPHER (0x00000080) /* Read-only pbData == char * */
617#define SP_SESSION_PIX_HTTP_RET (0x00000100) /* Read-only pbData == long */
618#define SP_SESSION_PIX_HTTP_REQ_DETAILS (0x00000200) /* Read-only pbData == PIX_HTTP_REQUEST_DETAILS */
619#define SP_HSM_OP_MODE (0x00000400) /* Read-only pbData == DWORD (DN_HSM_OP_NRM ...)*/
620#define SP_SESSION_CACHE_TIMEOUT (0x00000800) /* pbData == DWORD; session cache timeout in seconds */
621
622/* Session params */
623
624#define DN_SESSION_CACHE_DEFAULT_TIMEOUT (3.0 * 60)
627/* SP_SESSION_TYPE */
628
629#define SP_SESSION_TYPE_CLEAR_CONN (1)
630#define SP_SESSION_TYPE_SSL2 (2)
631#define SP_SESSION_TYPE_SSL3 (3)
632#define SP_SESSION_TYPE_TLS1 (4)
633#define SP_SESSION_TYPE_TLS1_1 (5)
634#define SP_SESSION_TYPE_TLS1_2 (6)
635#define SP_SESSION_TYPE_TLS1_3 (7)
636#define SP_SESSION_TYPE_UNKNOWN (8)
637
638
639/* CloseSession */
640
641/* dwFlags */
642#define WAIT_OPERATIONS (0x00000004) /* Wait the end of all operations in progress. Not implemented. */
643#define CLOSE_PHYSICALLY (0x00000008) /* Force the end of the connection with the HSM. Session will not be cached. */
644
645/* DDSBindHSM */
646
647#define D_DS_BIND_VERSION (1)
648#define D_MAX_DS_BIND_URL (255)
649#define D_DS_BIND_PSK_LEN (16)
650#define D_MIN_DS_BIND_B62_ID (1)
651#define D_MAX_DS_BIND_B62_ID (22)
652
653/* DBackupObject */
654
655#define D_BACKUP_OBJ (1)
656#define D_RESTORE_OBJ (2)
657
658#define D_MAX_BACKUP_OBJ_LEN (1024*4)
659
660/* Backup */
661
662#define MAKE_BACKUP (0)
663#define MAKE_RESTORE (1)
664#define MAKE_RESTORE_WITH_NET_CONFIG MAKE_RESTORE
665#define MAKE_RESTORE_WITHOUT_NET_CONFIG (2)
666#define MAKE_USE_WIN_CREDENTIAL (0x80000000)
668/* GetHsmData/SetHsmData */
669
670/* dwParam */
671#define HD_AUDIT_START (0x00000001) /* Indicate that the connection will be used to retrieve logs. */
672#define HD_AUDIT_RECV (0x00000002) /* Receive logs from server. */
673
674/* dwFlags */
675#define DATA_ONLY (0x00000008) /* Backup/Restore only data */
676#define CONFIG_ONLY (0x00000010) /* Backup/Restore only configurations*/
677
678
679/* GetHsmConfig/SetHsmConfig */
680
681/* dwParam*/
682#define HC_PASS_PORT_VALUE (0x00000001) /* Monitoring port. pbData == wPortNumber */
683#define HC_PASS_PORT_ENABLE (0x00000002) /* Enable/disable monitoring port. pbData == bEnable */
684#define HC_MAX_CONNECT (0x00000004) /* Maximum connections (processing). pbData == dwMaxConnections */
685#define HC_MAX_MONITORING (0x00000008) /* Maximum connections (monitoring). pbData == dwMaxConnections */
686#define HC_PERMISSION_IP (0x00000010) /* Clients IP list. pbData == szIPList (xxx.xxx.xxx.xxx;xxx...) */
687
688/* dwFlags */
689#define ENABLE_VALUES (0x00000020) /* Enable values indicated by pbData. */
690#define DISABLE_VALUES (0x00000040) /* Disable values indicated by pbData. */
691
692
693/* DAdmOperation */
694
695/* dwParam */
696#define AO_SHUTDOWN (1) /* Shutdown HSM. pbData == NULL */
697#define AO_RESTART (2) /* Restart HSM services. pbData == NULL */
698#define AO_KEEPALIVE (4) /* Keep session alive. */
699#define AO_SET_DATE_TIME (8) /* Set the HSM's time and date. pbData == struct tm (time.h) */
700#define AO_ADD_CLUSTER_LIST (16) /* DEPRECATED! */
701#define AO_DEL_CLUSTER_LIST (18) /* DEPRECATED! */
702#define AO_GET_CLUSTER_LIST (20) /* DEPRECATED! */
703#define AO_RST_CLUSTER_LIST (24) /* DEPRECATED! */
704#define AO_SET_PWD_SEC_POLICY (25) /* Define password security policies. */
705#define AO_GET_PWD_SEC_POLICY (32) /* Recover password security policies. */
706#define AO_REPL_UPDATE (33) /* Process an update replication command. pbData == NULL */
707#define AO_REPL_NODE_MESSAGE (34) /* Send comands to the HSM's replication subsystem. pbData == *REPL_NODE_MSG */
708#define AO_LOG_CACHE_STATE (35) /* Get cache log state. pbData == *DWORD */
709#define AO_LOG_CACHE_ENABLE (36) /* Enable log cache. pbData == NULL */
710#define AO_LOG_CACHE_DISABLE (37) /* Disable log cache. pbData == NULL */
711#define AO_SET_TLS_BUNDLE (38) /* Set TLS bundle. pbData == TLS_BUNDLE_INFO */
712
713#define AO_EFTD_ACTIVATE (39)
714#define AO_EFTD_DEACTIVATE (40)
715#define AO_EFTD_RESET_CONF (41)
716#define AO_EFTD_GET_CONF (42)
717#define AO_EFTD_SET_MSG_HEADER_LEN (43)
718#define AO_EFTD_SET_PIN_LEN (44)
719#define AO_GET_GLOBAL_OBJ_STATS (45)
720#define AO_GET_SEC_POLICY_GFLAGS (46)
721#define AO_SET_SEC_POLICY_GFLAGS (47)
722#define AO_GET_HMON_INFO (48)
723#define AO_DRBG_HEALTH_TEST (49)
724#define AO_TSSP_ZERO_COMPLETED (50)
725#define AO_INSTALL_LICENSE (51)
726#define AO_UNINSTALL_LICENSE (52)
727#define AO_GET_INSTALLED_LICENSES (53)
728#define AO_EFTD_SET_ALIAS (54)
729#define AO_EFTD_SET_RESTRICT_KCV (55)
731#define AO_KEEPALIVE_FLAG_NOISELESS ((DWORD) -2371)
732
733#define AO_LOG_CACHE_STATE_ENABLED (11)
734#define AO_LOG_CACHE_STATE_DISABLED (22)
735
736#define DN_LIC_MAX_NAME (51)
738#define DN_LIC_NAME_VIRTUAL_PREFIX '>'
739#define DN_LIC_NAME_OEM_PREFIX '@'
742/*
743 AO_GET_SEC_POLICY_GFLAGS and AO_SET_SEC_POLICY_GFLAGS supported GFLAGS.
744*/
745
746#define DN_SEPOL_GF_ENABLE_HTTP_X509_SA (1 << 0)
747#define DN_SEPOL_GF_ENABLE_NSA_API_AUTH (1 << 1)
748#define DN_SEPOL_GF_ENABLE_LEGACY_TLS (1 << 2)
751//
752// Replication operation messages
753// to be used with AO_REPL_NODE_MESSAGE.
754//
755#define RNM_PROBE (1)
756#define RNM_DOWN (2)
757#define RNM_SLP_BYPASS_ADD (3)
758#define RNM_SLP_BYPASS_DEL (4)
759
760#define DN_EFTD_DEFAULT_USER "eftd0"
761#define DN_EFTD_MIN_MSG_HEADER_LEN (1)
762#define DN_EFTD_MAX_MSG_HEADER_LEN (255)
763#define DN_EFTD_MIN_PIN_LEN (5)
764#define DN_EFTD_MAX_PIN_LEN (13)
765#define DN_EFTD_MAX_KEY_ALIAS_LEN (159)
767#define DN_EFTD_JSON_CONF_MSG_HDR_LEN "msg-hdr-len"
768#define DN_EFTD_JSON_CONF_PIN_LEN "pin-len"
769#define DN_EFTD_JSON_CONF_EFTD0_ACTIV "eftd0"
770#define DN_EFTD_JSON_CONF_RESTRICT_KCV "restrict-kcv"
771#define DN_EFTD_JSON_CONF_ALIAS "alias"
773/* SetUserParam/GetUserParam */
774
775/* dwParam */
776#define UP_USER_NAME (0x00000001) /* User name. pbData == szUserName */
777#define UP_AUTH_MASK (0x00000002) /* Authorization mask. pdData == dwAuthMask */
778#define UP_ACCESS_TYPE (0x00000004) /* Access type mask. pbData == dwAccessType */
779#define UP_CERTIFICATE (0x00000008) /* User certificate. pbData == pbCertificate */
780#define UP_PASSWORD (0x00000010) /* User password. pbData == pwd */
781#define UP_INVALID_LOGIN_ATTEMPTS (0x00000020) /* Amount of invalid login attempts. pbData == DWORD */
782#define UP_BLOCK_USR (0x00000040) /* Block user. == szUserName */
783#define UP_UNBLOCK_USR (0x00000080) /* Unblock user. == szUserName */
784#define UP_USR_PASSWORD (0x00000100) /* Re-define user password. == USER_INFO */
785#define UP_USR_PA_STATE (0x00000200) /* Partition autorization state. == USER_PA_INFO */
786#define UP_USR_OBJ_COUNT (0x00000400) /* User persisting object count. == DN_USER_OBJ_COUNT */
787
788/* FindUser */
789
790/* dwFindType */
791#define FU_USER_ID (0x00000001) /* User ID pvFindParam == szUserId */
792#define FU_USER_NAME (0x00000002) /* User ID pvFindParam == szUserName */
793#define FU_AUTH_MASK (0x00000004) /* Authorization mask. pvFindParam == dwAuthMask */
794#define FU_ACCESS_TYPE (0x00000008) /* Access type. pvFindParam == dwAccessType */
795#define FU_ROOT_ID (0x00000010) /* Root certificate issuer. pvFindParam == szRootCN */
796
797/* dwFlags */
798#define PARTIAL_VALUE (0x00000080) /* pvFindParam contains part of the search value. */
799
800/* DGetHsmInfo */
801
802#define HI_BATTERY_LIFE (0x00000001) /* Battery remaining life time. pbData == tLife (time_t) */
803#define HI_PERFOMANCE_COUNT (0x00000002) /* Use percentage: CPU, Memory e disk. pbData == * PERFOMANCE_COUNT */
804#define HI_MODULE_INFO (0x00000004) /* Existing modules. pbData == * MODULE_INFO */
805#define HI_HSM_INFO (0x00000008) /* HSM's model and version. pbData == szHsmInfo */
806#define HI_OPERATIONS_COUNT (0x00000010) /* Operation counter. pbData == * OPERATIONS_INFO */
807#define HI_SYS_HEALTH (0x00000020) /* Elapsed time since last update and battery check. pbData == * SYS_HEALTH */
808#define HI_FIPS_MODE (0x00000040) /* Recover HSM's operation mode. pbData == *DWORD */
809#define HI_DISK_INFO (0x00000080) /* Recover HSM's disk usage information. pbData == *SYS_DISK_INFO */
810#define HI_REPL_INFO (0x00000100) /* Recover HSM's replication information. pbData == *SYS_REPL_INFO */
811#define HI_CURRENT_DATE (0x00000200) /* Recover HSM's date and time. pbData == *QWORD */
812#define HI_HW_STR (0x00000400) /* Recover HSM's date and time. pbData == *SYS_HW_STR_INFO */
813#define HI_NTP_INFO (0x00000800) /* Recover HSM's date and time. pbData == *SYS_NTP_INFO */
814#define HI_STATS_INFO (0x00001000) /* Recover HSM's statistics info. pbData == *SYS_STATUS_INFO */
815#define HI_COUNTER_INFO (0x00002000) /* Recover HSM's counter info. pbData == *SYS_COUNTER_INFO */
816#define HI_FIPS_RCODE_INFO (0x00004000) /* Recover HSM's Restrict Modes auto-test return code. pbData == *DWORD */
817#define HI_PENDING_INFO (0x00008000) /* Recover HSM's pending info. pbData == *SYS_PENDING_INFO */
818#define HI_ALL_INFO (0x00010000) /* Recover HSM's ALL info. pbData == *SYS_ALL_INFO */
819
820
821#define INVALID_OBJ_TYPE (0)
822
823#define MSGSH_NO_INFO (0xFFFFFFFF)
824
825
826#define GET_INFO_MAX_REPL_DOMAIN_NAME (1024)
827#define GET_INFO_MAX_REPL_NODES (255)
828#define GET_INFO_MAX_SN_LEN (255)
829#define GET_INFO_MAX_HW_STR_LEN (255)
830#define GET_INFO_MAX_TPKEY_LEN (16)
831#define GET_INFO_MAX_NTP_SVRS (16)
832#define GET_INFO_MAX_NTPQ_LEN (256)
833#define GET_INFO_MAX_NTP_KT_LEN (16)
834#define GET_INFO_MAX_NTP_KM_LEN (64)
835
836
837//Replication states returned by SYS_REPL_INFO structure.
838#define REPL_STATE_TWOPC_VIRTUAL (1)
839#define REPL_STATE_TWOPC_PREPARED (2)
840#define REPL_STATE_TWOPC_COMMITTED (3)
841#define REPL_STATE_TWOPC_COMMITTED_TM (4)
842
843//Replication events returned by SYS_REPL_INFO structure.
844#define REPL_EVENT_ET_NULL (1)
845#define REPL_EVENT_ET_CREATE_USR (2)
846#define REPL_EVENT_ET_DELETE_USR (3)
847#define REPL_EVENT_ET_CREATE_OBJ (4)
848#define REPL_EVENT_ET_DELETE_OBJ (5)
849#define REPL_EVENT_ET_DELETE_USR_OTP_AUTH_INFO (6)
850#define REPL_EVENT_ET_WRITE_USR_OTP_AUTH_INFO (7)
851#define REPL_EVENT_ET_UPDATE_USR_OTP_AUTH_INFO (8)
852#define REPL_EVENT_ET_CHANGE_USR_PWD (9)
853#define REPL_EVENT_ET_SET_USR_LOCK_COUNT (10)
854#define REPL_EVENT_ET_SET_GLOBAL_SEC_POLICY (11)
855#define REPL_EVENT_ET_SET_SYS_DATE_TIME (12)
856#define REPL_EVENT_ET_UPDATE_ACL (13)
857#define REPL_EVENT_ET_BLOCK_OBJ (14)
858#define REPL_EVENT_ET_UPDATE_OBJ (15)
859#define REPL_EVENT_ET_SET_USR_NS_AUTH_COOKIE (16)
860#define REPL_EVENT_ET_SET_USR_OTP_MOV_FACTOR (17)
861
862/* DListUserTrusts */
863
864#define OP_LST_USR_TRUSTERS (0x01) /* List users that permits the current logged user to access it's partition. */
865#define OP_LST_USR_TRUSTEES (0x02) /* List users that have permission to access the current logged user's partition. */
866
867
868/* DAssignToken/DUnassignToken */
869
870#define AT_GO3_TOKEN (1) /* DEPRECATED! */
871#define AT_OATH_TOKEN (2) /* Assign a OATH EVENT OTP token */
872#define AT_OATH_TOKEN_TOTP (3) /* Assign a OATH TIME OTP token */
873
874//
875// mod_OATH's NEW_SA; use with structure OATH_SA_v1.
876//
877#define MAX_OATH_HMAC_LEN (128) // up to hmac-sha512, in bytes
878
879#define OATH_SA_v1_type_SHA1 (0x01)
880#define OATH_SA_v1_HOTP_DYN_TRUNC_OFF (16)
881#define OATH_SA_v2_default_TIME_STEP (30)
882#define OATH_SA_v2_default_T0_Epoch (0)
883
884
885/* DOATHResync */
886
887#define OATH_MIN_HOTP_LEN (6 + 1) //plus 1 for the null terminator
888#define OATH_MAX_HOTP_LEN (16 + 1) //plus 1 for the null terminator
889
890/* DOATHGetBlobInfo */
891
892#define OATH_ISSUE_OATH_BLOB_t (1)
893#define OATH_ISSUE_OATH_INFO_t (2)
894
895
896/* DEncrypt/DDecrypt */
897
898#define D_NO_RSA_PADDING (3)
899#define D_FORCE_ACTUAL_RSA (4)
900
901
902/* DPKCS7Sign - Sign using PKCS#7 */
903
904#define TAC_MOD_CORE_P7_TEXT 0x0001
905#define TAC_MOD_CORE_P7_NOCERTS 0x0002
906#define TAC_MOD_CORE_P7_NOSIGS 0x0004
907#define TAC_MOD_CORE_P7_NOCHAIN 0x0008
908#define TAC_MOD_CORE_P7_NOINTERN 0x0010
909#define TAC_MOD_CORE_P7_NOVERIFY 0x0020
910#define TAC_MOD_CORE_P7_DETACHED 0x0040
911#define TAC_MOD_CORE_P7_BINARY 0x0080
912#define TAC_MOD_CORE_P7_NOATTR 0x0100
913#define TAC_MOD_CORE_P7_NOSMIMECAP 0x0200
914#define TAC_MOD_CORE_P7_NOOLDMIMETYPE 0x0400
915#define TAC_MOD_CORE_P7_CRLFEOL 0x0800
916#define TAC_MOD_CORE_P7_NOCRL 0x2000
917
918#define TAC_MOD_CORE_P7_COSIGN 0x80000000
919
920
921
922/* HASH algorithms */
923
924#define ALG_MD5 (1)
925#define ALG_SHA1 (2)
926#define ALG_SSL_SHA1_MD5 (3)
927#define ALG_SHA2_256 (4)
928#define ALG_SHA2_384 (5)
929#define ALG_SHA2_512 (6)
930#define ALG_SHA2_224 (7)
931#define ALG_SHA3_224 (8)
932#define ALG_SHA3_256 (9)
933#define ALG_SHA3_384 (10)
934#define ALG_SHA3_512 (11)
935
936#define ALG_IDENTITY_FUNC (255)
937
938/*
939 DSignXML/DSignXML2/DPIXSign hash mode options.
940*/
941#define ALG_MD5_InclC14N (1)
942#define ALG_SHA1_InclC14N (2)
943#define ALG_SHA256_InclC14N (3)
944#define ALG_SHA384_InclC14N (4)
945#define ALG_SHA512_InclC14N (5)
946#define ALG_SHA224_InclC14N (6)
947#define ALG_MD5_ExclC14N (31)
948#define ALG_SHA1_ExclC14N (32)
949#define ALG_MD5_InclC14NWithComments (33)
950#define ALG_SHA1_InclC14NWithComments (34)
951#define ALG_MD5_ExclC14NWithComments (35)
952#define ALG_SHA1_ExclC14NWithComments (36)
953#define ALG_SHA256_ExclC14N (37)
954#define ALG_SHA256_InclC14NWithComments (38)
955#define ALG_SHA256_ExclC14NWithComments (39)
956#define ALG_SHA384_ExclC14N (40)
957#define ALG_SHA384_InclC14NWithComments (41)
958#define ALG_SHA384_ExclC14NWithComments (42)
959#define ALG_SHA512_ExclC14N (43)
960#define ALG_SHA512_InclC14NWithComments (44)
961#define ALG_SHA512_ExclC14NWithComments (45)
962#define ALG_SHA224_ExclC14N (46)
963#define ALG_SHA224_InclC14NWithComments (47)
964#define ALG_SHA224_ExclC14NWithComments (48)
965
966/*
967 DSignXML2 flags
968*/
969
970
971#define XML_SIGN_FLAGS_FQN (1 << 31)
972#define XML_SIGN_FLAGS_NOL (1 << 30)
973#define XML_SIGN_FLAGS_NO_RNS (1 << 29)
974
975
976/*
977 DSignXML/DSignXML2 filter options
978*/
979
980#define XML_FILTER_NULL_URI "''"
981
982/*
983 DPIXSign flags
984*/
985
986#define PIX_SIGN_RNS (1)
987
988/* DPIXPost/DPIXGet/DPIXDelete */
989
990#define PIX_VERIFY_HOST_NAME (0x00000001)
991#define PIX_BASIC_HTTP_HEADER (0x00000002)
992#define PIX_GZIP (0x00000004)
993
994/*
995 DPIXJWSSign
996*/
997
998#define PIX_JWS_GEN_MAX_LEN (8*1024)
999
1000#define MD5_LEN (16)
1001#define SHA1_LEN (20)
1002#define SSL_SHA1_MD5_LEN (36)
1003#define SHA2_224_LEN (28)
1004#define SHA2_256_LEN (32)
1005#define SHA2_384_LEN (48)
1006#define SHA2_512_LEN (64)
1007#define CMAC_3DES_LEN (8)
1008#define CMAC_AES_LEN (16)
1009#define SHA3_224_LEN (28)
1010#define SHA3_256_LEN (32)
1011#define SHA3_384_LEN (48)
1012#define SHA3_512_LEN (64)
1013
1014#define MAX_HASH_LEN (64)//SHA2_512_LEN
1015
1016/* Digital signature */
1017
1018#define NO_HASH_OID (1)
1019#define MD5_HASH_OID (2)
1020#define SHA_HASH_OID (3)
1021#define SHA256_HASH_OID (4)
1022#define SHA384_HASH_OID (5)
1023#define SHA512_HASH_OID (6)
1024#define SHA224_HASH_OID (7)
1025
1026#define MD5_HASH_OID_LEN (18)
1027#define SHA_HASH_OID_LEN (15)
1028#define SHA224_HASH_OID_LEN (19)
1029#define SHA256_HASH_OID_LEN (19)
1030#define SHA384_HASH_OID_LEN (19)
1031#define SHA512_HASH_OID_LEN (19)
1032
1033#define MAX_OID_LEN (SHA512_HASH_OID_LEN)
1034
1035/* DSignHash flags */
1036
1037#define DN_SIGN_NO_HASH_OID (0x01)
1038#define DN_SIGN_DISABLE_LEGACY_OPERATION (0x02)
1039#define DN_SIGN_ECC_P11_FMT (0x04)
1040
1041/* DVerifySignature flags */
1042
1043#define DN_VERIFY_NO_HASH_OID (0x01)
1044#define DN_VERIFY_ECC_P11_FMT (0x02)
1045#define DN_VERIFY_LOCAL (0x04)
1047#define DN_SIG_EDDSA_MAX_DATA_LEN (4 * 1024 * 1024)
1048#define DN_MAX_EDDSA_SIG_LEN (256)
1049#define DN_MAX_SLH_DSA_SIG_LEN (49856)
1050#define DN_MAX_ML_DSA_SIG_LEN (4627)
1052#define DN_MAX_PQC_SIG_LEN (DN_MAX_SLH_DSA_SIG_LEN)
1054/* PQC */
1055
1056#define DN_MAX_PQC_DSA_CTX_LEN (255)
1057#define DN_MAX_PQC_DSA_DATA_LEN (4 * 1024 * 1024)
1059/* PQC signature sizes */
1060
1061#define DN_ML_DSA_44_SIG_LEN (2420)
1062#define DN_ML_DSA_65_SIG_LEN (3309)
1063#define DN_ML_DSA_87_SIG_LEN (4627)
1065#define DN_SLH_DSA_128S_SIG_LEN (7856)
1066#define DN_SLH_DSA_128F_SIG_LEN (17088)
1067#define DN_SLH_DSA_192S_SIG_LEN (16224)
1068#define DN_SLH_DSA_192F_SIG_LEN (35664)
1069#define DN_SLH_DSA_256S_SIG_LEN (29792)
1070#define DN_SLH_DSA_256F_SIG_LEN (49856)
1072// Do not change this line! It is used by script to generate documentation.
1073// ----> Init object algorithms list
1074
1075/* Symmetric algorithms */
1076
1077#define ALG_DES (1)
1078#define ALG_3DES_112 (2) /* EDE */
1079#define ALG_3DES_168 (3) /* EDE */
1080#define ALG_DESX (91)
1081
1082#define ALG_AES_128 (7)
1083#define ALG_AES_192 (8)
1084#define ALG_AES_256 (9)
1085
1086#define ALG_ARC4 (10)
1087#define ALG_ARC5 (89)
1088
1089/* Asymmetric algorithms */
1090
1091#define ALG_RSA_512 (4)
1092#define ALG_RSA_1024 (5)
1093#define ALG_RSA_2048 (6)
1094#define ALG_RSA_4096 (11)
1095#define ALG_RSA_1152 (121)
1096#define ALG_RSA_1408 (122)
1097#define ALG_RSA_1536 (131)
1098#define ALG_RSA_1976 (130)
1099#define ALG_RSA_1984 (123)
1100#define ALG_RSA_8192 (124)
1101#define ALG_RSA_2304 (126)
1102#define ALG_RSA_2560 (127)
1103#define ALG_RSA_2816 (128)
1104#define ALG_RSA_3072 (129)
1105
1106#define ALG_DSA_2048 (150)
1107#define ALG_DSA_3072 (151)
1108
1109#define ALG_DH_RFC5114_2048 (152)
1110#define ALG_DH_RFC7919_2048 (153)
1111#define ALG_DH_RFC7919_3072 (154)
1112
1113#define ALG_OBJ_CSP (193)
1115#define ALG_ECX_ED25519 (201)
1116#define ALG_ECX_ED448 (202)
1117#define ALG_ECX_X25519 (203)
1118#define ALG_ECX_X448 (204)
1119
1120#define ALG_ECC_SECP112R1 (18) // SECG/WTLS curve over a 112 bit prime field
1121#define ALG_ECC_SECP112R2 (19) // SECG curve over a 112 bit prime field
1122#define ALG_ECC_SECP128R1 (20) // SECG curve over a 128 bit prime field
1123#define ALG_ECC_SECP128R2 (21) // SECG curve over a 128 bit prime field
1124#define ALG_ECC_SECP160K1 (22) // SECG curve over a 160 bit prime field
1125#define ALG_ECC_SECP160R1 (23) // SECG curve over a 160 bit prime field
1126#define ALG_ECC_SECP160R2 (24) // SECG/WTLS curve over a 160 bit prime field
1127#define ALG_ECC_SECP192K1 (25) // SECG curve over a 192 bit prime field
1128#define ALG_ECC_SECP192R1 (26) // NIST/X9.62/SECG curve over a 192 bit prime field
1129#define ALG_ECC_SECP224K1 (27) // SECG curve over a 224 bit prime field
1130#define ALG_ECC_SECP224R1 (28) // NIST/SECG curve over a 224 bit prime field
1131#define ALG_ECC_SECP256K1 (29) // SECG curve over a 256 bit prime field
1132#define ALG_ECC_SECP256R1 (30) // X9.62/SECG curve over a 256 bit prime field
1133#define ALG_ECC_SECP384R1 (31) // NIST/SECG curve over a 384 bit prime field
1134#define ALG_ECC_SECP521R1 (32) // NIST/SECG curve over a 521 bit prime field
1135#define ALG_ECC_X9_62_PRIME192V1 (ALG_ECC_SECP192R1)
1136#define ALG_ECC_X9_62_PRIME192V2 (33) // X9.62 curve over a 192 bit prime field
1137#define ALG_ECC_X9_62_PRIME192V3 (34) // X9.62 curve over a 192 bit prime field
1138#define ALG_ECC_X9_62_PRIME239V1 (35) // X9.62 curve over a 239 bit prime field
1139#define ALG_ECC_X9_62_PRIME239V2 (36) // X9.62 curve over a 239 bit prime field
1140#define ALG_ECC_X9_62_PRIME239V3 (37) // X9.62 curve over a 239 bit prime field
1141#define ALG_ECC_X9_62_PRIME256V1 (ALG_ECC_SECP256R1)
1142
1143#define ALG_ECC_BRAINPOOL_P160R1 (38) // RFC 5639 standard curves
1144#define ALG_ECC_BRAINPOOL_P160T1 (39)
1145#define ALG_ECC_BRAINPOOL_P192R1 (40)
1146#define ALG_ECC_BRAINPOOL_P192T1 (41)
1147#define ALG_ECC_BRAINPOOL_P224R1 (42)
1148#define ALG_ECC_BRAINPOOL_P224T1 (43)
1149#define ALG_ECC_BRAINPOOL_P256R1 (44)
1150#define ALG_ECC_BRAINPOOL_P256T1 (45)
1151#define ALG_ECC_BRAINPOOL_P320R1 (46)
1152#define ALG_ECC_BRAINPOOL_P320T1 (47)
1153#define ALG_ECC_BRAINPOOL_P384R1 (48)
1154#define ALG_ECC_BRAINPOOL_P384T1 (49)
1155#define ALG_ECC_BRAINPOOL_P512R1 (50)
1156#define ALG_ECC_BRAINPOOL_P512T1 (51)
1157
1158/* ECC bchain */
1159#define ALG_BLKC_BTC_MINI_KEY (1771)
1160#define ALG_BLKC_BIP32_SXPRIV (1772)
1161#define ALG_BLKC_BIP39_SXPRIV (1773)
1162#define ALG_BLKC_BIP32_XPRIV (1774)
1163#define ALG_BLKC_BIP32_ED25519_XPRIV (1775)
1164#define ALG_BLKC_BIP32_P256_XPRIV (1776)
1165
1166
1167#define ALG_ALT_BN128 (2771)
1168
1169/* PQC */
1170#define ALG_ML_DSA_44 (500)
1171#define ALG_ML_DSA_65 (501)
1172#define ALG_ML_DSA_87 (502)
1173
1174#define ALG_ML_KEM_512 (503)
1175#define ALG_ML_KEM_768 (504)
1176#define ALG_ML_KEM_1024 (505)
1177
1178#define ALG_SLH_DSA_SHA2_128S (506)
1179#define ALG_SLH_DSA_SHAKE_128S (507)
1180#define ALG_SLH_DSA_SHA2_128F (508)
1181#define ALG_SLH_DSA_SHAKE_128F (509)
1182#define ALG_SLH_DSA_SHA2_192S (510)
1183#define ALG_SLH_DSA_SHAKE_192S (511)
1184#define ALG_SLH_DSA_SHA2_192F (512)
1185#define ALG_SLH_DSA_SHAKE_192F (513)
1186#define ALG_SLH_DSA_SHA2_256S (514)
1187#define ALG_SLH_DSA_SHAKE_256S (515)
1188#define ALG_SLH_DSA_SHA2_256F (516)
1189#define ALG_SLH_DSA_SHAKE_256F (517)
1190
1191/* blobs */
1192#define ALG_OBJ_BLOB (12)
1193#define ALG_OBJ_BLOB_X509 (13)
1194#define ALG_OBJ_BLOB_PKCS7 (14)
1195#define ALG_OBJ_BLOB_CRL (15)
1196#define ALG_OBJ_BLOB_HOTP (16)
1197#define ALG_OBJ_BLOB_DPGO3 (17) /* TAC-PASS (Vasco Digipass GO3 Compatible) */
1198#define ALG_OBJ_MAP (90)
1199#define ALG_OBJ_EXT_MAP_2_OBJ (125)
1200
1201
1202/* Public key objects */
1203
1204#define ALG_OBJ_PUBKEY_BLOB (350)
1205#define ALG_OBJ_PUBKEY_RSA_BLOB (351) // pkcs1/oem
1206#define ALG_OBJ_PUBKEY_ECC_BLOB (352) // SubjectPublicKeyInfo
1207#define ALG_OBJ_PUBKEY_SPKI_RSA_BLOB (353) // SubjectPublicKeyInfo
1208#define ALG_OBJ_PUBKEY_ECC_Ed_BLOB (354) // SubjectPublicKeyInfo
1209#define ALG_OBJ_PUBKEY_ECC_X_BLOB (355) // SubjectPublicKeyInfo
1210#define ALG_OBJ_PUBKEY_DSA_BLOB (356) // SubjectPublicKeyInfo
1211#define ALG_OBJ_PUBKEY_DH_BLOB (357) // SubjectPublicKeyInfo
1212#define ALG_OBJ_PUBKEY_ML_DSA_BLOB (358) // SubjectPublicKeyInfo
1213#define ALG_OBJ_PUBKEY_ML_KEM_BLOB (359) // SubjectPublicKeyInfo
1214#define ALG_OBJ_PUBKEY_SLH_DSA_BLOB (360) // SubjectPublicKeyInfo
1215
1216/* HMAC objects */
1217
1218#define ALG_HMAC_MD5 (92)
1219#define ALG_HMAC_SHA1 (93)
1220#define ALG_HMAC_SHA2_256 (94)
1221#define ALG_HMAC_SHA2_384 (95)
1222#define ALG_HMAC_SHA2_512 (96)
1223#define ALG_HMAC_SHA2_224 (97)
1224#define ALG_HMAC_SHA3_224 (98)
1225#define ALG_HMAC_SHA3_256 (99)
1226#define ALG_HMAC_SHA3_384 (100)
1227#define ALG_HMAC_SHA3_512 (101)
1228
1229/* HMAC key length limits for variable-length import via PLAINTEXTKEY_BLOB */
1230
1231#define DN_HMAC_IMPORT_MIN_KEY_LEN (8)
1232#define DN_HMAC_IMPORT_MAX_KEY_LEN (256)
1234/* CMAC algorithms - DCreateHash Only */
1235
1236#define ALG_CMAC_AES (250)
1237#define ALG_CMAC_DES (251)
1238
1239
1240/* PKCS11 objects */
1241
1242#define ALG_PKCS11_MAP (120) // pkcs11 shell obj
1243
1244/* Public keys -> most significant bit of the DWORD must be set. */
1245
1246#define ALG_RSA_512_PUB (ALG_RSA_512 | 1 << 31)
1247#define ALG_RSA_1024_PUB (ALG_RSA_1024 | 1 << 31)
1248#define ALG_RSA_2048_PUB (ALG_RSA_2048 | 1 << 31)
1249#define ALG_RSA_4096_PUB (ALG_RSA_4096 | 1 << 31)
1250#define ALG_RSA_1152_PUB (ALG_RSA_1152 | 1 << 31)
1251#define ALG_RSA_1408_PUB (ALG_RSA_1408 | 1 << 31)
1252#define ALG_RSA_1536_PUB (ALG_RSA_1536 | 1 << 31)
1253#define ALG_RSA_1976_PUB (ALG_RSA_1976 | 1 << 31)
1254#define ALG_RSA_1984_PUB (ALG_RSA_1984 | 1 << 31)
1255#define ALG_RSA_8192_PUB (ALG_RSA_8192 | 1 << 31)
1256#define ALG_RSA_2304_PUB (ALG_RSA_2304 | 1 << 31)
1257#define ALG_RSA_2560_PUB (ALG_RSA_2560 | 1 << 31)
1258#define ALG_RSA_2816_PUB (ALG_RSA_2816 | 1 << 31)
1259#define ALG_RSA_3072_PUB (ALG_RSA_3072 | 1 << 31)
1260
1261#define ALG_DSA_2048_PUB (ALG_DSA_2048 | 1 << 31)
1262#define ALG_DSA_3072_PUB (ALG_DSA_3072 | 1 << 31)
1263
1264#define ALG_DH_RFC5114_2048_PUB (ALG_DH_RFC5114_2048 | 1 << 31)
1265#define ALG_DH_RFC7919_2048_PUB (ALG_DH_RFC7919_2048 | 1 << 31)
1266#define ALG_DH_RFC7919_3072_PUB (ALG_DH_RFC7919_3072 | 1 << 31)
1267
1268#define ALG_ECX_ED25519_PUB (ALG_ECX_ED25519 | 1 << 31)
1269#define ALG_ECX_ED448_PUB (ALG_ECX_ED448 | 1 << 31)
1270#define ALG_ECX_X25519_PUB (ALG_ECX_X25519 | 1 << 31)
1271#define ALG_ECX_X448_PUB (ALG_ECX_X448 | 1 << 31)
1272
1273#define ALG_ECC_SECP112R1_PUB (ALG_ECC_SECP112R1 | (1 << 31))
1274#define ALG_ECC_SECP112R2_PUB (ALG_ECC_SECP112R2 | (1 << 31))
1275#define ALG_ECC_SECP128R1_PUB (ALG_ECC_SECP128R1 | (1 << 31))
1276#define ALG_ECC_SECP128R2_PUB (ALG_ECC_SECP128R2 | (1 << 31))
1277#define ALG_ECC_SECP160K1_PUB (ALG_ECC_SECP160K1 | (1 << 31))
1278#define ALG_ECC_SECP160R1_PUB (ALG_ECC_SECP160R1 | (1 << 31))
1279#define ALG_ECC_SECP160R2_PUB (ALG_ECC_SECP160R2 | (1 << 31))
1280#define ALG_ECC_SECP192K1_PUB (ALG_ECC_SECP192K1 | (1 << 31))
1281#define ALG_ECC_SECP192R1_PUB (ALG_ECC_SECP192R1 | (1 << 31))
1282#define ALG_ECC_SECP224K1_PUB (ALG_ECC_SECP224K1 | (1 << 31))
1283#define ALG_ECC_SECP224R1_PUB (ALG_ECC_SECP224R1 | (1 << 31))
1284#define ALG_ECC_SECP256K1_PUB (ALG_ECC_SECP256K1 | (1 << 31))
1285#define ALG_ECC_SECP256R1_PUB (ALG_ECC_SECP256R1 | (1 << 31))
1286#define ALG_ECC_SECP384R1_PUB (ALG_ECC_SECP384R1 | (1 << 31))
1287#define ALG_ECC_SECP521R1_PUB (ALG_ECC_SECP521R1 | (1 << 31))
1288#define ALG_ECC_X9_62_PRIME192V1_PUB (ALG_ECC_SECP192R1_PUB)
1289#define ALG_ECC_X9_62_PRIME192V2_PUB (ALG_ECC_X9_62_PRIME192V2 | (1 << 31))
1290#define ALG_ECC_X9_62_PRIME192V3_PUB (ALG_ECC_X9_62_PRIME192V3 | (1 << 31))
1291#define ALG_ECC_X9_62_PRIME239V1_PUB (ALG_ECC_X9_62_PRIME239V1 | (1 << 31))
1292#define ALG_ECC_X9_62_PRIME239V2_PUB (ALG_ECC_X9_62_PRIME239V2 | (1 << 31))
1293#define ALG_ECC_X9_62_PRIME239V3_PUB (ALG_ECC_X9_62_PRIME239V3 | (1 << 31))
1294#define ALG_ECC_X9_62_PRIME256V1_PUB (ALG_ECC_SECP256R1_PUB)
1295
1296#define ALG_ECC_BRAINPOOL_P160R1_PUB (ALG_ECC_BRAINPOOL_P160R1 | (1 << 31))
1297#define ALG_ECC_BRAINPOOL_P160T1_PUB (ALG_ECC_BRAINPOOL_P160T1 | (1 << 31))
1298#define ALG_ECC_BRAINPOOL_P192R1_PUB (ALG_ECC_BRAINPOOL_P192R1 | (1 << 31))
1299#define ALG_ECC_BRAINPOOL_P192T1_PUB (ALG_ECC_BRAINPOOL_P192T1 | (1 << 31))
1300#define ALG_ECC_BRAINPOOL_P224R1_PUB (ALG_ECC_BRAINPOOL_P224R1 | (1 << 31))
1301#define ALG_ECC_BRAINPOOL_P224T1_PUB (ALG_ECC_BRAINPOOL_P224T1 | (1 << 31))
1302#define ALG_ECC_BRAINPOOL_P256R1_PUB (ALG_ECC_BRAINPOOL_P256R1 | (1 << 31))
1303#define ALG_ECC_BRAINPOOL_P256T1_PUB (ALG_ECC_BRAINPOOL_P256T1 | (1 << 31))
1304#define ALG_ECC_BRAINPOOL_P320R1_PUB (ALG_ECC_BRAINPOOL_P320R1 | (1 << 31))
1305#define ALG_ECC_BRAINPOOL_P320T1_PUB (ALG_ECC_BRAINPOOL_P320T1 | (1 << 31))
1306#define ALG_ECC_BRAINPOOL_P384R1_PUB (ALG_ECC_BRAINPOOL_P384R1 | (1 << 31))
1307#define ALG_ECC_BRAINPOOL_P384T1_PUB (ALG_ECC_BRAINPOOL_P384T1 | (1 << 31))
1308#define ALG_ECC_BRAINPOOL_P512R1_PUB (ALG_ECC_BRAINPOOL_P512R1 | (1 << 31))
1309#define ALG_ECC_BRAINPOOL_P512T1_PUB (ALG_ECC_BRAINPOOL_P512T1 | (1 << 31))
1310
1311#define ALG_ML_DSA_44_PUB (ALG_ML_DSA_44 | (1 << 31))
1312#define ALG_ML_DSA_65_PUB (ALG_ML_DSA_65 | (1 << 31))
1313#define ALG_ML_DSA_87_PUB (ALG_ML_DSA_87 | (1 << 31))
1314
1315#define ALG_ML_KEM_512_PUB (ALG_ML_KEM_512 | (1 << 31))
1316#define ALG_ML_KEM_768_PUB (ALG_ML_KEM_768 | (1 << 31))
1317#define ALG_ML_KEM_1024_PUB (ALG_ML_KEM_1024 | (1 << 31))
1318
1319#define ALG_SLH_DSA_SHA2_128S_PUB (ALG_SLH_DSA_SHA2_128S | (1 << 31))
1320#define ALG_SLH_DSA_SHAKE_128S_PUB (ALG_SLH_DSA_SHAKE_128S | (1 << 31))
1321#define ALG_SLH_DSA_SHA2_128F_PUB (ALG_SLH_DSA_SHA2_128F | (1 << 31))
1322#define ALG_SLH_DSA_SHAKE_128F_PUB (ALG_SLH_DSA_SHAKE_128F | (1 << 31))
1323#define ALG_SLH_DSA_SHA2_192S_PUB (ALG_SLH_DSA_SHA2_192S | (1 << 31))
1324#define ALG_SLH_DSA_SHAKE_192S_PUB (ALG_SLH_DSA_SHAKE_192S | (1 << 31))
1325#define ALG_SLH_DSA_SHA2_192F_PUB (ALG_SLH_DSA_SHA2_192F | (1 << 31))
1326#define ALG_SLH_DSA_SHAKE_192F_PUB (ALG_SLH_DSA_SHAKE_192F | (1 << 31))
1327#define ALG_SLH_DSA_SHA2_256S_PUB (ALG_SLH_DSA_SHA2_256S | (1 << 31))
1328#define ALG_SLH_DSA_SHAKE_256S_PUB (ALG_SLH_DSA_SHAKE_256S | (1 << 31))
1329#define ALG_SLH_DSA_SHA2_256F_PUB (ALG_SLH_DSA_SHA2_256F | (1 << 31))
1330#define ALG_SLH_DSA_SHAKE_256F_PUB (ALG_SLH_DSA_SHAKE_256F | (1 << 31))
1331
1332/* Binary objects */
1333
1334#define ALG_OBJ_INVALID_TYPE (0)
1335#define ALG_OBJ_NULL (ALG_OBJ_INVALID_TYPE)
1336#define ALG_OBJ (12)
1337
1338// Do not change this line! It is used by script to generate documentation.
1339// <---- End object algorithms list
1340
1341
1342/* Symmetric key sizes (bytes) */
1343
1344#define ALG_DES_LEN (8)
1345#define ALG_DES3_112_LEN (16)
1346#define ALG_DES3_168_LEN (24)
1347
1348//Deprecated
1349#define DES_LEN (ALG_DES_LEN)
1350#define DES3_112_LEN (ALG_DES3_112_LEN)
1351#define DES3_168_LEN (ALG_DES3_168_LEN)
1352
1353#define ALG_DESX_LEN (24)
1354
1355#define ALG_AES_128_LEN (16)
1356#define ALG_AES_192_LEN (24)
1357#define ALG_AES_256_LEN (32)
1358
1359#define ALG_ARC4_LEN (16)
1360#define ALG_ARC5_LEN (16)
1361
1362/* Block sizes */
1363
1364#define DES_BLOCK (8)
1365#define DES3_BLOCK (8)
1366#define DESX_BLOCK (8)
1367#define AES_BLOCK (16)
1368#define AES_128_BLOCK (16)
1369#define AES_192_BLOCK (16)
1370#define AES_256_BLOCK (16)
1371#define ARC5_BLOCK (8)
1372
1373#define DN_GCM_MODE_TAG_LEN (16)
1374
1375/* Operation modes */
1376
1377#define MODE_DEFAULT (0xFFFFFFFF)
1378#define MODE_NONE (0)
1379#define MODE_ECB (1 << 0)
1380#define MODE_CBC (1 << 1)
1381#define MODE_KWP (1 << 2)
1382#define MODE_OFB (1 << 3)
1383#define MODE_CTR (1 << 4)
1384#define MODE_GCM (1 << 5)
1385#define MODE_KW (1 << 6)
1387/* Operation directions */
1388
1389#define D_ENCRYPT (0 << 7)
1390#define D_DECRYPT (1 << 7)
1391
1392/* RSA module sizes */
1393#define RSA_512_LEN (64)
1394#define RSA_1024_LEN (128)
1395#define RSA_2048_LEN (256)
1396#define RSA_4096_LEN (512)
1397#define RSA_1152_LEN (144)
1398#define RSA_1408_LEN (176)
1399#define RSA_1536_LEN (192)
1400#define RSA_1976_LEN (247)
1401#define RSA_1984_LEN (248)
1402#define RSA_8192_LEN (1024)
1403#define RSA_2304_LEN (288)
1404#define RSA_2560_LEN (320)
1405#define RSA_2816_LEN (352)
1406#define RSA_3072_LEN (384)
1407
1408#define RSA_512_PUB_LEN (RSA_512_LEN * 2)
1409#define RSA_1024_PUB_LEN (RSA_1024_LEN * 2)
1410#define RSA_2048_PUB_LEN (RSA_2048_LEN * 2)
1411#define RSA_4096_PUB_LEN (RSA_4096_LEN * 2)
1412#define RSA_1152_PUB_LEN (RSA_1152_LEN * 2)
1413#define RSA_1408_PUB_LEN (RSA_1408_LEN * 2)
1414#define RSA_1536_PUB_LEN (RSA_1536_LEN * 2)
1415#define RSA_1976_PUB_LEN (RSA_1976_LEN * 2)
1416#define RSA_1984_PUB_LEN (RSA_1984_LEN * 2)
1417#define RSA_8192_PUB_LEN (RSA_8192_LEN * 2)
1418#define RSA_2304_PUB_LEN (RSA_2304_LEN * 2)
1419#define RSA_2560_PUB_LEN (RSA_2560_LEN * 2)
1420#define RSA_2816_PUB_LEN (RSA_2816_LEN * 2)
1421#define RSA_3072_PUB_LEN (RSA_3072_LEN * 2)
1422
1423#define MAX_RSA_PUB_LEN RSA_8192_PUB_LEN
1424#define MAX_RSA_LEN RSA_8192_LEN
1425
1426
1427/* ECC key sizes (bits) */
1428#define ECC_SECP112R1_LEN (112)
1429#define ECC_SECP112R2_LEN (112)
1430#define ECC_SECP128R1_LEN (128)
1431#define ECC_SECP128R2_LEN (128)
1432#define ECC_SECP160K1_LEN (160)
1433#define ECC_SECP160R1_LEN (160)
1434#define ECC_SECP160R2_LEN (160)
1435#define ECC_SECP192K1_LEN (192)
1436#define ECC_SECP192R1_LEN (192)
1437#define ECC_SECP224K1_LEN (224)
1438#define ECC_SECP224R1_LEN (224)
1439#define ECC_SECP256K1_LEN (256)
1440#define ECC_SECP256R1_LEN (256)
1441#define ECC_SECP384R1_LEN (384)
1442#define ECC_SECP521R1_LEN (521)
1443#define ECC_X9_62_PRIME192V1_LEN (ECC_SECP192R1_LEN)
1444#define ECC_X9_62_PRIME192V2_LEN (192)
1445#define ECC_X9_62_PRIME192V3_LEN (192)
1446#define ECC_X9_62_PRIME239V1_LEN (239)
1447#define ECC_X9_62_PRIME239V2_LEN (239)
1448#define ECC_X9_62_PRIME239V3_LEN (239)
1449#define ECC_X9_62_PRIME256V1_LEN (ECC_SECP256R1_LEN)
1450
1451#define ECC_BRAINPOOL_P160R1_LEN (160) // RFC 5639 standard curves
1452#define ECC_BRAINPOOL_P160T1_LEN (160)
1453#define ECC_BRAINPOOL_P192R1_LEN (192)
1454#define ECC_BRAINPOOL_P192T1_LEN (192)
1455#define ECC_BRAINPOOL_P224R1_LEN (224)
1456#define ECC_BRAINPOOL_P224T1_LEN (224)
1457#define ECC_BRAINPOOL_P256R1_LEN (256)
1458#define ECC_BRAINPOOL_P256T1_LEN (256)
1459#define ECC_BRAINPOOL_P320R1_LEN (320)
1460#define ECC_BRAINPOOL_P320T1_LEN (320)
1461#define ECC_BRAINPOOL_P384R1_LEN (384)
1462#define ECC_BRAINPOOL_P384T1_LEN (384)
1463#define ECC_BRAINPOOL_P512R1_LEN (512)
1464#define ECC_BRAINPOOL_P512T1_LEN (512)
1465
1466#define ECC_Ed25519_LEN (256)
1467#define ECC_Ed448_LEN (448)
1468#define ECC_X25519_LEN (256)
1469#define ECC_X448_LEN (448)
1470
1471/* Initialization vector sizes */
1472
1473#define DES_IV_LEN (DES_BLOCK)
1474#define AES_IV_LEN (AES_BLOCK)
1475#define AES_GCM_MIN_IV_LEN (12)
1476#define AES_GCM_MAX_IV_LEN (16)
1477#define AES_GCM_DEFAULT_IV_LEN (AES_GCM_MIN_IV_LEN)
1479#define MAX_IV_LEN (64)
1481/* Padding */
1482
1483#define D_DEFAULT_PADDING (0xFFFFFFFF) // Placeholder for default padding
1484#define D_NO_PADDING (0)
1485#define D_PKCS5_PADDING (1)
1486#define D_ZERO_PADDING (2)
1487#define D_OAEP_PADDING (3)
1488#define D_OAEP_SHA1_PADDING (D_OAEP_PADDING)
1489#define D_PKCS1_PADDING (4)
1490#define D_PSS_PADDING (5)
1491#define D_X931_PADDING (6)
1492#define D_PSS_SALT_LEN_MD_PADDING (7)
1493#define D_OAEP_SHA2_256_PADDING (8)
1494
1495
1496/* Key Blobs */
1497
1498#define PRIVATEKEY_BLOB (1)
1499#define PUBLICKEY_BLOB (2)
1500#define SIMPLE_BLOB (3)
1501#define PLAINTEXTKEY_BLOB (4)
1502#define RAW_BLOB (5) //Deprecated
1503#define HOTP_BLOB (6)
1504#define SIMPLE_BLOB_OAEP (7)
1505#define SIMPLE_BLOB_PKCS1 (SIMPLE_BLOB)
1506#define PUBLICKEY_BLOB_X509 (8)
1507#define SYM_WRAPPED_KEY_BLOB (9)
1508#define OPAQUE_BLOB (10)
1509#define PUBLICKEY_BLOB_HSM (11)
1510#define PUBLICKEY_RSA_PARTS_HSM (12)
1511#define PRIVATEKEY_BLOB_P8 (13)
1512#define PRIVATEKEY_BLOB_STRICT (14)
1513#define SYM_WRAPPED_KEY_BLOB_P11 (15)//Importkey only
1514#define WRAPPED_KEY_BLOB (16)
1515#define PRIVATE_RSA_KEY_INFO (17)
1516#define WRAPPED_KEY_BLOB_P8 (18)
1517#define WRAPPED_KEY_KMIP (19)
1518#define PUBLICKEY_BLOB_KMIP (20)
1519
1520
1521
1522/* Pkcs11 Blobs */
1523#define P11_BLOB (1)
1524
1525/* Pkcs11 Update Flags */
1526
1527#define UPDATE_P11_target ( 1 << 0 )
1528#define UPDATE_P11_associate ( 1 << 1 )
1529#define UPDATE_P11_Class ( 1 << 2 )
1530#define UPDATE_P11_App ( 1 << 3 )
1531#define UPDATE_P11_Id ( 1 << 4 )
1532#define UPDATE_P11_Label ( 1 << 5 )
1533#define UPDATE_P11_Trusted ( 1 << 6 )
1534#define UPDATE_P11_WrapWithTrusted ( 1 << 7 )
1535#define UPDATE_P11_Local ( 1 << 8 )
1536#define UPDATE_P11_CertificateCategory ( 1 << 9 )
1537#define UPDATE_P11_JavaMidpSecDomain ( 1 << 10 )
1538#define UPDATE_P11_KeyGenMechanism ( 1 << 11 )
1539
1540/* Key types */
1541
1542/* DGenerateKey DImportKey and related */
1543/* Flags */
1544#define EXPORTABLE_KEY (0x00000001) // Mark the key as exportable.
1545#define NO_CRYPTO (0x00000002) // The key will not be encrypted inside the HSM. Deprecated in newer versions.
1546#define TEMPORARY_KEY (0x00000004) // Mark key as temporary. Key will exist while the session exists. (default in ImportKey).
1547#define PERMANENT_KEY (0x00000008) // The key will be persistent in the HSM. (default in GenerateKey and ImportKeyPart).
1548#define RSA_PUB_EXP3 (0x00000800) // Use exponent 0x03 when generating a RSA key pair
1549#define MOD_SPB_RELATED (0x00001000) // Mark as mod_SPB related object
1550#define TSP_KEY (0x00002000) // TSP keys: don't replicate, export, backup, etc;
1551#define BCHAIN_KEY (0x00004000) // BChain keys: PBKs are handled specially, etc;
1552#define HSM_LOCAL_GEN (0x00008000) // set on HSM generated keys;
1553
1554// Attribute Usage-profile
1555#define AUP_DIG_SIG (0x01000000)
1556#define AUP_DATA_CRYPTO (0x02000000)
1557#define AUP_KeK (0x03000000)
1558#define AUP_MAC (0x04000000)
1559#define AUP_KDF (0x05000000)
1560#define AUP_CRYPTOGRAM (0x06000000)
1561#define AUP_KEY_TRANSLATE (0x07000000)
1562#define AUP_EFT_CVK (0x08000000)
1563#define AUP_EFT_VISA_PVK (0x09000000)
1564#define AUP_EFT_IBM_3624 (0x0a000000)
1565#define AUP_EFT_PEK (0x0b000000)
1566#define AUP_EFT_BDK (0x0c000000)
1567#define AUP_EFT_IPEK (0x0d000000)
1568#define AUP_EMV_IMK (0x0e000000)
1569#define AUP_EMV_IMKDAC (0x0f000000)
1570#define AUP_EMV_IMKENC (0x10000000)
1571#define AUP_EMV_IMKMAC (0x11000000)
1572#define AUP_EMV_KeK (0x12000000)
1573#define AUP_EMV_IMKKDF (0x13000000)
1574#define AUP_EMV_IMKACRYPTO (0x14000000)
1575#define AUP_EFT_KeK (0x15000000)
1576#define AUP_EMV_DIG_SIG (0x16000000)
1577#define AUP_EFT_TR31_KBPK (0x17000000)
1578#define AUP_EFT_TR34_PK (0x18000000)
1579#define AUP_SPB_PK (0x19000000)
1580#define AUP_EFT_X9_24_PART (0x1a000000)
1583#define AUP_RESERVED_MASK (0xFF000000) // Mask of reserved Usage profile bits.
1584
1585/* DRemoveKey */
1586#define REMOVE_FROM_HSM (0x00000020) // Erase a key from the HSM and destroys it's handle.
1587#define REMOVE_FROM_HCM (REMOVE_FROM_HSM) // DEPRECATED. use REMOVE_FROM_HSM
1588
1589/* SetKeyParam/GetKeyParam */
1590
1591#define DKP_ALGID (1)
1592#define DKP_IV (2)
1593#define DKP_PADDING (3)
1594#define DKP_MODE (4)
1595#define DKP_OWNER (5)
1596#define DKP_USER (6)
1597#define DKP_READ_LOCK (7)
1598#define DKP_ENCRYPTED (8)
1599#define DKP_KEYLEN (9)
1600#define DKP_TEMPORARY_KEY (10)
1601#define DKP_MAP_VALUE (11)
1602#define DKP_BLOCKED (12)
1603#define DKP_CERT_X509_INFO (13)
1604#define DKP_SESSION (14)
1605#define DKP_KEY_ID (15)
1606#define DKP_PUB_KEY_EXP (16)
1607#define DKP_SP80057_INFO (17)
1608#define DKP_KEY_INFO (18)
1609#define DKP_BLOCK_SIZE (19)
1610#define DKP_OBJ_ATTRIBUTES (20)
1611#define DKP_OBJ_STATS (21)
1612#define DKP_PQC_SIG_DET (22)
1613#define DKP_PQC_SIG_PH (23)
1614#define DKP_PQC_CTX (24)
1615#define DKP_IV_AUTO_GEN (25)
1617//Flags
1618#define REMOVE_ATTRIBUTE (0x00000040)
1619
1620/* SetHashParam/GetHashParam */
1621
1622#define DHP_ALGID (1) /* Hash algorithm. */
1623#define DHP_HASH_VALUE (2) /* Hash value. */
1624#define DHP_HASH_SIZE (4) /* Hash size (bytes). */
1625#define DHP_RESET (5) /* Reset hash state. */
1626
1627/* HashSessionKey */
1628
1629#define DHS_LITTLE_ENDIAN (1)
1630
1631/* DSetObjParam */
1632#define OP_OBJ_BLOCKED (1) /* User blocked */
1633#define OP_OBJ_UNBLOCKED (2) /* Used unblocked */
1634
1635/* LogParam */
1636
1637#define LP_LOG_PATH (0x00000001) /* Log file full path. */
1638#define LP_LOG_LEVEL (0x00000002) /* Log level. */
1639
1640#define LOG_ERROR_LEVEL (0)
1641#define LOG_DEBUG_LEVEL (3)
1642
1643#define LOG_DISABLED_LEVEL (1000)
1644
1645/*
1646 DGetHSMLogInit
1647 Remote log start and offset options
1648*/
1649
1650#define GET_LOG_START_FULL (0x00000000) //Deprecated - Use RLOG_GET_LOG_START_FULL instead.
1651#define GET_LOG_END_FULL (0x00000000) //Deprecated - Use RLOG_GET_LOG_END_FULL instead.
1652
1653#define RLOG_GET_LOG_START_FULL (0x00000000)
1654#define RLOG_GET_LOG_END_FULL (0x00000000)
1655
1656#define RLOG_GET_ZLOG_START_FULL (RLOG_GET_LOG_START_FULL)
1657#define RLOG_GET_ZLOG_END_FULL (0xFFFFFFFF)
1658
1659// Set both to get full compressed OEM log (pkzip format).
1660#define RLOG_GET_OEM_ZLOG_START_FULL (RLOG_GET_LOG_START_FULL)
1661#define RLOG_GET_OEM_ZLOG_END_FULL (RLOG_GET_ZLOG_END_FULL -1)
1662
1663
1664/* Permissions */
1665
1666#define ACL_NOP (0x00000000) // "may the Force be with ya'!"
1667#define ACL_OBJ_DEL (ACL_NOP + 1) // delete objects
1668#define ACL_OBJ_READ (ACL_OBJ_DEL << 1) // read obj content
1669#define ACL_OBJ_LIST (ACL_OBJ_READ) // list usr objs
1670#define ACL_OBJ_CREATE (ACL_OBJ_DEL << 2) // create obj
1671#define ACL_OBJ_UPDATE (ACL_OBJ_DEL << 3) // update obj (hdr and alike)
1672#define ACL_OBJ_WRITE (ACL_OBJ_UPDATE) // update obj
1673#define ACL_USR_CREATE (ACL_OBJ_DEL << 4) // create usr
1674#define ACL_USR_DELETE (ACL_USR_CREATE) // makes no sense only to create
1675#define ACL_USR_REMOTE_INFO (ACL_OBJ_DEL << 5) // can usr use remote log/info?
1676#define ACL_USR_LIST (ACL_OBJ_DEL << 6) // can usr get user-list?
1677#define ACL_SYS_OPERATOR (ACL_OBJ_DEL << 7) // operate as master (adm mode)
1678#define ACL_SYS_BACKUP (ACL_OBJ_DEL << 8) // extract full appliance backup
1679#define ACL_SYS_RESTORE (ACL_SYS_BACKUP) // restore full appliance backup
1680#define ACL_SYS_UDATE_HSM (ACL_OBJ_DEL << 9) // firmware and stuff like that
1681#define ACL_NS_AUTHORIZATION (ACL_OBJ_DEL << 10) // user must be authorized with "m of n"
1682#define ACL_LOCAL_CRYPTO (ACL_OBJ_DEL << 11) // Deprecated. DCreateUser returns D_DEPRECATED if set.
1683#define ACL_VIRTUAL_X509_AUTH (ACL_OBJ_DEL << 28) // presence means SA (user must use 2F PKI)
1684#define ACL_VIRTUAL_OTP_AUTH (ACL_OBJ_DEL << 29) // presence means SA (user must use 2-F OTP)
1685#define ACL_CHANGE_PWD_NEXT_TIME (ACL_OBJ_DEL << 30) // can force usrs to change pwd on next login
1686
1687// Deprecated use ACL_USR_REMOTE_INFO
1688#define ACL_USR_REMOTE_LOG ACL_USR_REMOTE_INFO
1689
1690#define ACL_DEFAULT_OWNER (ACL_OBJ_DEL | ACL_OBJ_READ | ACL_OBJ_CREATE | \
1691 ACL_OBJ_UPDATE)
1692
1693#define ACL_SYS_PERMISSIONS (ACL_USR_CREATE | ACL_USR_REMOTE_INFO | ACL_USR_LIST | \
1694 ACL_SYS_OPERATOR | ACL_SYS_BACKUP | \
1695 ACL_SYS_UDATE_HSM)
1696
1697#define ACL_CREATION_TIME_ONLY (ACL_NS_AUTHORIZATION | ACL_LOCAL_CRYPTO)
1698
1699// DNSAuthSetState
1700
1701//
1702// NSAuth specific ACLs; NSAuth always grants ACL_OBJ_READ by default;
1703//
1704#define NSAUTH_ACL_NOP (ACL_NOP)
1705#define NSAUTH_ACL_OBJ_OPEN (ACL_OBJ_READ)
1706#define NSAUTH_ACL_OBJ_EXPORT (ACL_OBJ_CREATE)
1707#define NSAUTH_ACL_OBJ_DEL (ACL_OBJ_DEL)
1708#define NSAUTH_ACL_OBJ_BLOCK (ACL_OBJ_UPDATE)
1709#define NSAUTH_ACL_NS_DEL (ACL_USR_DELETE)
1710
1711/* DGenerateCVV/DVerifyCVV */
1712
1713#define MIN_CVV_LEN (3 + 1)
1714#define MAX_PAN_LEN (24 + 1)
1715#define MAX_EXP_DATE_LEN (4 + 1)
1716#define MAX_SVC_LEN (3 + 1)
1717
1718/* DEFTExportTR31 */
1719
1720// A.5.1, Table 6, inverted (little-endian);
1721#define EFT_ME_TR31_EXP_USAGE_AUTO (0x0000)
1722#define EFT_ME_TR31_EXP_USAGE_B0 (0x3042)
1723#define EFT_ME_TR31_EXP_USAGE_B1 (0x3142)
1724#define EFT_ME_TR31_EXP_USAGE_B2 (0x3242)
1725#define EFT_ME_TR31_EXP_USAGE_C0 (0x3043)
1726#define EFT_ME_TR31_EXP_USAGE_D0 (0x3044)
1727#define EFT_ME_TR31_EXP_USAGE_D1 (0x3144)
1728#define EFT_ME_TR31_EXP_USAGE_D2 (0x3244)
1729#define EFT_ME_TR31_EXP_USAGE_E0 (0x3045)
1730#define EFT_ME_TR31_EXP_USAGE_E1 (0x3145)
1731#define EFT_ME_TR31_EXP_USAGE_E2 (0x3245)
1732#define EFT_ME_TR31_EXP_USAGE_E3 (0x3345)
1733#define EFT_ME_TR31_EXP_USAGE_E4 (0x3445)
1734#define EFT_ME_TR31_EXP_USAGE_E5 (0x3545)
1735#define EFT_ME_TR31_EXP_USAGE_E6 (0x3645)
1736#define EFT_ME_TR31_EXP_USAGE_I0 (0x3049)
1737#define EFT_ME_TR31_EXP_USAGE_K0 (0x304B)
1738#define EFT_ME_TR31_EXP_USAGE_K1 (0x314B)
1739#define EFT_ME_TR31_EXP_USAGE_K2 (0x324B)
1740#define EFT_ME_TR31_EXP_USAGE_K3 (0x334B)
1741#define EFT_ME_TR31_EXP_USAGE_M0 (0x304D)
1742#define EFT_ME_TR31_EXP_USAGE_M1 (0x314D)
1743#define EFT_ME_TR31_EXP_USAGE_M2 (0x324D)
1744#define EFT_ME_TR31_EXP_USAGE_M3 (0x334D)
1745#define EFT_ME_TR31_EXP_USAGE_M4 (0x344D)
1746#define EFT_ME_TR31_EXP_USAGE_M5 (0x354D)
1747#define EFT_ME_TR31_EXP_USAGE_M6 (0x364D)
1748#define EFT_ME_TR31_EXP_USAGE_M7 (0x374D)
1749#define EFT_ME_TR31_EXP_USAGE_M8 (0x384D)
1750#define EFT_ME_TR31_EXP_USAGE_P0 (0x3050)
1751#define EFT_ME_TR31_EXP_USAGE_S0 (0x3053)
1752#define EFT_ME_TR31_EXP_USAGE_S1 (0x3153)
1753#define EFT_ME_TR31_EXP_USAGE_S2 (0x3253)
1754#define EFT_ME_TR31_EXP_USAGE_V0 (0x3056)
1755#define EFT_ME_TR31_EXP_USAGE_V1 (0x3156)
1756#define EFT_ME_TR31_EXP_USAGE_V2 (0x3256)
1757#define EFT_ME_TR31_EXP_USAGE_V3 (0x3356)
1758#define EFT_ME_TR31_EXP_USAGE_V4 (0x3456)
1759
1760// A.5.3, Table 8
1761#define EFT_ME_TR31_EXP_MODE_AUTO (0x00)
1762#define EFT_ME_TR31_EXP_MODE_B (0x42)
1763#define EFT_ME_TR31_EXP_MODE_C (0x43)
1764#define EFT_ME_TR31_EXP_MODE_D (0x44)
1765#define EFT_ME_TR31_EXP_MODE_E (0x45)
1766#define EFT_ME_TR31_EXP_MODE_G (0x47)
1767#define EFT_ME_TR31_EXP_MODE_N (0x4E)
1768#define EFT_ME_TR31_EXP_MODE_S (0x53)
1769#define EFT_ME_TR31_EXP_MODE_T (0x55)
1770#define EFT_ME_TR31_EXP_MODE_V (0x56)
1771#define EFT_ME_TR31_EXP_MODE_X (0x58)
1772#define EFT_ME_TR31_EXP_MODE_Y (0x59)
1773
1774// A.5.5, Table 10
1775#define EFT_ME_TR31_EXP_AUTO (0x00)
1776#define EFT_ME_TR31_EXP_X9_24 (0x45) // ANSI X9.24 approved kek form
1777#define EFT_ME_TR31_EXP_NON_EXPORTABLE (0x4E)
1778#define EFT_ME_TR31_EXP_KEK_EXPORTABLE (0x53)
1779
1780/* DGeneratePVV */
1781
1782#define EFT_MIN_PVKI (0x00)
1783#define EFT_MAX_PVKI (0x06)
1784#define EFT_PVV_LEN (4)
1785
1786/* DGeneratePIN */
1787
1788#define GP_DEFAULT_PIN (1)
1789#define GP_USER_DEF_PIN (2)
1790#define GP_RANDOM_PIN (3)
1791
1792/* DEFTExportKey/DEFTKeKImport */
1793
1794#define EK_EFT_KEK_EXPORT_RAW (1) // BLOB() == envelope + checksum[3];
1795#define EK_EFT_KEK_EXPORT_VISA1 (2) // Variant-1 ZCMK, BLOB() == envelope + checksum[3];
1796#define EK_EFT_KEK_EXPORT_LMK (3) // BLOB() == 3DES_CBC(SVMK, Key)
1797#define EK_EFT_KEK_EXPORT_JCB (4) // BLOB() == envelope + checksum[8];
1798
1799/* DPINBlockTranslate */
1800
1801// translate types
1802#define TP_TRANSLATE_TYPE_AUTO (0xFF)
1803#define TP_TRANSLATE_TYPE_IBM_3624 (0x36)
1804#define TP_TRANSLATE_TYPE_ISO_0 (1) // == VISA 1; HSM default
1805#define TP_TRANSLATE_TYPE_ISO_1 (2)
1806#define TP_TRANSLATE_TYPE_ISO_3 (3)
1807
1808/* Other constants */
1809
1810#define MAX_USR_PWD (16)
1811#define MAX_USR_LEN (16)
1812#define MAX_CN_LEN (256)
1813#define MAX_PATH_LEN (256)
1814#define MAX_MODULE_NAME_LEN (128)
1815#define MAX_MODULE_VERSION_LEN (32)
1816#define MAX_ADDR_LEN (128)
1817#define MAX_CHANNEL_CIPHER_NAME_LEN (128)
1818#define MIN_PIN_LEN (8)
1819#define MIN_BACKUP_OBJ_PIN_LEN (8)
1820#define MAX_BACKUP_OBJ_PIN_LEN (32)
1821#define MIN_BACKUP_PIN_LEN (8)
1822#define MAX_BACKUP_PIN_LEN (32)
1823#define MAX_OBJ_NAME_LEN (32)
1824#define MAX_PIN_LEN (6)
1825#define MAX_MODULE_NAME_VERSION_LEN (1024)
1826#define MAX_IP_LEN (15)
1827#define MAX_NET_NAME (16)
1828#define MAX_HOTP_PIN (4)
1829#define MAX_HOTP_IMEI (24)
1830#define MAX_HOTP_APP_NAME (13)
1831#define MAX_HOTP_LOGO_LEN (1632)
1832#define MAX_P11_OBJ_ID (128)
1833#define MAX_OBJ_ID_BIN_LEN (32 + 1)
1834#ifndef MAX_OBJ_ID
1835#define MAX_OBJ_ID MAX_OBJ_ID_BIN_LEN
1836#endif
1837#ifndef MAX_OBJ_ID_LEN
1838#define MAX_OBJ_ID_LEN (MAX_USR_LEN + 1 + MAX_OBJ_ID)
1839#endif
1840#ifndef MAX_OBJ_ID_FQN_LEN
1841#define MAX_OBJ_ID_FQN_LEN (MAX_OBJ_ID_LEN)
1842#endif
1843#define MAX_P11_DATE_TXT (8)
1844#define MIN_EFT_PIN_LEN (4)
1845#define MAX_EFT_PIN_LEN (12)
1846#define MIN_KSI_LEN (5)
1847#define MIN_CTR_LEN (5)
1848#define MAX_HSM_DOMAIN_NAME (32)
1849#define MAX_HSM_MODEL_NAME (32)
1850#define MAX_HSM_ID_NAME (32)
1851
1852
1853/* MOD EFT*/
1854
1855#define EFT_AES_KEY_CHECKSUM_LEN (3)
1856#define EFT_VISA_KEY_CHECKSUM_LEN (3)
1857#define EFT_JCB_KEY_CHECKSUM_LEN (8)
1858#define EFT_EXP_DATE_LEN (4)
1859
1860#define EFT_EMV_SDA_SEQ_LEN (2)
1861#define EFT_EMV_SDA_DAC_LEN (2)
1862#define EFT_EMV_ARC_LEN (2)
1863#define EFT_EMV_CSU_LEN (4)
1864#define EFT_EMV_PAD_LEN (8)
1865
1866#define EFT_EMV_IDN_LEN (2)
1867#define EFT_EMV_IDN_ATC_LEN (2)
1868#define EFT_EMV_IDN_UN_LEN (4)
1869
1870#define EFT_EMV_CSR_VISA_TRACK_NUM_LEN (3)
1871#define EFT_EMV_CSR_VISA_SERVICE_ID_LEN (4)
1872#define EFT_EMV_CSR_VISA_ISSUER_ID_LEN (4)
1873#define EFT_EMV_CSR_VISA_PUB_KEY_INDEX_LEN (3)
1874
1875#define EFT_EMV_CSR_VISA_HASH_SIZE (20)
1876#define EFT_EMV_CSR_MASTER_HASH_SIZE (28)
1877
1878
1879
1880/* DGenerateICCMK */
1881
1882#define EFT_EMV_GEN_ICC_MK_OP_CBC_EXP (0x01)
1883#define EFT_EMV_GEN_ICC_MK_OP_ECB_EXP (0x02)
1884
1885/* DMAC_ISO9797_1_Met2*/
1886
1887#define EMV_MAC_TYPE_ALG1 (1)
1888#define EMV_MAC_TYPE_ALG3 (2)
1889
1890/* DGenerateEMV_MAC/DGenerateEMV_HMAC/DCalculateARPC */
1891
1892#define EMV_OP_ISO_9797_1_M2_COMMON (0x01)
1893#define EMV_OP_ISO_9797_1_M2_MCHIP (0x02)
1894#define EMV_OP_ISO_9797_1_M2_VISA (0x03)
1895#define EMV_OP_ISO_9797_1_M2_VISA_CRYPTOGRAM (0x04)
1896#define EMV_OP_ISO_9797_1_M2_VISA_ICC_V1_4_PAN_AUTO (0x05)
1897#define EMV_OP_ISO_9797_1_M2_RAW (0x06)
1898#define EMV_OP_ISO_9797_1_M1_VISA_CRYPTOGRAM_PADD_V10 (0x7F)
1899#define EMV_OP_ISO_9797_1_M2_ELO (0x07)
1900#define EMV_OP_ISO_9797_1_M2_JCB (0x08)
1901#define EMV_OP_ISO_9797_1_M1_JCB (0x09)
1902#define EMV_OP_ISO_9797_1_M1_JCB_CRYPTOGRAM (0x0A)
1903
1904/* DGenerateDDA_ICCCert */
1905
1906#define EFT_EMV_DDA_OP_RSA_SIGN1 (0x01) // rsa + sha1
1907
1908/* DGenerateEMV_CSR */
1909
1910#define EFT_EMV_OP_CSR_VISA (0x01)
1911#define EFT_EMV_OP_CSR_MASTER (0x02)
1912#define EFT_EMV_OP_CSR_ELO (0x03)
1913#define EFT_EMV_OP_CSR_JCB (0x04)
1914
1915
1916/* DGenerateISO9796Cert2 */
1917
1918#define CORE_P_ISO_9796_USER_ID_LEN (32)
1919#define CORE_P_ISO_9796_USER_NAME_LEN (32)
1920#define CORE_P_ISO_9796_KEY_LEN (512) // 128
1921#define CORE_P_ISO_9796_MIN_KEY_LEN (64)
1922#define CORE_P_ISO_9796_EXPONENT_LEN (8)
1923#define CORE_P_ISO_9796_MIN_EXPONENT_LEN (1)
1924
1925
1926/* DGenerateEMV_PinBlock */
1927
1928#define PBC_EMV_PIN_BLOCK_OP_COMMON (EMV_OP_ISO_9797_1_M2_COMMON)
1929#define PBC_EMV_PIN_BLOCK_OP_MCHIP (EMV_OP_ISO_9797_1_M2_MCHIP)
1930#define PBC_EMV_PIN_BLOCK_OP_VISA (EMV_OP_ISO_9797_1_M2_VISA)
1931#define PBC_EMV_PIN_BLOCK_OP_VISA_CRYPTOGRAM (EMV_OP_ISO_9797_1_M2_VISA_CRYPTOGRAM)
1932#define PBC_EMV_PIN_BLOCK_OP_ELO (EMV_OP_ISO_9797_1_M2_ELO)
1933#define PBC_EMV_PIN_BLOCK_OP_JCB (EMV_OP_ISO_9797_1_M2_JCB)
1934
1935#define PBC_EMV_PIN_BLOCK_MAX_OUTPUT (64)
1936
1937
1938/* DDeriveKeyFromBuffer */
1939
1940#define EMV_DERIVE_KEY_OP_XOR (0x01)
1941#define EMV_DERIVE_KEY_OP_ECB (0x02)
1942
1943
1944/* DGeneratePKCS10CSR */
1945
1946#define CORE_P10_CSR_VERSION1 (0x00)
1947#define CORE_P10_CSR_DN_MAX_LEN (2048)
1948
1949#define P10_CSR_DER (1)
1950#define P10_CSR_PEM (2)
1951
1952#define CORE_P10_HASH_SHA1 (0x01)
1953#define CORE_P10_HASH_SHA224 (0x02)
1954#define CORE_P10_HASH_SHA256 (0x03)
1955#define CORE_P10_HASH_SHA384 (0x04)
1956#define CORE_P10_HASH_SHA512 (0x05)
1957#define CORE_P10_HASH_SHA2_224 CORE_P10_HASH_SHA224
1958#define CORE_P10_HASH_SHA2_256 CORE_P10_HASH_SHA256
1959#define CORE_P10_HASH_SHA2_384 CORE_P10_HASH_SHA384
1960#define CORE_P10_HASH_SHA2_512 CORE_P10_HASH_SHA512
1961#define CORE_P10_HASH_SHA3_224 (0x06)
1962#define CORE_P10_HASH_SHA3_256 (0x07)
1963#define CORE_P10_HASH_SHA3_384 (0x08)
1964#define CORE_P10_HASH_SHA3_512 (0x09)
1965
1966/* DPKCS8ExportKey */
1967
1968// ASCII
1969#define CORE_P8_EXPORT_PWD_LEN (16)
1970#define ND_MIN_P8_PWD_LEN (8)
1971#define ND_MAX_P8_PWD_LEN (CORE_P8_EXPORT_PWD_LEN)
1972
1973/* DImportPKCS12Buffer */
1974
1975#define DN_MAX_P12_PWD_LEN (CORE_P8_EXPORT_PWD_LEN)
1976
1977/* DExportPKCS12 */
1978
1979#define DN_EXPORT_P12_LEGACY (1)
1980
1981/* SPB */
1982
1983#define DN_SPB_MSG_HEADER_V2_LEN (588)
1984#define ND_SPB_MSG_HEADER_V2_LEN DN_SPB_MSG_HEADER_V2_LEN
1985#define DN_SPB_MSG_HEADER_V3_LEN ND_SPB_MSG_HEADER_V2_LEN
1986#define DN_SPB_MAX_NOTIFY_DATA_SEG (32 * 1024)
1987#define ND_SPB_MAX_NOTIFY_DATA_SEG DN_SPB_MAX_NOTIFY_DATA_SEG
1988#define DN_SPB_V3_TAG_LEN (16)
1989#define DN_SPB_MAX_RCV_NOTIFY_DATA_SEG (ND_SPB_MAX_NOTIFY_DATA_SEG + DN_SPB_V3_TAG_LEN)
1990
1991//dwFlags
1992#define ND_SPB_USE_CIP1 (0x80000000)
1993#define ND_SPB_USE_ANY (0x40000000)
1994#define ND_SPB_RAW (0x20000000)
1995
1996/* DSPBEncode */
1997
1998//dwFlags
1999#define ND_SPB_ENCODE_GEN_01 (0x01)
2000#define ND_SPB_ENCODE_HEADER_V3 (0x02)
2001
2002/* DSPBDecode */
2003
2004//dwFlags
2005#define ND_SPB_OUT_NO_PADDING (0x01)
2006#define ND_SPB_OUT_WITH_PADDING (0x02)
2007
2008#define ND_SPB_ISPB_LEN (8)
2009#define ND_SPB_CA_LEN (2)
2010#define ND_SPB_DOMAIN_MAX_LEN (5)
2011#define ND_SPB_SN_MAX_LEN (32)
2012#define ND_SPB_ID_MAX_LEN (ND_SPB_SN_MAX_LEN + 1 + ND_SPB_CA_LEN + 1)
2013#define ND_SPB_ID_MAX_FQN_LEN (MAX_USR_LEN + 1 + ND_SPB_SN_MAX_LEN + 1 + ND_SPB_CA_LEN + 1)
2014#define ND_SPB_MAX_SUBJECT (1024)
2015#define ND_SPB_MAX_ISSUER (1024)
2016#define ND_SPB_MAX_ALG_ID (256)
2017
2018
2019//strong auth
2020#define SA_TP_MAX_DES_LEN (16 + 1)
2021#define SA_TP_MAX_OFFSET_LEN (6 + 1)
2022#define SA_TP_MAX_SERIAL_LEN (10 + 1)
2023#define SA_TP_MAX_MKEY_LEN (32 + 1)
2024#define SA_TP_MAX_OTP_LEN (6 + 1)
2025
2026#define SA_HOTP_CHAP_LEN (10)
2027
2028/* Module OATH */
2029
2030/* DOATHIssueHOTPBlob */
2031#define ISSUE_OATH_MIN_OTP_LEN (6)
2032#define ISSUE_OATH_MAX_OTP_LEN (16)
2033#define ISSUE_OATH_MAX_OTP_RETRY (129)
2034
2035//bSeedLen
2036#define ISSUE_OATH_SHA1_LEN (20)
2037#define ISSUE_OATH_SHA256_LEN (32)
2038#define ISSUE_OATH_SHA512_LEN (64)
2039
2040//bTruncationOffset
2041#define ISSUE_OATH_DYN_TRUNC (OATH_SA_v1_HOTP_DYN_TRUNC_OFF)
2042
2043//wTimeStep
2044#define ISSUE_OATH_DEFAULT_TIME_STEP (OATH_SA_v2_default_TIME_STEP)
2045#define ISSUE_OATH_HOTP_TS (0)
2046
2047//otT0
2048#define ISSUE_OATH_HOTP_T0 (OATH_SA_v2_default_T0_Epoch)
2049
2050//otMovingFactor
2051#define ISSUE_OATH_INIT_MF (0)
2052
2053#define ISSUE_OATH_OUTPUT_BLOB_V1_LEN (160)
2054#define ISSUE_OATH_OUTPUT_BLOB_V2_LEN (180)
2055#define ISSUE_OATH_OUTPUT_BLOB_LEN (ISSUE_OATH_OUTPUT_BLOB_V1_LEN)
2056#define ISSUE_OATH_OUTPUT_MAX_BLOB_LEN (ISSUE_OATH_OUTPUT_BLOB_V2_LEN)
2057
2058#define OATH_MAX_PSK_LEN (255)
2059
2060#define ISSUE_OATH_GENERATE_HOTP (1)
2061#define ISSUE_OATH_GENERATE_TOTP (2)
2062#define ISSUE_OATH_IMPORT_HOTP (3)
2063#define ISSUE_OATH_IMPORT_TOTP (4)
2064
2065
2066#define OATH_UPDATE_BLOB (0x80000000)
2067
2068/* DOATHOcraGen */
2069#define DN_OATH_OCRA_USE_CTR (1 << 0)
2070#define DN_OATH_OCRA_USE_PH20 (1 << 1)
2071#define DN_OATH_OCRA_USE_PH32 (1 << 2)
2072#define DN_OATH_OCRA_USE_PH64 (1 << 3)
2073#define DN_OATH_OCRA_USE_TS (1 << 4)
2075#define DN_OATH_OCRA_MAX_SUITE_LEN (128)
2076#define DN_OATH_OCRA_CTR_LEN (8)
2077#define DN_OATH_OCRA_MAX_Q_LEN (128)
2078#define DN_OATH_OCRA_CSESS_MAX_LEN (512)
2079#define DN_OATH_OCRA_TIME_STEPS_LEN (8)
2081#define ISSUE_OATH_BLOB_V2_IV_LEN (AES_BLOCK)
2082#define ISSUE_OATH_BLOB_V2_TAG_LEN (AES_BLOCK)
2083
2084/* DOATHCheckOTP */
2085
2086#define MAX_OTP_LOOK_AHEAD_INTERVAL (255)
2087
2088
2089#define DEFAULT_PORT (4433)
2090
2091
2092/* DListObjsFilter */
2093
2094#define LST_NO_FILTER (1)
2095#define LST_FILTER (2)
2096
2097/* DSPBCalculateObjectId */
2098
2099#define SPB_GENERATE_KEY_NAME (1)
2100#define SPB_GENERATE_CER_NAME (2)
2101
2102
2103/* DIPFilterOperation */
2104
2105#define D_IPF_ENABLE (1)
2106#define D_IPF_DISABLE (2)
2107#define D_IPF_LIST (33)
2108#define D_IPF_ADD (44)
2109#define D_IPF_DEL (55)
2110
2111
2112/* DCert2CertInfo */
2113
2114#define P2C_SPB_CERT_INFO (1)
2115#define P2C_CERT_BASIC_INFO (2)
2116
2117//CERT_X509_BASIC_INFO
2118#define DN_MAX_SUBJECT (1024)
2119#define DN_MAX_ISSUER (1024)
2120#define DN_MAX_SN (1024)
2121#define DN_MAX_EMAIL (1024)
2122#define DN_MAX_ALG_ID (256)
2123
2124
2125/* DGenerateDUKPT */
2126
2127// flags/modes; duk, pek, and mek are mutually exclusive;
2128#define NEW_DUKPT_MODE_DUK (0x00000000)
2129#define NEW_DUKPT_MODE_EXP (1 << 31)
2130#define NEW_DUKPT_MODE_DE (1 << 30)
2131#define NEW_DUKPT_MODE_PEK (1 << 29)
2132#define NEW_DUKPT_MODE_MEK (1 << 28)
2133#define NEW_DUKPT_MODE_TMP (1 << 27)
2134#define NEW_DUKPT_MODE_IPEK (1 << 26)
2135
2136
2137/* DGetNetInfo */
2138
2139#define NET_INFO_MAX_SROUTE_COUNT (48)
2140#define NET_INFO_MAX_SROUTE_LEN (52)
2141#define NET_INFO_MAX_SNMP_T_COUNT (16)
2142#define NET_INFO_MAX_SNMP_SC_STR (255)
2143#define NET_INFO_MAX_SNMP_SL_STR (255)
2144#define NET_INFO_MAX_SNMP_C_STR (64)
2145
2146//Flags
2147#define NET_INFO_INFO_0 (0)
2148#define NET_INFO_INFO_1 (1)
2149
2150/* Bond mode - comes in bond gateway info. */
2151#define NET_INFO_BOND_HOT_STANDBY "hot standby"
2152#define NET_INFO_BOND_BALANCE "balance"
2153#define NET_INFO_BOND_AGGREGATION "aggregation"
2154
2155
2156
2157/* DCertEncodingConvert and DGetHSMTLSCert*/
2158
2159#define CERT_OUT_DER 1
2160#define CERT_OUT_PEM 2
2161
2162
2163
2164/* DGenEcdhKey - dwOP */
2165
2166#define DN_ECDH_GEN_KEY_RAW_SECRET (0x01)
2167#define DN_ECDH_GEN_KEY_X9_63_SHA256 (0x02)
2168
2169// Deprecated use DN_ECDH_GEN_KEY_RAW_SECRET and DN_ECDH_GEN_KEY_X9_63_SHA256 instead.
2170#define DN_GEN_KEY_KDF_RAW_SECRET (DN_ECDH_GEN_KEY_RAW_SECRET)
2171#define DN_GEN_KEY_X9_63_SHA256 (DN_ECDH_GEN_KEY_X9_63_SHA256)
2172
2173#define DN_ECDH_GEN_KEY_MAX_DATA (1024)
2174#define DN_GEN_ECDH_MAX_SHARED_LEN (128)
2175
2176/* DGenDhKey - dwOP */
2177
2178#define DN_DH_GEN_KEY_RAW_SECRET (0x01)
2179#define DN_DH_GEN_KEY_X9_63_SHA256 (0x02)
2180
2181#define DN_DH_GEN_KEY_MAX_DATA (2048)
2182#define DN_GEN_DH_MAX_SHARED_LEN (512)
2183
2184/* DCreateHash */
2185
2186#define DN_HASH_OFFLINE (1)
2187
2188/* DFindHSM */
2189
2190//Service Type
2191#define DN_FIND_SRVC_TYPE_IP (1)
2192#define DN_FIND_SRVC_TYPE_AAP (2)
2193#define DN_FIND_SRVC_TYPE_ALL (3)
2194
2195//Filter
2196#define DN_FIND_FILTER_TYPE_POCKET (0x01)
2197#define DN_FIND_FILTER_TYPE_XP (0x02) //Not implemented
2198#define DN_FIND_FILTER_TYPE_ST (0x04) //Not implemented
2199#define DN_FIND_FILTER_TYPE_LEGACY (0x08) //Not implemented
2200#define DN_FIND_FILTER_TYPE_UNKNOWN (0x10) //Not implemented
2201#define DN_FIND_FILTER_TYPE_HSM (0x40000000)
2202#define DN_FIND_FILTER_TYPE_ALL (0x80000000)
2203
2204#define DN_SLP_POCKET_ID "$pocket"
2205#define DN_SLP_HSM_MODEL_POCKET "DMP"
2206#define DN_SLP_HSM_MODEL_XP "DXP"
2207#define DN_SLP_HSM_MODEL_ST "DST"
2208#define DN_SLP_HSM_MODEL_LEGACY "lhM"
2209#define DN_SLP_HSM_MODEL_UNKNOWN "DHSM"
2210
2211
2212/* DManageAToken */
2213
2214#define DN_USR_A_TOKEN_KLEN (16)
2215#define DN_RND_CHAP_LEN (16)
2216
2217#define DN_A_TOKEN_OP_ISSUE (1)
2218#define DN_A_TOKEN_OP_REVOKE (2)
2219#define DN_A_TOKEN_OP_LIST (3)
2220#define DN_A_TOKEN_OP_L_ISSUE (4)
2221#define DN_A_TOKEN_OP_L_REVOKE (5)
2222
2223#define DN_A_TOKEN_INFINITE (~0)
2224
2225
2226/* DBatchSign */
2227
2228#define DN_BATCH_SIGN_BLOCK_HEADER ((DWORD *2) + MAX_OBJ_ID_FQN_LEN)
2229
2230
2231/* DSetLBList and DGetLBList */
2232
2233#define DN_LB_LIST (1)
2234#define DN_MAX_LB_HSM_COUNT (16)
2235#define DN_MAX_LB_SETS (16)
2236
2237/* DGetUserKey */
2238
2239#define D_GET_USR_KEY_OFFLINE (1)
2240#define D_GET_USR_KEY_NO_PUB (2)
2241
2242/* DSVaultGenToken and DSVaultGetData */
2243
2244#define D_SVAULT_MIN_TL (6)
2245#define D_SVAULT_MAX_TL (256)
2246
2247#define D_SVAULT_T_TKR2 (1)
2248
2249#define D_SVAULT_F_MASK_TOKEN (1)
2250#define D_SVAULT_F_MASK_SECRET (2)
2251
2252#define D_SVAULT_CKS_NULL (0)
2253#define D_SVAULT_CKS_CPF (1)
2254#define D_SVAULT_CKS_CNPJ (2)
2255#define D_SVAULT_CKS_PAN (3)
2256#define D_SVAULT_CKS_IEL (4)
2257
2258#define D_SVAULT_BASE10 (10)
2259#define D_SVAULT_BASE16 (16)
2260#define D_SVAULT_BASE26 (26)
2261#define D_SVAULT_BASE52 (52)
2262#define D_SVAULT_BASE62 (62)
2263
2264#define D_SVAULT_TOKEN_BLOB_LEN (805)
2265
2266/* DSVaultGetData */
2267
2268#define D_SVAULT_GET_OP_SECRET (1)
2269#define D_SVAULT_GET_OP_TOKEN (2)
2270
2271/* DBchainCreateBip32Ckd */
2272
2273#define DN_BCHAIN_SECURE_BIP32_INDEX_BASE 0x80000000
2275/* DBchainGetAddress */
2276
2277#define DN_BCHAIN_MAX_ADDR_LEN (128)
2278#define DN_BCHAIN_MAX_HRP (64)
2280// Type
2281#define DN_BCHAIN_AT_BTC_P2PKH (1)
2282#define DN_BCHAIN_AT_BTC_P2SH (2)
2283#define DN_BCHAIN_AT_BTC_P2WPKH (3)
2284#define DN_BCHAIN_AT_BTC_P2WSH (4)
2285#define DN_BCHAIN_AT_BTC_B32_PKH (DN_BCHAIN_AT_BTC_P2WPKH)
2286#define DN_BCHAIN_AT_BTC_B32_SH (DN_BCHAIN_AT_BTC_P2WSH)
2287#define DN_BCHAIN_AT_ETH_EOA (5)
2288#define DN_BCHAIN_AT_ETH_EOA_MC_CKS (6)
2289#define DN_BCHAIN_AT_ETH_EOA_ICAP (7)
2290#define DN_BCHAIN_AT_ALGORAND (8)
2291#define DN_BCHAIN_AT_TRON_HEX (9)
2292#define DN_BCHAIN_AT_TRON_B58 (10)
2293#define DN_BCHAIN_AT_XRP (11)
2294#define DN_BCHAIN_AT_SOL (12)
2295#define DN_BCHAIN_AT_XLM (13)
2296#define DN_BCHAIN_AT_ADA_PKH (14)
2297#define DN_BCHAIN_AT_ADA_SH (15)
2298#define DN_BCHAIN_AT_LUNC (16)
2299#define DN_BCHAIN_AT_SS58 (17)
2300#define DN_BCHAIN_AT_XTZ (18)
2301#define DN_BCHAIN_AT_TON (19)
2302#define DN_BCHAIN_AT_TON_SH (20)
2303#define DN_BCHAIN_AT_ATOM (21)
2304#define DN_BCHAIN_AT_BTC_P2TR (22)
2306#define DN_BCHAIN_AT_LTC_P2PKH (DN_BCHAIN_AT_BTC_P2PKH)
2307#define DN_BCHAIN_AT_LTC_P2SH (DN_BCHAIN_AT_BTC_P2SH)
2308#define DN_BCHAIN_AT_LTC_P2WPKH (DN_BCHAIN_AT_BTC_P2WPKH)
2309#define DN_BCHAIN_AT_LTC_P2WSH (DN_BCHAIN_AT_BTC_P2WSH)
2310#define DN_BCHAIN_AT_LTC_P2TR (DN_BCHAIN_AT_BTC_P2TR)
2312// Version
2313#define DN_BCHAIN_VER_UNUSED (0x00)
2314#define DN_BCHAIN_VER_BTC_A1_MAIN_NET (0x00)
2315#define DN_BCHAIN_VER_BTC_AMN_TEST_NET (0x6F)
2316#define DN_BCHAIN_VER_BTC_A3_MAIN_NET (0x05)
2317#define DN_BCHAIN_VER_BTC_B32_WITVER (0x00)
2318#define DN_BCHAIN_VER_BTC_SEGWIT0 (0x00)
2319#define DN_BCHAIN_VER_BTC_SEGWIT1 (0x01)
2320#define DN_BCHAIN_VER_HTR_MAINNET (0x28)
2321#define DN_BCHAIN_VER_HTR_TESTNET (0x49)
2322#define DN_BCHAIN_VER_HTR_P2SH_MAINNET (0x64)
2323#define DN_BCHAIN_VER_HTR_P2SH_TESTNET (0x87)
2324#define DN_BCHAIN_VER_XRP_CLASSIC (0x00)
2325#define DN_BCHAIN_VER_LTC_SEGWIT0 (0x00)
2326#define DN_BCHAIN_VER_LTC_SEGWIT1 (0x01)
2327#define DN_BCHAIN_VER_LTC_AL_MAINNET (0x30)
2328#define DN_BCHAIN_VER_LTC_Amn_TESTNET (0x6F)
2329#define DN_BCHAIN_VER_LTC_AM_MAINNET (0x32)
2330#define DN_BCHAIN_VER_LTC_AQ_TESTNET (0x3A)
2331#define DN_BCHAIN_VER_ADA_MAINNET (0x01)
2332#define DN_BCHAIN_VER_ADA_TESTNET (0x00)
2333#define DN_BCHAIN_VER_SS58_POLKADOT (0x00)
2334#define DN_BCHAIN_VER_SS58_GEN_SUBST (0x2A)
2335#define DN_BCHAIN_VER_TON_MN_BWORK (0x01)
2336#define DN_BCHAIN_VER_TON_MN_MCHAIN (0x02)
2337#define DN_BCHAIN_VER_TON_TN_BWORK (0x03)
2338#define DN_BCHAIN_VER_TON_TN_MCHAIN (0x04)
2340// HRP
2341#define DN_BCHAIN_HRP_UNUSED ""
2342#define DN_BCHAIN_HRP_BTC_MAIN_NET "bc"
2343#define DN_BCHAIN_HRP_BTC_TEST_NET "tb"
2344#define DN_BCHAIN_HRP_LTC_MAINNET "ltc"
2345#define DN_BCHAIN_HRP_LTC_TESTNET "tltc"
2346#define DN_BCHAIN_HRP_TON_BNCBLE "bounceable"
2347#define DN_BCHAIN_HRP_TON_NBNCBLE "non-bounceable"
2349/* DBchainSignHash */
2350
2351#define DN_BCHAIN_MAX_SIG_LEN (128)
2353// Type
2354#define DN_BCHAIN_SIG_DER_ECDSA (1)
2355#define DN_BCHAIN_SIG_RAW_ECDSA (2)
2356#define DN_BCHAIN_SIG_BIP340 (3)
2357#define DN_BCHAIN_DER_RFC_6979_ECDSA (4)
2358#define DN_BCHAIN_RAW_RFC_6979_ECDSA (5)
2360#define DN_BCHAIN_SIG_RAW_ECDSA_R_LEN (32)
2361#define DN_BCHAIN_SIG_RAW_ECDSA_S_LEN (32)
2362#define DN_BCHAIN_SIG_RAW_ECDSA_V_LEN (1)
2364#define DN_BCHAIN_SIG_RAW_ECDSA_R_LEN (32)
2365#define DN_BCHAIN_SIG_RAW_ECDSA_S_LEN (32)
2366#define DN_BCHAIN_SIG_RAW_ECDSA_V_LEN (1)
2368// Hash mode
2369#define DN_BCHAIN_HASH_BTC_H160 (1)
2370#define DN_BCHAIN_HASH_RIPEMD160 (2)
2371#define DN_BCHAIN_HASH_SHA256 (3)
2372#define DN_BCHAIN_HASH_BTC_SHA256_2X (4)
2373#define DN_BCHAIN_HASH_KECCAK256 (5)
2374#define DN_BCHAIN_HASH_BLAKE2B224 (6)
2375#define DN_BCHAIN_HASH_BLAKE2B256 (7)
2377// Hash length
2378#define DN_BCHAIN_HASH_BTC_H160_LEN (20)
2379#define DN_BCHAIN_HASH_RIPEMD160_LEN (20)
2380#define DN_BCHAIN_HASH_SHA256_LEN (32)
2381#define DN_BCHAIN_HASH_BTC_SHA256_2X_LEN (32)
2382#define DN_BCHAIN_HASH_KECCAK256_LEN (32)
2383#define DN_BCHAIN_HASH_BLAKE2B224_LEN (28)
2384#define DN_BCHAIN_HASH_BLAKE2B256_LEN (32)
2386#define DN_BCHAIN_MAX_HASH_LEN (DN_BCHAIN_HASH_KECCAK256_LEN)
2388/* DBchainEdDsaSign and DBchainEdDsaVerify */
2389
2390#define DN_BCHAIN_EDDSA_MAX_CSTRL (255)
2391#define DN_BCHAIN_EDDSA_CSTR_UNUSED ""
2392#define DN_BCHAIN_EDDSA_MAX_DATA_LEN (4 * 1024 * 1024)
2394#define DN_BCHAIN_EDDSA_SIG_PURE (254)
2395#define DN_BCHAIN_EDDSA_SIG_ALGORAND (253)
2396#define DN_BCHAIN_EDDSA_SIG_XRP (252)
2397#define DN_BCHAIN_EDDSA_SIG_SOL (251)
2398#define DN_BCHAIN_EdDSA_SIG_XLM (250)
2399#define DN_BCHAIN_EdDSA_SIG_ADA (249)
2400#define DN_BCHAIN_EdDSA_SIG_DOT (248)
2401#define DN_BCHAIN_EdDSA_SIG_XTZ (247)
2402#define DN_BCHAIN_EdDSA_SIG_XTZ_PH (246)
2404/* DBchainPkImport and DBchainPkExport */
2405#define DN_BCHAIN_KEY_WIF (1)
2406#define DN_BCHAIN_KEY_MINI (2)
2407#define DN_BCHAIN_KEY_HEX (3)
2408#define DN_BCHAIN_KEY_SEC1 (4)
2409#define DN_BCHAIN_KEY_XPRIV (5)
2410#define DN_BCHAIN_KEY_ED25519_B64 (6)
2411#define DN_BCHAIN_KEY_ED25519_XPRIV (7)
2412#define DN_BCHAIN_KEY_Ed25519_SKPK (8)
2413#define DN_BCHAIN_KEY_Ed25519_SK (9)
2414#define DN_BCHAIN_KEY_Ed25519_XTZ (10)
2415#define DN_BCHAIN_KEY_P256_XPRIV (11)
2417// Version
2418#define DN_BCHAIN_VER_WIF_MAIN_NET (0x80)
2419#define DN_BCHAIN_VER_WIF_TEST_NET (0xEF)
2420#define DN_BCHAIN_VER_WIF_LTC_MAINNET (0xB0)
2423/* DBchainGetPubKey and DBchainVerify */
2424#define DN_BCHAIN_PBK_SEC1_UNCOMP (1)
2425#define DN_BCHAIN_PBK_SEC1_COMP (2)
2426#define DN_BCHAIN_PBK_BIP340 (3)
2427#define DN_BCHAIN_PBK_ED25519 (4)
2428#define DN_BCHAIN_PBK_AT_ALGORAND (5)
2429#define DN_BCHAIN_PBK_BIP32_XPUB (6)
2430#define DN_BCHAIN_PBK_AT_SOL (7)
2431#define DN_BCHAIN_PBK_AT_XLM (8)
2432#define DN_BCHAIN_PBK_ADA_VK (9)
2433#define DN_BCHAIN_PBK_AT_SS58 (10)
2434#define DN_BCHAIN_PBK_TON (11)
2435#define DN_BCHAIN_PBK_E_UNCOMP (12)
2437#define DN_BCHAIN_X_LEN (32)
2438#define DN_BCHAIN_Y_LEN (32)
2439#define DN_BCHAIN_MAX_PBK_LEN (128)
2442/* DBchainHashData */
2443
2444#define DN_BCHAIN_MAX_HDATA_LEN (2 * 1024 * 1024)
2446/*
2447 *
2448 * Unaligned structures
2449 *
2450 */
2451
2455typedef struct tag_SVAULT_GEN_TOKEN
2456{
2487 char szSecret[D_SVAULT_MAX_TL + 1];
2490
2495typedef struct tag_HSM_ADDR
2496{
2497 char szAddr[MAX_ADDR_LEN];
2498 int nPort;
2499 time_t tmNow;
2500 int nqtdcache; /* Amount of sessions in cache.*/
2501}HSM_ADDR;
2502
2507typedef struct tag_LOAD_BALANCE_LIST
2508{
2512
2518typedef struct tag_SLP_SRVR_INFO
2519{
2520 int nPort;
2521 char szIP[MAX_IP_LEN + 1];
2522 char szId[MAX_HSM_ID_NAME + 1];
2523 char szModel[MAX_HSM_MODEL_NAME + 1];
2525
2530typedef struct tag_DBLOB
2531{
2532 void *pvData;
2534} DBLOB;
2535
2536/* DCert2CertInfo */
2537
2538typedef struct tag_SPB_CERT_X509_INFO
2539{
2541
2542 char szAlgId[ND_SPB_MAX_ALG_ID];
2543
2544 char szISPB[ND_SPB_ISPB_LEN+1];
2545 char szCA[ND_SPB_CA_LEN+1];
2546 char szSN[ND_SPB_SN_MAX_LEN+1];
2547
2548 char szSubject[ND_SPB_MAX_SUBJECT];
2549 char szIssuer[ND_SPB_MAX_ISSUER];
2550
2551 struct tm tmNotBefore;
2552 struct tm tmNotAfter;
2553
2556
2557typedef struct tag_CERT_X509_BASIC_INFO
2558{
2560
2561 char szAlgId[DN_MAX_ALG_ID];
2562
2563 char szSubject[DN_MAX_SUBJECT];
2564 char szIssuer[DN_MAX_ISSUER];
2565 char szSN[DN_MAX_SN];
2566
2567 struct tm tmNotBefore;
2568 struct tm tmNotAfter;
2569
2572 char szEmail[DN_MAX_EMAIL];
2574
2575
2576typedef struct tag_IP_FILTER_INFO
2577{
2578 char szUser[MAX_USR_LEN + 1];
2579 char szIp[MAX_IP_LEN + 1];
2581
2582
2583/* DECPrivateKey2Info and DECPublicKey2Info */
2584
2585#define DN_EC_MAX_BIG_NUM (1024)
2586
2587//Field type definitions
2588#define DN_EC_KEY_FIELD_TYPE_NOT_DEFINED (0)
2589#define DN_EC_KEY_FIELD_TYPE_PRIME_FIELD (1)
2590#define DN_EC_KEY_FIELD_TYPE_BINARY_FIELD (2)
2591
2592//Out format options
2593#define DN_BN_2_ARRAY_OUT_BIN (1)
2594#define DN_BN_2_ARRAY_OUT_HEX (2)
2595#define DN_EC_KEY_PUB_X962_EC_POINT (3)
2596#define DN_EC_KEY_OUT_SPKI (4)
2597
2598//In format options
2599#define DN_EC_KEY_IN_FORMAT_DER (1)
2600#define DN_EC_KEY_IN_FORMAT_RAW_OCTET (2)
2601#define DN_EC_KEY_IN_FORMAT_EC_PUB_KEY_PARTS (3)
2602
2603typedef struct tag_DN_EC_BIG_NUMBER
2604{
2608
2609typedef struct tag_DN_EC_POINT_INFO
2610{
2611 DN_EC_BIG_NUMBER bnX;//Point's x-coordinate
2612 DN_EC_BIG_NUMBER bnY;//Point's y-coordinate
2614
2615typedef struct tag_DN_EC_GROUP_INFO
2616{
2617 int nFieldType; //See definitions above
2618
2619 DN_EC_BIG_NUMBER bnP;//In Fp fields this is p for F2M fields it's m
2620
2621 DN_EC_BIG_NUMBER bnA;//Parameter a of the equation
2622 DN_EC_BIG_NUMBER bnB;//Parameter b of the equation
2623
2625
2626 DN_EC_BIG_NUMBER bnOrder;//Order n of the generator g
2627 DN_EC_POINT_INFO stGeneratorPoint;//Generator g / base point
2629
2630typedef struct tag_DN_EC_PUB_KEY_INFO
2631{
2635
2636typedef struct tag_DN_EC_PRIV_KEY_INFO
2637{
2641
2653
2657typedef struct tag_RSA_PUB_KEY_PARTS
2658{
2662
2666typedef struct tag_EC_PUB_KEY_PARTS
2667{
2671
2675typedef struct tag_DN_RSA_BIG_NUMBER
2676{
2680
2689
2690#define DN_USER_INFO_CERT_OP_ASSOCIATE (1)
2691#define DN_USER_INFO_CERT_OP_UNASSOCIATE (2)
2692
2696typedef struct tag_USER_INFO_CERT
2697{
2698 char szUserId[MAX_USR_LEN + 1];
2706
2710typedef struct tag_TLS_BUNDLE_INFO
2711{
2713 char szCERT[MAX_OBJ_ID_FQN_LEN];
2715
2719typedef struct tag_DN_EFTD_CONF
2720{
2725
2730typedef struct tag_DN_EFTD_KEY_ALIAS
2731{
2733 char szAlias[DN_EFTD_MAX_KEY_ALIAS_LEN + 1];
2735
2751
2755typedef struct tag_GET_USR_KEY_OFFLINE
2756{
2757 char szKeyId[MAX_OBJ_ID_LEN];
2764
2792
2797typedef struct tag_DN_OBJ_COUNT
2798{
2801} DN_OBJ_COUNT;
2802
2807typedef struct tag_DN_USER_OBJ_COUNT
2808{
2809 char szUserId[MAX_OBJ_ID_FQN_LEN];
2813
2814#define DN_MAX_PRIVATE_KEY_ATTR_LEN (RSA_8192_LEN + 1)
2815
2835
2836
2837#define DN_SC_MAX_ATR_LEN (255)
2838#define DN_SC_MAX_CARD_FAMILY_LEN (128)
2839#define DN_SC_MAX_CARD_PRODUCT_NAME_LEN (128)
2840#define DN_SC_MAX_CARD_OS_VERSION_LEN (64)
2870
2871#ifdef _WIN32
2872 #pragma pack(push, 1) /* Align by 1 for portability issues.*/
2873#else
2874 #pragma pack(1)
2875#endif
2876
2877/* Aligned structures */
2878
2883typedef struct tag_DN_LIC_INFO
2884{
2889 char szLicName[DN_LIC_MAX_NAME + 1];
2890} DN_LIC_INFO;
2891
2892typedef struct tag_OBJ_HDR_V1
2893{
2898} OBJ_HDR_V1;
2899
2900/*
2901 Estrutura contendo os atributos SP80057 de um objeto do HSM.
2902*/
2918
2919
2920/*
2921 Estados de objetos KMIP/SP.800-57.
2922*/
2923#define DN_SL_SP80057_STATE_UNKNOWN (0)
2924#define DN_SL_SP80057_STATE_PRE_ACTIVE (1)
2925#define DN_SL_SP80057_STATE_ACTIVE (2)
2926#define DN_SL_SP80057_STATE_DEACTIVATED (3)
2927#define DN_SL_SP80057_STATE_COMPROMISED (4)
2928#define DN_SL_SP80057_STATE_DESTROYED (5)
2929#define DN_SL_SP80057_STATE_DESTROYED_C (6)
2930
2931/*
2932 Máscara de uso de objetos SP.800-57.
2933*/
2934#define DN_SP80057_UM_SIGN (0x00000001)
2935#define DN_SP80057_UM_VERIFY (0x00000002)
2936#define DN_SP80057_UM_ENCRYPT (0x00000004)
2937#define DN_SP80057_UM_DECRYPT (0x00000008)
2938#define DN_SP80057_UM_WRAP_KEY (0x00000010)
2939#define DN_SP80057_UM_UNWRAP_KEY (0x00000020)
2940#define DN_SP80057_UM_EXPORT (0x00000040)
2941#define DN_SP80057_UM_MAC_GENERATE (0x00000080)
2942#define DN_SP80057_UM_MAC_VERIFY (0x00000100)
2943#define DN_SP80057_UM_DERIVE_KEY (0x00000200)
2944#define DN_SP80057_UM_CONTENT_COMMITMENT (0x00000400)
2945#define DN_SP80057_UM_KEY_AGREEMENT (0x00000800)
2946#define DN_SP80057_UM_CERTIFICATE_SIGN (0x00001000)
2947#define DN_SP80057_UM_CRL_SIGN (0x00002000)
2948#define DN_SP80057_UM_GENERATE_CRYPTOGRAM (0x00004000)
2949#define DN_SP80057_UM_VALIDATE_CRYPTOGRAM (0x00008000)
2950#define DN_SP80057_UM_TRANSLATE_ENCRYPT (0x00010000)
2951#define DN_SP80057_UM_TRANSLATE_DECRYPT (0x00020000)
2952#define DN_SP80057_UM_TRANSLATE_WRAP (0x00040000)
2953#define DN_SP80057_UM_TRANSLATE_UNWRAP (0x00080000)
2954
2955
2956/* DListObjsFilter */
2957
2958typedef struct tag_OBJ_LIST_FILTER
2959{
2963
2964#define OBJ_LIST_VERB_VERSION ( 1 << 0 )
2965#define OBJ_LIST_VERB_TYPE ( 1 << 1 )
2966#define OBJ_LIST_VERB_ATTRIB ( 1 << 2 )
2967#define OBJ_LIST_OBJS_OR ( 1 << 31 )
2968
2983
3018
3053
3084
3088typedef struct tag_ISSUE_OATH_BLOB_t_v1
3089{
3091 DWORD pad_cks_tag[3];
3093
3097typedef struct tag_ISSUE_OATH_BLOB_t_v2
3098{
3103
3107typedef struct tag_OATH_PSKC_TRANSLATE_OUTPUT
3108{
3110 char szKeyId[OATH_MAX_PSK_LEN+1];
3112
3129
3130typedef struct tag_MOD_OATH_SA_v2
3131{
3141} OATH_SA_v2;
3142
3143
3144typedef struct tag_STAT_CLUSTER_IP
3145{
3146 char szIp[MAX_IP_LEN + 1];
3148
3149
3150//GMT
3151typedef struct tag_P11_DATE{
3152 char year[4]; /* the year ("1900" - "9999") */
3153 char month[2]; /* the month ("01" - "12") */
3154 char day[2]; /* the day ("01" - "31") */
3155} P11_DATE;
3156
3168
3169typedef struct tag_HOTP_INFO_EX
3170{
3171 DWORD dwStructId; //Structure identifier -> SA_ST_ID_HOTP_INFO_EX
3172 char szObjId[MAX_OBJ_NAME_LEN + 1]; //HSM HOTP object name
3173 DWORD dwObjAttr; //HSM object attributes
3174 DWORD dwObjHotpFlags; //SoftToken type -> SA_ATTR_OATH_USE_IMEI, SA_ATTR_OATH_USE_TIME ...
3175 char szStPin[MAX_HOTP_PIN + 1]; //SoftToken PIN
3176 char szStIMEI[MAX_HOTP_IMEI + 1]; //SoftToken related device's serial number
3177 char szStAppName[MAX_HOTP_APP_NAME + 1]; //SoftToken application name
3178 DBLOB *pdbStLogoImage; //SoftToken logo image
3179}HOTP_INFO_EX; //DESCONTINUADO!
3180
3181
3182//DGetNetInfo
3183typedef struct tag_SYS_NET_INFO
3184{
3185 BYTE pbMac[6];
3186 char szIp[MAX_IP_LEN + 1];
3187 char szMask[MAX_IP_LEN + 1];
3188 char szDefGateway[MAX_IP_LEN + 1];
3191 char szName[MAX_NET_NAME + 1];
3192} SYS_NET_INFO;
3193
3194typedef struct tag_SYS_NET_INFO_1
3195{
3198
3200 char szCommunity[NET_INFO_MAX_SNMP_C_STR + 1];
3201 char szSysContact[NET_INFO_MAX_SNMP_SC_STR + 1];
3202 char szSyaLocation[NET_INFO_MAX_SNMP_SL_STR + 1];
3205
3210typedef struct tag_SYS_HEALTH
3211{
3214}SYS_HEALTH;
3215
3222
3237
3250
3251
3252#define DN_MAX_HSM_ALIAS (128)
3253#define DN_UPACK_MAX_DESCRIPTION (255 + 1)
3254
3259typedef struct tag_SYS_PENDING_INFO
3260{
3262 char szPendingUpackDescription[DN_UPACK_MAX_DESCRIPTION];
3263 char szHsmAlias[DN_MAX_HSM_ALIAS+1];
3265
3266
3267typedef struct tag_SYS_HW_STR_INFO
3268{
3269 char szSerialNumber[GET_INFO_MAX_SN_LEN + 1];
3270 char szHardwareString[GET_INFO_MAX_HW_STR_LEN + 1];
3271 char szTpKey[GET_INFO_MAX_TPKEY_LEN + 1];
3273
3274typedef struct tag_SYS_NTP_SVR_INFO
3275{
3276 char szAddr[MAX_IP_LEN + 1];
3277 char szNtpqInfo[GET_INFO_MAX_NTPQ_LEN + 1];
3280 char szKeyType[GET_INFO_MAX_NTP_KT_LEN + 1];
3281 char szKeyMat[GET_INFO_MAX_NTP_KM_LEN + 1];
3283
3284typedef struct tag_SYS_NTP_INFO
3285{
3289
3290
3291
3292typedef struct tag_SYS_REPL_INFO
3293{
3300 DWORD dwaPeers[GET_INFO_MAX_REPL_NODES + 1]; //Zero terminated IPv4 array. Last item == 0x00000000
3301 DWORD dwaPendingAcks[GET_INFO_MAX_REPL_NODES + 1]; //Zero terminated IPv4 array. Last item == 0x00000000
3308 DWORD dwaNodes[GET_INFO_MAX_REPL_NODES + 1]; //Zero terminated IPv4 array. Last item == 0x00000000
3310
3311
3329
3330
3331typedef struct tag_REPL_NODE_MSG
3332{
3333 BYTE bOP; //RNM_PROBE, RNM_DOWN...
3336
3337
3338typedef struct tag_HOTP_CHAP
3339{
3340 DWORD dwStructId; //Structure Id -> SA_ST_ID_HOTP_CHAP
3341 char szChallenge[SA_HOTP_CHAP_LEN + 1]; //Server created challenge
3342}HOTP_CHAP;//DEPRECATED!
3343
3344typedef struct tag_HOTP_SYNC
3345{
3346 DWORD dwStructId; //Structure Id -> SA_ST_ID_HOTP_SYNC
3347 char szObjId[MAX_OBJ_NAME_LEN + 1]; //HOTPToken to synchronize
3348 char szOTP1[SA_TP_MAX_OTP_LEN]; //Expected response from HOTPToken
3349 char szOTP2[SA_TP_MAX_OTP_LEN]; //Server Counter Response
3350}HOTP_SYNC;
3351
3352typedef struct tag_HIP_PARAM
3353{
3357}HIP_PARAM; //DEPRECATED!
3358
3359typedef struct tag_HIP_OUTPUT
3360{
3361 char szHipChallenge[1];
3363 BYTE pbImage[1];
3364}HIP_OUTPUT; //DEPRECATED!
3365
3369typedef struct tag_USER_BLOCK
3370{
3371 char szUserId[MAX_USR_LEN+1];
3374}USER_BLOCK;
3375
3379typedef struct tag_DN_A_TOKEN
3380{
3381 char pcUserName[MAX_USR_LEN];
3383}DN_A_TOKEN;
3384
3389typedef struct tag_DN_A_TOKEN_FULL
3390{
3394
3406
3427
3428/* HTTP session parameters */
3429
3430#define MAX_HTTP_ADDR_LEN (2048)
3431#define MAX_HTTP_API_TOKEN_LEN (128)
3432
3442
3447typedef struct tag_AUTH_ATOKEN
3448{
3449 char szAddr[MAX_ADDR_LEN];
3450 int nPort;
3453
3458typedef struct tag_AUTH_WIN_CREDENTIAL
3459{
3460 char szAddr[MAX_ADDR_LEN];
3461 int nPort;
3463
3475
3485
3486/*
3487 Estados de autorização de partição do usuário.
3488*/
3489
3490#define ND_PA_ACL_OBJ_OPEN (ACL_OBJ_READ)
3491#define ND_PA_ACL_OBJ_EXPORT (ACL_OBJ_CREATE)
3492#define ND_PA_ACL_OBJ_DEL (ACL_OBJ_DEL)
3493#define ND_PA_ACL_OBJ_BLOCK (ACL_OBJ_UPDATE)
3494#define ND_PA_ACL_NS_DEL (ACL_USR_DELETE)
3495
3496#define NSAUTH_ACL_FULL (~0)
3497
3498/*
3499 Estados de autorização de partição do usuário.
3500*/
3501#define ND_PA_STATE_Unknown (0)
3502#define ND_PA_STATE_Absent (1)
3503#define ND_PA_STATE_Null (2)
3504#define ND_PA_STATE_Associated (3)
3505#define ND_PA_STATE_Authorized (4)
3506
3510typedef struct tag_USER_PA_INFO
3511{
3512 char szUserId[MAX_USR_LEN + 1];
3531
3539
3540typedef struct tab_EXT_MAP_2_OBJ_INFO
3541{
3543 char szObjId1[MAX_OBJ_ID_FQN_LEN];
3545 char szObjId2[MAX_OBJ_ID_FQN_LEN];
3547
3548
3554
3555typedef struct tag_PKCS11_OBJ_MAP
3556{
3559
3560 DWORD Class; // CKO_DATA, etc;
3561
3565
3566 //The three BYTEs below are overloaded
3567 //must use the MACROs to set the desired parameters.
3568 //Macros defined below.
3569
3570 BYTE Trusted; // boolean/overloaded
3571 BYTE WrapWithTrusted; // boolean/overloaded
3572 BYTE Local; // boolean/overloaded
3573
3578
3579//Trusted -> CKA_TRUSTED, CKA_DERIVE, CKA_ENCRYPT,
3580//CKA_DECRYPT, CKA_WRAP, CKA_UNWRAP
3581#define PKCS11_SET_FLAG(x, p) ((x) |= (1 << (p)))
3582#define PKCS11_UNSET_FLAG(x, p) ((x) &= ~(1 << (p)))
3583#define PKCS11_GET_FLAG(x, p) ((x) & (1 << (p)))
3584
3585//Enable driven option. Disabled by default.
3586#define PKCS11_SET_OBJ_MAP_CKA_TRUSTED(x) PKCS11_SET_FLAG(x, 7)
3587#define PKCS11_UNSET_OBJ_MAP_CKA_TRUSTED(x) PKCS11_UNSET_FLAG(x, 7)
3588#define PKCS11_GET_OBJ_MAP_CKA_TRUSTED(x) PKCS11_GET_FLAG(x, 7)
3589
3590//Disable driven option. Enabled by default.
3591#define PKCS11_SET_OBJ_MAP_CKA_DERIVE(x) PKCS11_UNSET_FLAG(x, 6)
3592#define PKCS11_UNSET_OBJ_MAP_CKA_DERIVE(x) PKCS11_SET_FLAG(x, 6)
3593#define PKCS11_GET_OBJ_MAP_CKA_DERIVE(x) (!PKCS11_GET_FLAG(x, 6))
3594
3595#define PKCS11_SET_OBJ_MAP_CKA_ENCRYPT(x) PKCS11_UNSET_FLAG(x, 5)
3596#define PKCS11_UNSET_OBJ_MAP_CKA_ENCRYPT(x) PKCS11_SET_FLAG(x, 5)
3597#define PKCS11_GET_OBJ_MAP_CKA_ENCRYPT(x) (!PKCS11_GET_FLAG(x, 5))
3598
3599#define PKCS11_SET_OBJ_MAP_CKA_DECRYPT(x) PKCS11_UNSET_FLAG(x, 4)
3600#define PKCS11_UNSET_OBJ_MAP_CKA_DECRYPT(x) PKCS11_SET_FLAG(x, 4)
3601#define PKCS11_GET_OBJ_MAP_CKA_DECRYPT(x) (!PKCS11_GET_FLAG(x, 4))
3602
3603#define PKCS11_SET_OBJ_MAP_CKA_WRAP(x) PKCS11_UNSET_FLAG(x, 3)
3604#define PKCS11_UNSET_OBJ_MAP_CKA_WRAP(x) PKCS11_SET_FLAG(x, 3)
3605#define PKCS11_GET_OBJ_MAP_CKA_WRAP(x) (!PKCS11_GET_FLAG(x, 3))
3606
3607#define PKCS11_SET_OBJ_MAP_CKA_UNWRAP(x) PKCS11_UNSET_FLAG(x, 2)
3608#define PKCS11_UNSET_OBJ_MAP_CKA_UNWRAP(x) PKCS11_SET_FLAG(x, 2)
3609#define PKCS11_GET_OBJ_MAP_CKA_UNWRAP(x) (!PKCS11_GET_FLAG(x, 2))
3610
3611//WrapWithTrusted
3612
3613//Enable driven option. Disabled by default.
3614#define PKCS11_SET_OBJ_MAP_CKA_WRAP_WITH_TRUSTED(x) PKCS11_SET_FLAG(x, 7)
3615#define PKCS11_UNSET_OBJ_MAP_CKA_WRAP_WITH_TRUSTED(x) PKCS11_UNSET_FLAG(x, 7)
3616#define PKCS11_GET_OBJ_MAP_CKA_WRAP_WITH_TRUSTED(x) PKCS11_GET_FLAG(x, 7)
3617
3618//Local
3619//Enable driven option. Disabled by default.
3620#define PKCS11_SET_OBJ_MAP_CKA_LOCAL(x) PKCS11_SET_FLAG(x, 7)
3621#define PKCS11_UNSET_OBJ_MAP_CKA_LOCAL(x) PKCS11_UNSET_FLAG(x, 7)
3622#define PKCS11_GET_OBJ_MAP_CKA_LOCAL(x) PKCS11_GET_FLAG(x, 7)
3623
3624//DAdmOperation options - AO_SET_PWD_SEC_POLICY/AO_GET_PWD_SEC_POLICY
3625
3626#define PWD_SEC_POLICY_USE_MIN_PWD_LEN (8)
3627#define PWD_SEC_POLICY_USE_MAX_PWD_LEN (16)
3629typedef struct tag_PWD_SEC_POLICY
3630{
3631 //USE
3632 BYTE bMaxInvalidLogins; //Number of attempts. 0 == sets to HSM internal default.
3633 BYTE bExpiration; //Number of days. 0 == disable policy.
3634 BYTE bHistory; //Number of passwords to track. 0 == disable policy.
3635 //FORMAT
3636 BYTE bMinLength; //Minimal number of chars (ASCII).
3637 BYTE bMinSpecial; //Minimal number of non-alpha chars.
3638 BYTE bUpper; //Minimal number of upper-case chars.
3639 BYTE bLower; //Minimal number of lower-case chars.
3641
3645typedef struct tag_EFT_VISA_KEY_PARTS
3646{
3647 BYTE pbKeyPart1[3 * DES_BLOCK];
3648 BYTE pbKeyPart1Checksum[EFT_VISA_KEY_CHECKSUM_LEN];
3649 BYTE pbKeyPart2[3 * DES_BLOCK];
3650 BYTE pbKeyPart2Checksum[EFT_VISA_KEY_CHECKSUM_LEN];
3651 BYTE pbKeyPart3[3 * DES_BLOCK];
3652 BYTE pbKeyPart3Checksum[EFT_VISA_KEY_CHECKSUM_LEN];
3655
3659typedef struct tag_EFT_AES_KEY_PARTS
3660{
3661 BYTE pbKeyPart1[ALG_AES_256_LEN];
3662 BYTE pbKeyPart2[ALG_AES_256_LEN];
3663 BYTE pbKeyPart3[ALG_AES_256_LEN];
3666
3670typedef struct tag_EFT_AES_KEY_PARTS_DATA
3671{
3675
3679typedef struct tag_EFT_FULL_CKS_KEY_PARTS
3680{
3681 BYTE pbKeyPart1[3 * DES_BLOCK];
3682 BYTE pbKeyPart1Checksum[DES_BLOCK];
3683 BYTE pbKeyPart2[3 * DES_BLOCK];
3684 BYTE pbKeyPart2Checksum[DES_BLOCK];
3685 BYTE pbKeyPart3[3 * DES_BLOCK];
3686 BYTE pbKeyPart3Checksum[DES_BLOCK];
3687 BYTE pbMKCheckSum[DES_BLOCK];
3689
3694typedef struct tag_DN_CALC_ARPC_EMV_METHOD_1
3695{
3696 char szIssuerMK[MAX_OBJ_ID_BIN_LEN];
3697 char szPAN[MAX_PAN_LEN];
3699 BYTE pbARQC[DES_BLOCK];
3701 BYTE pbNONCE[DES_BLOCK];
3704
3705typedef struct tag_DN_CALC_ARPC_EMV_METHOD_2
3706{
3707 char szIssuerMK[MAX_OBJ_ID_BIN_LEN];
3708 char szPAN[MAX_PAN_LEN];
3710 BYTE pbNONCE[DES_BLOCK];
3713 BYTE pbARQC[DES_BLOCK];
3719
3720
3734
3750
3756typedef struct tag_DS_BIND_INFO
3757{
3760 char szHSM[D_MAX_DS_BIND_B62_ID + 1];
3763 char szAccount[D_MAX_DS_BIND_B62_ID + 1];
3768 char szURL[D_MAX_DS_BIND_URL + 1];
3770} DS_BIND_INFO;
3771
3772#define DN_RCC_MAX_NODE_COUNT (16)
3773#define DN_RCC_MAX_REPL_MC_VER (256)
3774
3779typedef struct tag_CROSS_CHECK_NODE
3780{
3785 char szVersion[DN_RCC_MAX_REPL_MC_VER];
3787
3788/*
3789 Blockchain module
3790*/
3791
3792/* DBchainCreateCkd */
3793
3794// Key Derivation Types
3795#define DN_BCHAIN_BIP32_Ed_KDT_SLIP10 (1)
3796#define DN_BCHAIN_BIP32_Ed_KDT_FPRV1 (2)
3798#define DN_BCHAIN_BIP32_P256_KDT_SLIP10 (1)
3800/* DBchainCreateXPrv */
3801
3802// Types
3803#define DN_BCHAIN_BTC_MINIKEY (1)
3804#define DN_BCHAIN_BIP32_SEED_XPRV (2)
3805#define DN_BCHAIN_BIP39_SEED_XPRV (3)
3806#define DN_BCHAIN_BIP32_XPRV (4)
3807#define DN_BCHAIN_BIP32_ED25519_XPRV (5)
3808#define DN_BCHAIN_BIP32_P256_XPRV (6)
3810// Version
3811#define DN_BCHAIN_VER_BIP32_MAINNET (DN_BCHAIN_VER_WIF_MAIN_NET)
3812#define DN_BCHAIN_VER_BIP32_TESTNET (DN_BCHAIN_VER_WIF_TEST_NET)
3813#define DN_BCHAIN_VER_BIP32_HTR_MAINNET (1)
3814#define DN_BCHAIN_VER_BIP32_HTR_TESTNET (2)
3815#define DN_BCHAIN_VER_BIP32_FPRV1 (3)
3818#define DN_BCHAIN_BIP32_SEED_LEN_MAX (765)
3822typedef struct tag_DN_BCHAIN_BIP32_SEED_XPRV_DATA
3823{
3828
3829#define DN_BCHAIN_BIP39_SEED_LEN_MAX (765)
3830#define DN_BCHAIN_BIP39_PWD_LEN_MAX (255)
3835typedef struct tag_DN_BCHAIN_BIP39_SEED_XPRV_DATA
3836{
3841
3842#define DN_BCHAIN_KEY_INFO_ST_SL (0)
3843#define DN_BCHAIN_KEY_INFO_ST_BLKC (1)
3845/* DBchainCreateBip32Ckd */
3846
3850typedef struct tag_DN_BCHAIN_KEY_INFO
3851{
3854 BYTE pbBip32Ver[4];
3856 BYTE pbParentFingerprint[4];
3857 BYTE pbChildNumber[4];
3859
3860/* DBchainVerify */
3861
3865typedef struct tag_DN_BCHAIN_PBK
3866{
3871
3872/*
3873 DMofNSplit
3874*/
3875
3876#define DN_M_OF_N_S_LEN (24)
3877#define DN_M_OF_N_ES_LEN (32)
3878#define DN_M_OF_N_S_MIN (2)
3879#define DN_M_OF_N_S_MAX (16)
3880#define DN_M_OF_N_PART_LEN (3 + DN_M_OF_N_S_LEN)
3885typedef struct tag_DN_M_OF_N_PART_DETAILS
3886{
3892
3896typedef struct tag_DN_M_OF_N_PART
3897{
3900
3904typedef struct tag_DN_M_OF_N_SPLIT_INFO
3905{
3911
3922
3926typedef struct tag_DN_OBJ_STATS
3927{
3930} DN_OBJ_STATS;
3931
3937#define DN_GLOBAL_OBJ_STATS_COUNT (39)
3939#define DN_GLOBAL_OBJ_STATS_INDEX_RSA (0)
3940#define DN_GLOBAL_OBJ_STATS_INDEX_DSA (1)
3941#define DN_GLOBAL_OBJ_STATS_INDEX_ECC (2)
3942#define DN_GLOBAL_OBJ_STATS_INDEX_ECX (3)
3943#define DN_GLOBAL_OBJ_STATS_INDEX_AES (4)
3944#define DN_GLOBAL_OBJ_STATS_INDEX_DES (5)
3945#define DN_GLOBAL_OBJ_STATS_INDEX_CSP (6)
3946#define DN_GLOBAL_OBJ_STATS_INDEX_BCHAIN (7)
3947#define DN_GLOBAL_OBJ_STATS_INDEX_X509 (8)
3948#define DN_GLOBAL_OBJ_STATS_INDEX_PKCS7 (9)
3949#define DN_GLOBAL_OBJ_STATS_INDEX_ML_DSA (10)
3950#define DN_GLOBAL_OBJ_STATS_INDEX_ML_KEM (11)
3951#define DN_GLOBAL_OBJ_STATS_INDEX_SLH_DSA (12)
3956typedef struct tag_DN_GLOBAL_OBJ_STATS
3957{
3961
3962/* DSKeepProbeSecret */
3963
3967typedef struct tag_SKeepProbeInfo
3968{
3972
3973/* DSKeepSplitSecret e outros */
3974#define DN_SKEEP_M_OF_N_S_MIN (2)
3975#define DN_SKEEP_M_OF_N_S_MAX (16)
3976#define DN_SKEEP_M_OF_N_S_LEN (64)
3981typedef struct tag_SKeepRecoverInfo
3982{
3984 char szSecret[DN_SKEEP_M_OF_N_S_LEN + 1];
3986
3990typedef struct tag_SKeepShare
3991{
3992 char szShare[DN_SKEEP_M_OF_N_S_LEN + 1];
3993} SKeepShare;
3994
3995// DSCReadShadow
3996#define DN_SC_M_OF_N_SHADOW_MATERIAL_V1_LEN (24)
3997#define DN_SC_M_OF_N_SHADOW_MATERIAL_V2_LEN (56)
3998#define DN_SC_M_OF_N_SHADOW_EXTRA_DATA_LEN (3)
4000#define DN_SC_M_OF_N_SHADOW_V1_MAX_LEN (DN_SC_M_OF_N_SHADOW_MATERIAL_V1_LEN + DN_SC_M_OF_N_SHADOW_EXTRA_DATA_LEN)
4001#define DN_SC_M_OF_N_SHADOW_V2_MAX_LEN (DN_SC_M_OF_N_SHADOW_MATERIAL_V2_LEN + DN_SC_M_OF_N_SHADOW_EXTRA_DATA_LEN)
4003#define DN_SC_M_OF_N_SHADOW_MATERIAL_MAX_LEN (DN_SC_M_OF_N_SHADOW_MATERIAL_V2_LEN)
4004#define DN_SC_M_OF_N_SHADOW_MAX_LEN (DN_SC_M_OF_N_SHADOW_V2_MAX_LEN)
4006#define DN_SC_MAX_PIN_LEN (8)
4008#define DN_SC_M_OF_N_SHADOW_V1_TYPE (1)
4009#define DN_SC_M_OF_N_SHADOW_V2_TYPE (2)
4014typedef struct tag_DN_SC_M_OF_N_SHADOW_DETAILS
4015{
4021
4025typedef struct tag_DN_SC_M_OF_N_SHADOW
4026{
4030
4043
4044/* DKemEncaps/DKemDecaps */
4045
4046#define DN_KEM_D_ML_KEM_SS_LEN (32)
4047#define DN_KEM_D_MAX_CTX_LEN (255)
4048#define DN_KEM_MAX_C_LEN (8192)
4049#define DN_KEM_MAX_SS_LEN (64)
4051#define DN_KEM_OP_SHARED_SECRET (1)
4052#define DN_KEM_OP_DIRECT_KEY (2)
4053#define DN_KEM_OP_X9_63_SHA256 (3)
4074
4075#define DN_ML_KEM_512_C_LEN (768)
4076#define DN_ML_KEM_768_C_LEN (1088)
4077#define DN_ML_KEM_1024_C_LEN (1568)
4083typedef struct tag_DN_KEM_ENCAPS_RESULT
4084{
4085 BYTE pbSharedSecret[DN_KEM_MAX_SS_LEN];
4086 BYTE pbCiphertext[DN_KEM_MAX_C_LEN];
4090
4095typedef struct tab_DN_KEM_DECAPS_RESULT
4096{
4097 BYTE pbSharedSecret[DN_KEM_MAX_SS_LEN];
4100
4105typedef struct DN_BCHAIN_BIP32_CKD_IN_INFO_tag
4106{
4121
4126typedef struct DN_BCHAIN_BIP32_ED25519_CKD_IN_INFO_tag
4127{
4135
4140typedef struct DN_BCHAIN_BIP32_P256_CKD_IN_INFO_tag
4141{
4148
4149#ifdef _WIN32
4150 #pragma pack(pop)
4151#else
4152 #pragma pack()
4153#endif
4154
4155/* Library exported functions */
4156
4157#ifdef __cplusplus
4158extern "C" {
4159#endif /* __cplusplus */
4160
4166#define DN_INIT_PARAM_CONF_FAST_FAIL (128)
4178 DWORD dwReserved
4179);
4180
4197 void *pvList,
4198 DWORD dwListCount,
4199 DWORD dwReserved);
4200
4216 void *pvList,
4217 DWORD *pdwListCount,
4218 DWORD dwReserved);
4219
4258 HSESSIONCTX * phSession,
4259 DWORD dwParam,
4260 BYTE * pbData,
4261 DWORD dwDataLen,
4262 DWORD dwFlags
4263);
4264
4283 HSESSIONCTX hSession,
4284 DWORD dwParam,
4285 BYTE * pbData,
4286 DWORD dwDataLen,
4287 DWORD dwFlags
4288);
4289
4311 HSESSIONCTX hSession,
4312 DWORD dwParam,
4313 BYTE* pbData,
4314 DWORD* pdwDataLen,
4315 DWORD dwFlags
4316);
4317
4326
4341 HSESSIONCTX * phSession,
4342 DWORD dwFlags
4343);
4344
4353
4369typedef int (AAP_API * funcListKeyCallback)(char *szKeyName, void *pParam, BOOL bFinal);
4370
4375 HSESSIONCTX hSession,
4376 funcListKeyCallback fncallback,
4377 void *pParam
4382);
4383
4388 HSESSIONCTX hSession,
4389 funcListKeyCallback fncallback,
4390 void *pParam
4395);
4396
4419 HSESSIONCTX hSession,
4420 char * szBackupFile,
4421 char * szPin,
4422 int nDirection
4423);
4424
4452 DWORD dwOP,
4453 char *szObjectId,
4454 char *szPin,
4455 BYTE *pbData,
4456 DWORD *pdwDataLen,
4457 DWORD dwReserved );
4458
4466typedef int (AAP_API * funcLogEventCallback)(char *szEvent, void *pParam, BOOL bFinal);
4467
4480 HSESSIONCTX hSession,
4481 funcLogEventCallback fncallback,
4482 void *pParam
4483);
4484
4535 HSESSIONCTX hSession,
4536 DWORD dwParam,
4537 BYTE * pbData,
4538 DWORD dwDataLen,
4539 DWORD dwFlags
4540);
4541
4558int AAP_API DGetHSMTLSCert(char *szAddress,
4559 int nPort,
4560 DWORD dwOutFormat,
4561 BYTE **ppbOutCert,
4562 DWORD *pdwOutCertLen,
4563 DWORD dwFlags);
4564
4565#define DN_NT_MAX_TARGET_LEN (255)
4566#define DN_NTOOL_PING (1)
4567#define DN_NTOOL_TRACERT (2)
4568#define DN_NTOOL_CROSS_CHECK (100)
4569
4588 DWORD dwOption,
4589 const char *szTarget,
4590 void **pvResult,
4591 DWORD *pdwResultLen,
4592 DWORD dwFlags);
4593
4594#define DN_WRITE_FILE_OPT_CERT_CHAIN (1)
4595#define DN_WRITE_FILE_OPT_NO_CONVERSION (2)
4596
4621 const char *szFileId,
4622 BYTE *pbFile,
4623 DWORD dwFileSize,
4624 DWORD dwOptions);
4625
4636typedef int (AAP_API * funcReadLocalFileCallback)(BYTE *pbData, DWORD * pdwDataLen, void *pParam, BOOL *pbFinal);
4637
4660 HSESSIONCTX hSession,
4661 char * szFileId,
4662 DWORD dwFileSize,
4663 funcReadLocalFileCallback fncallback,
4664 void *pParam
4665);
4666
4677typedef int (AAP_API * funcWriteLocalFileCallback)(BYTE *pbData, DWORD dwDataLen, void *pParam, BOOL bFinal);
4678
4692 HSESSIONCTX hSession,
4693 char * szFileId,
4694 funcWriteLocalFileCallback fncallback,
4695 void *pParam
4696);
4697
4712 const char *szFileId,
4713 BYTE **ppbData,
4714 DWORD *pdwDataLen,
4715 DWORD dwReserved);
4716
4726 HSESSIONCTX hSession,
4727 char *szObjId);
4728
4743 HSESSIONCTX hSession,
4744 DWORD dwStart,
4745 DWORD dwOffset,
4746 DWORD *pdwLogSize,
4747 BYTE **ppbLog
4748);
4749
4760 HSESSIONCTX hSession
4761);
4762
4787int AAP_API DFindHSM( DWORD dwServiceType,
4788 DWORD dwFilter,
4789 void **ppvOutputData,
4790 DWORD *pdwOutputDataLen,
4791 DWORD dwFlags );
4792
4801typedef int (AAP_API * funcListAKeysCallback)(void *pvToken, void *pParam, BOOL bFinal);
4802
4850 BYTE bOP,
4851 DN_A_TOKEN_FULL *pstATokenFull,
4852 funcListAKeysCallback fnCallBack,
4853 void *pvCallbackParam,
4854 DWORD dwParam);
4855
4856#define DN_ATOKEN_CACHE_GET_COUNT (0)
4857#define DN_ATOKEN_CACHE_GC (1)
4858
4885 DWORD dwOP,
4886 void *pOutData,
4887 DWORD dwParam);
4888
4898 const char *szBindKey,
4899 DWORD dwReserved);
4908 DWORD dwReserved);
4909
4918int AAP_API DSCReadShadow(const char *szPin, DN_SC_M_OF_N_SHADOW *pstShadow, DWORD dwReserved);
4919
4920
4928int AAP_API DSCGetInfo(DN_SC_INFO *pstInfo, DWORD dwReserved);
4929
4937
4947int AAP_API DSCChangePIN(const char *szCurrentPIN, const char *szNewPIN, DWORD dwReserved);
4948
4959int AAP_API DSCWriteShadow(DN_SC_M_OF_N_SHADOW *pstShadow, const char *szPIN,
4960 BOOL bOverwrite, DWORD dwReserved);
4961
4969int AAP_API DSCErase(const char *szPIN, DWORD dwReserved);
4970
4971#define DN_SC_MAX_LABEL_LEN (32)
4982int AAP_API DSCSetLabel(const char *pin, const char *label, DWORD reserved);
4983
4993int AAP_API DSCGetLabel(const char *pin, char *label, DWORD reserved);
4994
4995// DNSAuthSetState
4996#define DN_S_NSAUTH_ASSOC (1)
4997#define DN_S_NSAUTH_RESET (2)
4998#define DN_S_NSAUTH_AUTH (3)
4999#define DN_S_NSAUTH_eAUTH (4)
5000#define DN_S_NSAUTH_CHECK (5)
5030int AAP_API DNSAuthSetState(HSESSIONCTX hSession, DWORD dwAcl, BYTE bState,
5031 DN_SC_M_OF_N_SHADOW *pstShadows, DWORD dwShadowsCount,
5032 DWORD dwReserved);
5033
5034/* Error codes */
5035
5039int AAP_API DGetErrorString(int nErrorValue,
5040 char *szErrorCode,
5041 char *szErrorDesc);
5042
5046typedef enum tag_RetCodeMsgType
5047{
5049 DESC_MSG
5051
5065const char *AAP_API DGetReturnCodeString(int nErrorValue,
5066 RetCodeMsgType eErrorType);
5067
5071 BYTE bOP,
5072 char *szUser,
5073 char *szIP,
5074 int(AAP_API *ListIpFilterCallback)(void *pInData, DWORD dwInDataLen, void *pParam, BOOL bFinal),
5075 void *pParam,
5076 DWORD *pdwStatus,
5077 DWORD dwReserved);
5078
5080 char *szOldObjName,
5081 char *szNewObjName,
5082 DWORD dwFlags);
5083
5084int AAP_API DUPackPush(HSESSIONCTX hSession, DWORD dwPackSize,
5085 BYTE *pbPack);
5086
5087int AAP_API DUPackInfo(DWORD dwPackSize, BYTE *pbPack,
5088 DWORD *pdwUPackVersion, BYTE **ppbUPackDescr,
5089 BYTE **ppbUPackSignature);
5090
5091int AAP_API DGetObjInfo(const HSESSIONCTX hSession, const char *szObjId,
5092 const int nAlgId, const BYTE *pbData,
5093 DWORD *pdwDataLen);
5094
5095int AAP_API DGenerateMapObj(const HSESSIONCTX hSession, const char *szMapId,
5096 const char *szObj1Id, const int nObj1AlgId,
5097 const char *szObj2Id, const int nObj2AlgId);
5098
5099int AAP_API DRemoveMapObj(const HSESSIONCTX hSession, const char *szMapObjId);
5100
5102 int(AAP_API *ListUserSessionsCallback)(DWORD dwStartTime, char *szInfo, void *pParam, BOOL bFinal),
5103 void *pParam);
5104
5106 DWORD dwFilterType,
5107 void *pvFilter,
5108 int(AAP_API *ListObjCallback)(void *pvIN, void *pParam, BOOL bFinal),
5109 void *pParam);
5110
5112 int(AAP_API *ListLoadedModulesCallback)(char *szModuleInfo,
5113 void *pParam,
5114 BOOL bFinal),
5115 void *pParam);
5116
5147 HSESSIONCTX hSession,
5148 struct USER_INFO userInfo);
5149
5163 HSESSIONCTX hSession,
5164 char *szUserId);
5165
5189 HSESSIONCTX hSession,
5190 DWORD dwParam,
5191 BYTE *pbData,
5192 DWORD dwDataLen,
5193 DWORD dwFlags);
5194
5213 HSESSIONCTX hSession,
5214 DWORD dwParam,
5215 BYTE *pbData,
5216 DWORD *pdwDataLen,
5217 DWORD dwFlags);
5218
5228typedef int(AAP_API *funcListUsersCallback)(char *szUserName, void *pParam, BOOL bFinal);
5229
5240 HSESSIONCTX hSession,
5241 funcListUsersCallback fncallback,
5242 void *pParam);
5243
5244// OATH SA
5245
5266 const char *szUserId,
5267 const DWORD dwParam,
5268 BYTE *pbData,
5269 const DWORD dwDataLen);
5270
5284 const DWORD dwParam,
5285 const char *szUserId);
5286
5300 char *szUser,
5301 char *szOTP1,
5302 char *szOTP2,
5303 DWORD dwParam);
5304
5307/* PKCS#11 */
5308
5309int AAP_API DGeneratePkcs11Map(HSESSIONCTX hSession, char *szP11MapId,
5310 BYTE bTemporary, DWORD dwBlobType,
5311 DWORD dwFlags, BYTE *pbData,
5312 DWORD dwDataLen);
5313
5314int AAP_API DUpdatePkcs11Map(HSESSIONCTX hSession, char *szP11MapId,
5315 DWORD dwBlobType, DWORD dwFlags,
5316 DWORD dwUpdateMask, BYTE *pbData,
5317 DWORD dwDataLen);
5318
5319int AAP_API DGetPkcs11Map(HSESSIONCTX hSession, char *szP11MapId,
5320 DWORD dwBlobType, DWORD dwFlags,
5321 BYTE **ppbData, DWORD *pdwDataLen);
5322
5324 int(AAP_API *ListKeyCallback)(char *szKeyName,
5325 void *pParam,
5326 BOOL bFinal),
5327 void *pParam);
5328
5329
5330#define MNG_OBJ_META_A_KEY_TYPE (1)
5331#define MNG_OBJ_META_A_CLASS (2)
5332#define MNG_OBJ_META_A_EXTRACTABLE (3)
5333#define MNG_OBJ_META_A_SENSITIVE (4)
5334#define MNG_OBJ_META_A_N_EXTRACTABLE (5)
5335#define MNG_OBJ_META_A_LOCAL (6)
5336#define MNG_OBJ_META_A_CERT_TYPE (7)
5337#define MNG_OBJ_META_A_RSA_MODULUS (8)
5338#define MNG_OBJ_META_A_RSA_PUB_EXP (9)
5339#define MNG_OBJ_META_A_PUB_KEY_INFO (10)
5340#define MNG_OBJ_META_A_EC_PARAMS (11)
5341#define MNG_OBJ_META_A_SUBJECT (12)
5342#define MNG_OBJ_META_A_ISSUER (13)
5343#define MNG_OBJ_META_A_SN (14)
5344#define MNG_OBJ_META_A_TOKEN (15)
5345#define MNG_OBJ_META_A_MODIFIABLE (16)
5346#define MNG_OBJ_META_A_DERIVE (17)
5347#define MNG_OBJ_META_A_WRAP (18)
5348#define MNG_OBJ_META_A_UNWRAP (19)
5349#define MNG_OBJ_META_A_SIGN (20)
5350#define MNG_OBJ_META_A_VERIFY (21)
5351#define MNG_OBJ_META_A_ENCRYPT (22)
5352#define MNG_OBJ_META_A_DECRYPT (23)
5353#define MNG_OBJ_META_A_OBJ_ID (24)
5354#define MNG_OBJ_META_A_MODULUS_BITS (25)
5355#define MNG_OBJ_META_A_PRIVATE (26)
5356#define MNG_OBJ_META_A_LABEL (27)
5357#define MNG_OBJ_META_A_ID (28)
5358#define MNG_OBJ_META_A_APPLICATION (29)
5359#define MNG_OBJ_META_A_TRUSTED (30)
5360#define MNG_OBJ_META_A_JMIDP_SEC_DOMAIN (31)
5361#define MNG_OBJ_META_A_CERT_CATEGORY (32)
5362#define MNG_OBJ_META_A_KEY_GEN_MECHANISM (33)
5363#define MNG_OBJ_META_A_WRAP_WITH_TRUSTED (34)
5364#define MNG_OBJ_META_A_HSM_ASSOCIATE (35)
5365#define MNG_OBJ_META_A_SIGN_RECOVER (36)
5366#define MNG_OBJ_META_A_VERIFY_RECOVER (37)
5367
5368#define MNG_OBJ_META_A_HSM_OBJ_VERSION (502)
5369#define MNG_OBJ_META_A_HSM_OBJ_TYPE (503)
5370#define MNG_OBJ_META_A_HSM_OBJ_ATTR (504)
5371#define MNG_OBJ_META_A_HSM_OBJ_LEN (505)
5372#define MNG_OBJ_META_A_HSM_OBJ_ID (506)
5373#define MNG_OBJ_META_A_HSM_OBJ_PVALUE (507)
5374#define MNG_OBJ_META_A_HSM_OBJ_CNG_UTF8_ID (508) // Client side attribute
5375
5376#define MNG_OBJ_META_READ_ONLY_ATTR(a) ((MNG_OBJ_META_A_KEY_TYPE == (a)) || \
5377 (MNG_OBJ_META_A_CLASS == (a)) || \
5378 (MNG_OBJ_META_A_EXTRACTABLE == (a)) || \
5379 (MNG_OBJ_META_A_SENSITIVE == (a)) || \
5380 (MNG_OBJ_META_A_N_EXTRACTABLE == (a)) || \
5381 (MNG_OBJ_META_A_LOCAL == (a)) || \
5382 (MNG_OBJ_META_A_CERT_TYPE == (a)) || \
5383 (MNG_OBJ_META_A_RSA_MODULUS == (a)) || \
5384 (MNG_OBJ_META_A_RSA_PUB_EXP == (a)) || \
5385 (MNG_OBJ_META_A_PUB_KEY_INFO == (a)) || \
5386 (MNG_OBJ_META_A_EC_PARAMS == (a)) || \
5387 (MNG_OBJ_META_A_ISSUER == (a)) || \
5388 (MNG_OBJ_META_A_SN == (a)) || \
5389 (MNG_OBJ_META_A_TOKEN == (a)) || \
5390 (MNG_OBJ_META_A_MODIFIABLE == (a)) || \
5391 (MNG_OBJ_META_A_MODULUS_BITS == (a)) || \
5392 (MNG_OBJ_META_A_PRIVATE == (a)) || \
5393 (MNG_OBJ_META_A_HSM_OBJ_VERSION == (a)) || \
5394 (MNG_OBJ_META_A_HSM_OBJ_TYPE == (a)) || \
5395 (MNG_OBJ_META_A_HSM_OBJ_ATTR == (a)) || \
5396 (MNG_OBJ_META_A_HSM_OBJ_LEN == (a)) || \
5397 (MNG_OBJ_META_A_HSM_OBJ_ID == (a)) || \
5398 (MNG_OBJ_META_A_HSM_OBJ_PVALUE == (a)) || \
5399 (MNG_OBJ_META_A_DERIVE == (a)) || \
5400 (MNG_OBJ_META_A_WRAP == (a)) || \
5401 (MNG_OBJ_META_A_UNWRAP == (a)) || \
5402 (MNG_OBJ_META_A_SIGN == (a)) || \
5403 (MNG_OBJ_META_A_VERIFY == (a)) || \
5404 (MNG_OBJ_META_A_ENCRYPT == (a)) || \
5405 (MNG_OBJ_META_A_DECRYPT == (a)) || \
5406 (MNG_OBJ_META_A_SIGN_RECOVER == (a)) || \
5407 (MNG_OBJ_META_A_VERIFY_RECOVER == (a)))
5408
5409/* DManageObjMetadata */
5410
5411#define MNG_OBJ_META_GET (1)
5412#define MNG_OBJ_META_UPDATE (3)
5413#define MNG_OBJ_META_DEL (4)
5414
5415
5417 DWORD dwParam );
5418
5420 DWORD dwParam );
5421
5423 DWORD dwOption,
5424 void *pvOptionData,
5425 DWORD dwOptionDataLen,
5426 DWORD dwParam );
5427
5429 DWORD dwOption,
5430 DWORD dwParam );
5431
5433 DWORD dwOption,
5434 void *pvOptionData,
5435 DWORD *pdwOptionDataLen,
5436 DWORD dwParam );
5437
5439 char *szData,
5440 DWORD dwDataLen,
5441 DWORD dwParam);
5442
5444 char *szData,
5445 DWORD *pdwDataLen,
5446 DWORD dwParam);
5447
5449 BYTE bOP,
5450 char *szObjName,
5451 HOBJMETACTX hInMeta,
5452 HOBJMETACTX *phOutMeta,
5453 DWORD dwParam );
5454
5456 HOBJMETACTX hInMeta,
5457 HOBJMETASEARCHCTX *phMetaSearchCtx,
5458 DWORD dwParam );
5459
5461 HOBJMETACTX *phOutMeta,
5462 DWORD dwOutMetaMaxCount,
5463 DWORD *pdwOutMetaDataCount,
5464 DWORD dwParam );
5465
5467 DWORD dwParam );
5468
5469#define MNG_OBJ_META_TYPE_ULONG (1)
5470#define MNG_OBJ_META_TYPE_STR (2)
5471#define MNG_OBJ_META_TYPE_BOOL (3)
5472#define MNG_OBJ_META_TYPE_INT_BOOL (4)
5473
5474typedef struct tag_OBJ_MET_ATTR
5475{
5477 const char *pszString;
5480
5482 void *pvData,
5483 DWORD *pdwDataLen,
5484 DWORD dwReserved );
5485
5487
5488
5489#define DN_MAX_OBJ_JSON_STRING (15 * 1024)
5491#define DN_JSON_OUT_TYPE_PRETTY (0)
5492#define DN_JSON_OUT_TYPE_RAW (1)
5493#define DN_JSON_OUT_TYPE_COMPACT (2)
5512 const char *szId,
5513 DWORD dwOutType,
5514 char **pszOutJson,
5515 DWORD *pdwOutJsonLen);
5516
5529 const char *szId,
5530 const char *szJson,
5531 DWORD dwJsonLen,
5532 DWORD dwReserved);
5533/* P11 HSM Info */
5534
5536 HP11ATTRCTX *phOutMeta,
5537 DWORD dwParam );
5538
5539#define MNG_HSM_P11_INFO_SLOT_DESC (1)
5540#define MNG_HSM_P11_INFO_MANUFACTURER_ID (2)
5541#define MNG_HSM_P11_INFO_SLOT_FLAGS (3)
5542#define MNG_HSM_P11_INFO_HDW_VERSION (4)
5543#define MNG_HSM_P11_INFO_FMW_VERSION (5)
5544#define MNG_HSM_P11_INFO_LABEL (6)
5545#define MNG_HSM_P11_INFO_MODEL (7)
5546#define MNG_HSM_P11_INFO_SERIAL_NUMBER (8)
5547#define MNG_HSM_P11_INFO_TOKEN_FLAGS (9)
5548#define MNG_HSM_P11_INFO_UTC_TIME (10)
5549#define MNG_HSM_P11_INFO_MAX_SESSION_COUNT (11)
5550#define MNG_HSM_P11_INFO_SESSION_COUNT (12)
5551#define MNG_HSM_P11_INFO_MAX_RW_SESS_COUNT (13)
5552#define MNG_HSM_P11_INFO_RW_SESS_COUNT (14)
5553#define MNG_HSM_P11_INFO_MAX_PIN_LEN (15)
5554#define MNG_HSM_P11_INFO_MIN_PIN_LEN (16)
5555#define MNG_HSM_P11_INFO_TOTAL_PUB_MEMORY (17)
5556#define MNG_HSM_P11_INFO_FREE_PUB_MEMORY (18)
5557#define MNG_HSM_P11_INFO_TOTAL_PRIV_MEMORY (19)
5558#define MNG_HSM_P11_INFO_FREE_PRIV_MEMORY (20)
5559#define MNG_HSM_P11_INFO_SVMK_FINGERPRINT (21)
5560#define MNG_HSM_INFO_TAMPERED_HSM (22)
5561#define MNG_HSM_INFO_OP_MODE (23)
5562#define MNG_HSM_INFO_DS_BOUND (24)
5563#define MNG_HSM_INFO_DS_HSM (25)
5564#define MNG_HSM_INFO_DS_ACCOUNT (26)
5565#define MNG_HSM_INFO_DS_URL (27)
5566#define MNG_HSM_INFO_DNS1 (28)
5567#define MNG_HSM_INFO_DNS2 (29)
5568#define MNG_HSM_INFO_REMOOT (30)
5569#define MNG_HSM_INFO_SCREADER (31)
5570#define MNG_HSM_INFO_TPOEM (32)
5571#define MNG_HSM_INFO_UNLSH (33)
5572#define MNG_HSM_INFO_KB_PLUGGED (34)
5573#define MNG_HSM_INFO_SC_READER_ON (35)
5574#define MNG_HSM_INFO_ALIAS (36)
5575
5577 DWORD dwOption,
5578 void *pvOptionData,
5579 DWORD *pdwOptionDataLen,
5580 DWORD dwParam );
5581
5583 DWORD dwParam );
5584
5586
5587
5588
5589/* Users */
5590
5591
5592int AAP_API DGetUserAcl ( HSESSIONCTX hSession, char *szUser,
5593 DWORD *pdwUserAcl );
5594
5595int AAP_API DListUserTrusts(HSESSIONCTX hSession, char *szUserId,
5596 BYTE bType,
5597 int (AAP_API * ListUserTrustCallback)(char *szUserName,
5598 DWORD dwACL,
5599 void *pParam,
5600 BOOL bFinal),
5601 void *pParam);
5602
5603
5604/* Statistics */
5605
5606int AAP_API DGetHsmInfo(HSESSIONCTX hSession, BOOL *pbFinal,
5607 DWORD dwParam, BYTE * pbData,
5608 DWORD* pdwDataLen, DWORD dwFlags);
5609
5610
5611/* Local operations */
5612
5614 BYTE * pbData, DWORD dwDataLen,
5615 DWORD dwFlags);
5616
5618 BYTE * pbData, DWORD *pdwDataLen,
5619 DWORD dwFlags);
5620
5621int AAP_API DGetLibVersion(HSESSIONCTX hSession, char * szVersion,
5622 DWORD *pdwVersionLen, DWORD dwFlags);
5623
5624
5625/* Key management */
5626
5627int AAP_API DECParam2AlgId(BYTE *pbECParam, DWORD dwECParamLen,
5628 int *pnAlgId, DWORD dwFlags);
5629
5630int AAP_API DECPubKeyDER2AlgId( BYTE *pbECPubKeyDER,
5631 DWORD dwECPubKeyDERLen,
5632 int *pnAlgId,
5633 DWORD dwFlags );
5634
5635int AAP_API DECPrivKeyDER2AlgId(const BYTE *pbDER, DWORD dwDERLen, int *pnAlgId,
5636 DWORD dwFlags);
5637
5841 HSESSIONCTX hSession,
5842 char *szKeyId,
5843 int nAlgId,
5844 DWORD dwFlags,
5845 HKEYCTX * phKey
5846);
5847
5861 int nAlgId,
5862 BYTE *pbData,
5863 DWORD *pdwDataLen,
5864 DWORD dwReserved);
5865
5884 HSESSIONCTX hSession,
5885 char *szKeyId,
5886 DWORD dwFlags,
5887 HKEYCTX * phKey
5888);
5889
5890
5891
5892#define D_IMPORT_ALG_PRIV_KEY_RSA (0xFFFFFFE1) /* Importa uma chave privada RSA. */
5893#define D_IMPORT_ALG_PRIV_KEY_ECC (0xFFFFFFE0) /* Importa uma chave privada ECC(Curvas Elípticas com exceção de ECX). */
5894#define D_IMPORT_ALG_PRIV_KEY_P8 (0xFFFFFFDF) /* Importa uma chave no formato P8 */
5895#define D_IMPORT_ALG_PRIV_KEY_ECX (0xFFFFFFDE) /* Importa uma chave privada ECX */
5896#define D_IMPORT_ALG_PRIV_KEY_DSA (0xFFFFFFDD) /* Importa uma chave privada DSA */
5897#define D_IMPORT_ALG_PRIV_KEY_DH (0xFFFFFFDC) /* Importa uma chave privada DH */
5898#define D_IMPORT_ALG_PRIV_KEY_ML_DSA (0xFFFFFFDA) /* Importa uma chave privada ML-DSA */
5899#define D_IMPORT_ALG_PRIV_KEY_ML_KEM (0xFFFFFFD9) /* Importa uma chave privada ML-KEM */
5900#define D_IMPORT_ALG_PRIV_KEY_SLH_DSA (0xFFFFFFD8) /* Importa uma chave privada SLH-DSA */
5901
5902
5991 HSESSIONCTX hSession,
5992 char *szKeyId,
5993 HKEYCTX hKEKey,
5994 DWORD dwBlobType,
5995 int nAlgId,
5996 DWORD dwFlags,
5997 BYTE * pbData,
5998 DWORD dwDataLen,
5999 HKEYCTX * phKey
6000);
6001
6017 HKEYCTX hKey,
6018 HKEYCTX hKEKey,
6019 DWORD dwBlobType,
6020 DWORD dwFlags,
6021 BYTE * pbData,
6022 DWORD * pdwDataLen
6023);
6024
6058 HSESSIONCTX hSession,
6059 char *szKeyId,
6060 char *szSecret,
6061 DWORD dwKeyAlg,
6062 DWORD dwAttrib,
6063 BYTE *pbKeyEnvelope,
6064 DWORD dwKeyEnvelopeLen
6065);
6066
6080 HSESSIONCTX hSession,
6081 char *szKeyId,
6082 char *szSecret,
6083 BYTE **ppbKeyEnvelope,
6084 DWORD *pdwKeyEnvelopeLen
6085);
6086
6112 HKEYCTX hKey,
6113 DWORD dwParam,
6114 BYTE * pbData,
6115 DWORD dwDataLen,
6116 DWORD dwFlags
6117);
6118
6143 HKEYCTX hKey,
6144 DWORD dwParam,
6145 BYTE * pbData,
6146 DWORD *pdwDataLen,
6147 DWORD dwFlags
6148);
6149
6162 HHASHCTX hHash,
6163 char * szKeyId,
6164 int nAlgId,
6165 DWORD dwFlags,
6166 HKEYCTX * phKey
6167);
6168
6181 HKEYCTX hKey,
6182 DWORD dwFlags,
6183 HKEYCTX * phKey
6184);
6185
6198 HKEYCTX hKey,
6199 HHASHCTX hHash,
6200 DWORD dwFlags
6201);
6202
6215 HKEYCTX * phKey,
6216 DWORD dwFlags
6217);
6218
6260 char *szPrivateKeyName,
6261 BYTE bVersion,
6262 char *szDN,
6263 DWORD dwOutType,
6264 DWORD *pdwCSRLen,
6265 BYTE **ppbCSR,
6266 DWORD dwParam);
6267
6292 char *szPriKey,
6293 char *szPubKey,
6294 char *szCert,
6295 void *pvReserved,
6296 DWORD dwReserved);
6297
6320 const char *szPkcs12Pwd,
6321 const char *szKeyId,
6322 const char *szCertId,
6323 const char *szReserved,
6324 BYTE **ppbPkcs12,
6325 DWORD *pdwPkcs12Len,
6326 DWORD dwFlags);
6327
6346 BYTE *pbPkcs12,
6347 DWORD dwPkcs12Len,
6348 const char *szPkcs12Pwd,
6349 const char *szKeyId,
6350 DWORD dwKeyAttr,
6351 const char *szCertId,
6352 const char *szPubKeyId,
6353 DWORD dwFlags);
6354
6370 const char *szPkcs12File,
6371 const char *szPkcs12Pwd,
6372 const char *szKeyId,
6373 const DWORD dwKeyAttr,
6374 const char *szCertId);
6375
6376#define DN_FORM_DER (1)
6393int AAP_API DRSAPublicKey2Info(BYTE *pbKey, DWORD dwKeyLen, DWORD dwInForm,
6394 void *pvPubKeyInfo, DWORD dwReserved);
6395
6412int AAP_API DRSAPrivateKey2Info(const BYTE *pbRsa, DWORD dwRsaLen, DWORD dwInForm,
6413 DN_RSA_PRIVATE_KEY_INFO *stRsaInfo, DWORD dwReserved);
6414
6416typedef struct tag_DN_EXPORT_BYOK_AZURE{
6417 char *szKeKKid;
6421
6422#define DN_BYOK_TYPE_AZURE (1)
6423#define DN_BYOK_TYPE_AWS (2)
6443int AAP_API DByokExport(HSESSIONCTX hSession, const char *cszKeyId,
6444 const char *cszKekId, DWORD dwType,
6445 const void *pvData, BYTE **ppbOutData,
6446 DWORD *pdwOutDataLen, DWORD dwReserved);
6447
6471 DWORD dwOp,
6472 BYTE *pbInData,
6473 BYTE *pbTokenBlob,
6474 DWORD *pdwTokenBlobLen,
6475 char *szToken,
6476 DWORD dwReserved);
6477
6523 DWORD dwOp,
6524 const char *szMK,
6525 const char *szMask,
6526 BYTE *pbTokenBlob,
6527 DWORD dwTokenBlobLen,
6528 char *szData,
6529 DWORD *pdwDataLen,
6530 DWORD dwReserved);
6531
6534int AAP_API DRemoveKey(HSESSIONCTX hSession, char *szKeyId);
6535
6537 DWORD dwCertLen,
6538 DWORD dwOutType,
6539 void *pvCertInfo,
6540 DWORD dwFlags );
6541
6542/* Symmetric/Asymmetric operations */
6543
6573 HKEYCTX hKey,
6574 HHASHCTX hHash,
6575 BOOL bFinal,
6576 DWORD dwFlags,
6577 BYTE* pbData,
6578 DWORD* pdwDataLen,
6579 DWORD dwBufLen
6580);
6581
6603 HKEYCTX hKey,
6604 HHASHCTX hHash,
6605 BOOL bFinal,
6606 DWORD dwFlags,
6607 BYTE* pbData,
6608 DWORD* pdwDataLen
6609);
6610
6644 HSESSIONCTX hSession,
6645 int nAlgId,
6646 HKEYCTX hKey,
6647 DWORD dwFlags,
6648 HHASHCTX *hHash
6649);
6650
6662 HHASHCTX hHash,
6663 BYTE* pbData,
6664 DWORD dwDataLen,
6665 DWORD dwFlags
6666);
6667
6684 HHASHCTX hHash,
6685 DWORD dwParam,
6686 BYTE * pbData,
6687 DWORD dwDataLen,
6688 DWORD dwFlags
6689);
6690
6708 HHASHCTX hHash,
6709 DWORD dwParam,
6710 BYTE* pbData,
6711 DWORD* pdwDataLen,
6712 DWORD dwFlags
6713);
6714
6747 HHASHCTX hHash,
6748 HKEYCTX hKey,
6749 DWORD dwFlags,
6750 BYTE* pbSignature,
6751 DWORD* pdwSigLen
6752);
6753
6754
6763 HHASHCTX * phHash
6764);
6765
6788 HHASHCTX hHash,
6789 BYTE* pbSignature,
6790 DWORD dwSigLen,
6791 HKEYCTX hPubKey,
6792 DWORD dwFlags
6793);
6794
6807 HHASHCTX hHash,
6808 DWORD dwFlag,
6809 HHASHCTX * phHash
6810);
6811
6822 HSESSIONCTX hSession,
6823 BYTE *pbData,
6824 DWORD dwDataLen
6825);
6826
6846 HSESSIONCTX hSession,
6847 DWORD dwOP,
6848 char *szPriKey,
6849 void *pvInData,
6850 DWORD dwInDataLen,
6851 BYTE *pbOutData,
6852 DWORD *pdwOutDataLen,
6853 DWORD dwFlags
6854);
6855
6877 HSESSIONCTX hSession,
6878 DWORD dwOP,
6879 char *szPriKey,
6880 void *pvInData,
6881 DWORD dwInDataLen,
6882 BYTE *pbOutData,
6883 DWORD *pdwOutDataLen,
6884 DWORD dwFlags
6885);
6886
6899 char *szCRL,
6900 char *szCertId,
6901 char *szCertOrChain);
6902
6921 BYTE bM,
6922 BYTE bN,
6923 BYTE *pbSecret,
6924 DWORD dwSecretLen,
6925 DN_M_OF_N_SPLIT_INFO *pstSplitInfo,
6926 DWORD dwReserved);
6927
6944 DN_M_OF_N_PART *pstParts,
6945 DWORD dwPartsCount,
6946 BYTE *pbSecret,
6947 DWORD dwReserved);
6948
6967int AAP_API DGenerateSVMK(HSESSIONCTX hSession, int nVersion, const BYTE *pbKey,
6968 BYTE bM, BYTE bN, DN_SC_M_OF_N_SHADOW *pstShadows,
6969 DWORD dwReserved);
6970
6987 BYTE bShadowsCount, BYTE *pbKey, DWORD dwReserved);
6988
6989#define DN_KEM_ENCAPS_OPT_ML_KEM (1)
6990#define DN_KEM_MAX_PUB_LEN (8192)
7010int AAP_API DKemEncaps(HSESSIONCTX hSession, DWORD dwOpt, const void *pvDataIn,
7011 const BYTE *pbEncapsKey, DWORD dwEncapsKeyLen,
7012 void *pvDataOut, DWORD dwReserved);
7013
7014#define DN_KEM_DECAPS_OPT_ML_KEM (1)
7039int AAP_API DKemDecaps(HSESSIONCTX hSession, DWORD dwOpt, const void *pvDataIn,
7040 const char *szDecapsKey, const BYTE *pbCiphertext,
7041 DWORD dwCiphertextLen, void *pvDataOut, DWORD dwReserved);
7042
7045/* PIN - CVV */
7046
7076 HSESSIONCTX hSession,
7077 char *szSrcPEK,
7078 char *szDstPEK,
7079 BYTE bTransBlockType,
7080 char *szPAN,
7081 BYTE *pbInPinBlock,
7082 BYTE *pbOutPinBlock,
7083 DWORD dwParam);
7084
7103 HSESSIONCTX hSession,
7104 char *szKeyId,
7105 char *szPAN,
7106 char *szExpirationDate,
7107 char *szServiceCode,
7108 char *szCVV,
7109 DWORD dwParam
7110);
7111
7126 HSESSIONCTX hSession,
7127 char *szKeyId,
7128 char *szPAN,
7129 char *szExpirationDate,
7130 char *szServiceCode,
7131 char *szCVV,
7132 DWORD dwParam
7133);
7134
7156 HSESSIONCTX hSession,
7157 char *szPGK,
7158 char *szPAN,
7159 DWORD dwOperation,
7160 int nPinLen,
7161 char *szInPin,
7162 char *szOffset,
7163 char *szOutPin,
7164 DWORD dwParam
7165);
7166
7181 HSESSIONCTX hSession,
7182 char *szPTK,
7183 char *szPGK,
7184 char *szPAN,
7185 char *szOffset,
7186 BYTE *pbInPinBlock,
7187 DWORD dwParam
7188);
7189
7202 int nKeyAlgId,
7203 EFT_VISA_KEY_PARTS *pstKeyParts,
7204 DWORD dwParam
7205);
7206
7228 HSESSIONCTX hSession,
7229 BYTE *pbKSI,
7230 BYTE *pbDID_CTR,
7231 char *szDUKPT,
7232 DWORD dwParam
7233);
7234
7245 BYTE *pbKSI,
7246 char *szBDKName,
7247 DWORD dwParam
7248);
7249
7261 BYTE *pbKSI,
7262 BYTE *pbDID_CTR,
7263 char *szDUKPTName,
7264 DWORD dwParam
7265);
7266
7281 HSESSIONCTX hSession,
7282 char *szPGK,
7283 BYTE bPVKI,
7284 char *szPAN,
7285 char *szPIN,
7286 char *szPVV,
7287 DWORD dwParam
7288);
7289
7303 HSESSIONCTX hSession,
7304 char *szIMKDAC,
7305 char *szPAN,
7306 BYTE *pbSEQ,
7307 BYTE *pbDAC,
7308 DWORD dwParam
7309);
7310
7324 HSESSIONCTX hSession,
7325 char *szIMKDAC,
7326 char *szPAN,
7327 BYTE *pbSEQ,
7328 BYTE *pbDAC,
7329 DWORD dwParam
7330);
7331
7347 HSESSIONCTX hSession,
7348 char *szIK,
7349 BYTE *pbDAC,
7350 DWORD dwSDA_DATALen,
7351 BYTE *pbSDA_DATA,
7352 DWORD *pdwSigLen,
7353 BYTE *pbSig,
7354 DWORD dwParam
7355);
7356
7376 HSESSIONCTX hSession,
7377 BYTE bOP,
7378 char *szIK,
7379 char *szPAN,
7380 DWORD dwDDA_DATALen,
7381 BYTE *pbDDA_DATA,
7382 DWORD *pdwSigLen,
7383 BYTE *pbSig,
7384 DWORD dwParam
7385);
7386
7407 HSESSIONCTX hSession,
7408 BYTE bOP,
7409 char *szIK,
7410 char *szKeK,
7411 char *szPAN,
7412 BYTE *pbSEQ,
7413 DWORD *pdwEnvelopeLen,
7414 BYTE *pbEnvelope,
7415 DWORD dwParam
7416);
7417
7423 HSESSIONCTX hSession,
7424 BYTE bOP,
7425 char *szIK,
7426 char *szPAN,
7427 BYTE *pbSEQ,
7428 BYTE *pbNONCE,
7429 DWORD dwDataLen,
7430 BYTE *pbData,
7431 BYTE *pbMAC,
7432 DWORD dwParam
7433);
7434
7477 HSESSIONCTX hSession,
7478 BYTE bOP,
7479 char *szIK,
7480 char *szPAN,
7481 BYTE *pbSEQ,
7482 BYTE *pbNONCE,
7483 DWORD dwDataLen,
7484 BYTE *pbData,
7485 BYTE *pbMAC,
7486 DWORD dwParam
7487);
7488
7504 HSESSIONCTX hSession,
7505 char *szIK,
7506 char *szPAN,
7507 BYTE *pbSEQ,
7508 BYTE *pbATC,
7509 BYTE *pbUN,
7510 BYTE *pbIDN,
7511 DWORD dwParam
7512);
7513
7552 HSESSIONCTX hSession,
7553 BYTE bEncOP,
7554 char *szEncIK,
7555 BYTE *pbEncNONCE,
7556 BYTE bMacOP,
7557 char *szMacIK,
7558 BYTE *pbMacNONCE,
7559 char *szPAN,
7560 BYTE *pbSEQ,
7561 DWORD dwDataLen,
7562 BYTE *pbData,
7563 DWORD *pdwEncDataLen,
7564 BYTE *pbEncData,
7565 BYTE *pbMAC,
7566 DWORD dwParam
7567);
7568
7593 HSESSIONCTX hSession,
7594 BYTE bOP,
7595 char *szIK,
7596 BYTE *pbTrackNum,
7597 BYTE *pbServiceID,
7598 BYTE *pbIssuerID,
7599 BYTE *pbExpDate,
7600 DWORD *pdwCSRLen,
7601 BYTE *pbCSR,
7602 DWORD dwParam
7603);
7604
7628 HSESSIONCTX hSession,
7629 BYTE bOP,
7630 char *szIK,
7631 BYTE *pbTrackNum,
7632 BYTE *pbServiceID,
7633 BYTE *pbIssuerID,
7634 BYTE *pbExpDate,
7635 DBLOB *pdbCSR,
7636 BYTE *pbHash,
7637 DWORD dwParam
7638);
7639
7680 HSESSIONCTX hSession,
7681 BYTE bOP,
7682 BYTE *pbNONCE,
7683 char *szTransportKey,
7684 char *szISSUER_MK,
7685 char *szISSUER_SMC_MK,
7686 char *szPAN,
7687 BYTE *pbSEQ,
7688 BYTE *pbOLD_PB,
7689 BYTE *pbNEW_PB,
7690 BYTE *pbOutBlock,
7691 DWORD *pdwOutBlockLen,
7692 DWORD dwParam
7693);
7694
7700 HSESSIONCTX hSession,
7701 char *szSrcKey,
7702 WORD wBufferLen,
7703 BYTE *pbBuffer,
7704 BYTE bOP,
7705 DWORD dwAttrib,
7706 char *szDstKey,
7707 HKEYCTX *phKey,
7708 DWORD dwParam
7709);
7710
7728 HSESSIONCTX hSession,
7729 char *szIssuerMK,
7730 char *szPAN,
7731 BYTE *pbSEQ,
7732 BYTE *pbARQC,
7733 BYTE *pbARC,
7734 BYTE *pbARPC,
7735 DWORD dwParam
7736);
7737
7738
7739#define DN_CALC_ARPC_EMV_4_2_M1_ICC (1)
7740#define DN_CALC_ARPC_EMV_4_2_M1_SK (2)
7741#define DN_CALC_ARPC_EMV_4_2_M2 (3)
7742
7762 DWORD dwOp,
7763 void *pvInData,
7764 BYTE *pbARPC,
7765 DWORD dwParam );
7766
7780 DWORD dwType,
7781 BYTE *pbKey,
7782 DWORD dwAlg,
7783 const BYTE *pbMsg,
7784 DWORD dwMsgLen,
7785 BYTE *pbMAC
7786);
7787
7788#define DN_EFT_AES_KCV_TYPE_CMAC (1)
7812int AAP_API DEFTImportKey(HSESSIONCTX hSession, char *szKeyId,
7813 int nKeyAlgId, void *pstKeyParts,
7814 DWORD dwParam);
7815
7832#define DN_EFT_GET_KCV_TYPE_X9_24 (1)
7833#define DN_EFT_GET_KCV_TYPE_CMAC (2)
7836 const char *szKeyId, void *pvKeyParts,
7837 DWORD dwReserved);
7838
7839int AAP_API DEFTExportKey(HSESSIONCTX hSession, BYTE bExportMode,
7840 char *szKEKId, char *szKeyId,
7841 BYTE *pbEncryptedBlock, DWORD *pdwEncryptedBlockLen,
7842 BYTE *pbKeyCheckValue, DWORD dwParam);
7843
7844int AAP_API DEFTKeKImport( HSESSIONCTX hSession, BYTE bOP, DWORD dwAlgId,
7845 char *szKeKName, char *szKeyName, DWORD dwAttr,
7846 BYTE *pbKCV1, BYTE *pbKCV2, BYTE *pbKCV3,
7847 BYTE *pbKCVFinal, BYTE *pbBlob, DWORD dwFlags );
7848
7849/* DEFTExportZPK */
7850
7851#define DN_EXP_ZPK_FLAG_FULL_CKS (1)
7871int AAP_API DEFTExportZPK(HSESSIONCTX hSession, char *szKeyId,
7872 int *pnKeyAlg, int *pnKeySize,
7873 EFT_VISA_KEY_PARTS *pstKeyParts, DWORD dwParam);
7874
7875#define DN_EFT_GET_KCV_MAX_LEN (3)
7890int AAP_API DEFTGetKcv(HSESSIONCTX hSession, BYTE bType, const char *szKeyId,
7891 BYTE *pbKcv, DWORD *pdwKcvLen, DWORD dwReserved);
7892
7893
7894#define DN_EFT_GEN_OFFLINE_KCV_TYPE_X9_24 (1)
7895#define DN_EFT_GEN_OFFLINE_KCV_TYPE_CMAC (2)
7897#define DN_EFT_KCV_TYPE_X9_24_LEN (3)
7898#define DN_EFT_KCV_TYPE_CMAC_LEN (3)
7900#define DN_EFTD_MAX_KEK_LEN (159)
7919int AAP_API DEFTGenKCVOffline(DWORD dwType, int nAlgId, const BYTE *pbKey,
7920 DWORD dwKeyLen, BYTE *pbKCV, DWORD *pdwKCVLen,
7921 DWORD reserved);
8006 const char *szKBPK,
8007 const char *szKey,
8008 void *pvReserved,
8009 WORD wUsage,
8010 BYTE bMode,
8011 BYTE bExport,
8012 BYTE *pbOutBlock,
8013 DWORD *pdwOutBlockLen,
8014 DWORD dwParam);
8015
8036 const char *szKBPK,
8037 const char *szKey,
8038 DWORD dwKeyAttributes,
8039 BYTE *pbKeyBlock,
8040 DWORD dwKeyBlockLen,
8041 DWORD dwParam);
8066 const char *szDestKey,
8067 DWORD dwAttributes,
8068 const char *szPart1,
8069 const char *szPart2,
8070 const char *szPart3,
8071 const BYTE *pbExpectedKcv,
8072 DWORD dwKcvLen,
8073 DWORD dwReserved);
8074
8094 const char *szLmk,
8095 BYTE bVariant,
8096 const char *szKey,
8097 BYTE bKs,
8098 char *szOut,
8099 DWORD *pdwOutLen,
8100 DWORD dwParam);
8101
8104/* Digital signature */
8105
8106int AAP_API DPowerSignHash(HSESSIONCTX hSession, char *szKeyId,
8107 int nHashAlgId, DWORD dwDataLen,
8108 BYTE *pbDataBuffer, DWORD *pdwSignLen,
8109 BYTE **ppbSignData);
8110
8145 HSESSIONCTX hSession,
8146 const char *szKeyName,
8147 const char *szKeyCert,
8148 const char *szCerts,
8149 DWORD dwAttrib,
8150 BYTE *pbContent,
8151 DWORD dwContentLen,
8152 DWORD *pdwSignatureLen,
8153 BYTE **ppbSignature,
8154 DWORD dwParam
8155);
8156
8160/* (CNS) Social Connectivity */
8162 char *szKeyID, char *szUsrID, char *szUsrName,
8163 WORD wModulusLen, BYTE *pbModulus,
8164 BYTE bExponentLen, BYTE *pbExponent,
8165 DWORD *pdwCertLen, BYTE *pbCert, DWORD dwParam );
8166
8167/* Hash */
8168int AAP_API DSignHashedData( HKEYCTX hKey, BYTE *pbData, DWORD dwDataLen,
8169 int nHashId, DWORD dwFlags, BYTE* pbSignature,
8170 DWORD* pdwSigLen );
8171
8173 DWORD dwPadding,
8174 BYTE*pbBlock,
8175 BYTE *pbData,
8176 DWORD* pdwDataLen,
8177 DWORD dwBlockSize,
8178 DWORD dwFlag );
8179
8181 BYTE *pbBlock,
8182 DWORD dwBlockCount,
8183 DWORD dwFlags );
8184
8185/* Base64 */
8186
8188 DWORD dwDataLen,
8189 char *szBase64,
8190 DWORD *pdwBase64Len,
8191 BOOL bNoNewLines );
8192
8194 DWORD dwBase64Len,
8195 BYTE *pbData,
8196 DWORD *pdwDataLen);
8197
8198
8233 HKEYCTX hKey,
8234 HHASHCTX hHash,
8235 char *szCertId,
8236 DWORD dwSizeUnsignedXml,
8237 BYTE *pbUnsignedXml,
8238 DWORD dwFilterLen,
8239 BYTE *pbFilter,
8240 DWORD *pdwSizeSignedXml,
8241 BYTE **ppbSignedXml
8242);
8243
8304 BYTE bHashMode,
8305 DWORD dwFlags,
8306 const char *szKeyId,
8307 const char *szCertId,
8308 DWORD dwSizeUnsignedXml,
8309 BYTE *pbUnsignedXml,
8310 DWORD dwFilterLen,
8311 BYTE *pbFilter,
8312 DWORD *pdwSizeSignedXml,
8313 BYTE **ppbSignedXml);
8314
8320int AAP_API DVerifySignedXml ( HSESSIONCTX hSession, char *szCertsId,
8321 DWORD dwSizeSignedXml, BYTE *pbSignedXml,
8322 DWORD dwFilterLen, BYTE *pbFilter);
8323
8344 HSESSIONCTX hSession,
8345 char *szCertsId,
8346 DWORD dwSizeSignedXml,
8347 BYTE *pbSignedXml,
8348 DWORD dwFilterLen,
8349 BYTE *pbFilter,
8350 char *szCRL
8351);
8352
8388 const char *szKeyId,
8389 const char *szCertId,
8390 DWORD dwFlags,
8391 DWORD dwSizeUnsignedPIXEnvelope,
8392 BYTE *pbUnsignedPIXEnvelope,
8393 DWORD *pdwSizeSignedPIXEnvelope,
8394 BYTE **ppbSignedPIXEnvelope);
8395
8396
8411 const char *szChainId,
8412 const char *szCRL,
8413 DWORD dwFlags,
8414 DWORD dwSizeSignedPIXEnvelope,
8415 BYTE* pbSignedPIXEnvelope);
8416
8437 const char *szKeyId,
8438 const char *szCertId,
8439 DWORD dwFlags,
8440 DWORD dwSizeUnsignedDictEnvelope,
8441 BYTE *pbUnsignedDictEnvelope,
8442 DWORD *pdwSizeSignedDictEnvelope,
8443 BYTE **ppbSignedDictEnvelope);
8444
8445
8460 const char *szChainId,
8461 const char *szCRL,
8462 DWORD dwFlags,
8463 DWORD dwSizeSignedDictEnvelope,
8464 BYTE* pbSignedDictEnvelope);
8465
8499 const char *szKeyId,
8500 DWORD dwFlags,
8501 DWORD dwHeaderLen,
8502 BYTE *pbHeader,
8503 DWORD dwPayloadLen,
8504 BYTE *pbPayload,
8505 DWORD *pdwJWSLen,
8506 BYTE *pbJWS);
8507
8526 const char *szChain,
8527 const char *szCRL,
8528 DWORD dwJWSLen,
8529 BYTE *pbJWS,
8530 DWORD dwFlags,
8531 DWORD *pdwHeaderLen,
8532 BYTE *pbHeader,
8533 DWORD *pdwPayloadLen,
8534 BYTE *pbPayload);
8535
8575 const char * szKeyId,
8576 const char * szCertId,
8577 const char * szPIXCertChainId,
8578 const char * szURL,
8579 DWORD dwCountRequestHeaderList,
8580 const char * pszRequestHeaderList[],
8581 DWORD dwSizeRequestData,
8582 BYTE* pbRequestData,
8583 DWORD dwTimeOut,
8584 DWORD * pdwSizeResponseHeaders,
8585 BYTE ** ppbResponseHeaders,
8586 DWORD * pdwSizeResponseBody,
8587 BYTE ** ppbResponseBody,
8588 DWORD dwParam);
8589
8590
8630 const char * szKeyId,
8631 const char * szCertId,
8632 const char * szPIXCertChainId,
8633 const char * szURL,
8634 DWORD dwCountRequestHeaderList,
8635 const char * pszRequestHeaderList[],
8636 DWORD dwSizeRequestData,
8637 BYTE* pbRequestData,
8638 DWORD dwTimeOut,
8639 DWORD * pdwSizeResponseHeaders,
8640 BYTE ** ppbResponseHeaders,
8641 DWORD * pdwSizeResponseBody,
8642 BYTE ** ppbResponseBody,
8643 DWORD dwParam);
8644
8681 const char * szKeyId,
8682 const char * szCertId,
8683 const char * szPIXCertChainId,
8684 const char * szURL,
8685 DWORD dwCountRequestHeaderList,
8686 const char * pszRequestHeaderList[],
8687 DWORD dwTimeOut,
8688 DWORD * pdwSizeResponseHeaders,
8689 BYTE ** ppbResponseHeaders,
8690 DWORD * pdwSizeResponseBody,
8691 BYTE ** ppbResponseBody,
8692 DWORD dwParam);
8693
8730 const char * szKeyId,
8731 const char * szCertId,
8732 const char * szPIXCertChainId,
8733 const char * szURL,
8734 DWORD dwCountRequestHeaderList,
8735 const char * pszRequestHeaderList[],
8736 DWORD dwTimeOut,
8737 DWORD * pdwSizeResponseHeaders,
8738 BYTE ** ppbResponseHeaders,
8739 DWORD * pdwSizeResponseBody,
8740 BYTE ** ppbResponseBody,
8741 DWORD dwParam);
8742
8745/* Library version */
8746
8747int AAP_API DVersion ( DWORD dwType, DWORD *pdwMajor,
8748 DWORD *pdwMinor, DWORD *pdwRevision,
8749 DWORD *pdwBuild );
8750
8769 DWORD dwsize
8770);
8771
8780 void *p
8781);
8782
8785//Free and clean CERT_X509_INFO structure members
8787
8788
8789/* Logs and monitoring */
8790
8791int AAP_API DLogLineFormat ( char *szIn, char *szOut );
8792
8794 HSESSIONCTX hSession,
8795 DWORD *pdwLogLen
8796);
8797
8799 DWORD dwStart,
8800 DWORD dwOffset,
8801 HLOGCTX *phLogCtx,
8802 DWORD dwParam );
8803
8805 BYTE *pbLog,
8806 DWORD *pdwLogSize );
8807
8809
8810
8811int AAP_API DGetStatInfo ( HSESSIONCTX hSession, DWORD *pdwSessions,
8812 DWORD *pdwCPU, DWORD *pdwUnit,
8813 DWORD *pdwMemTotal, DWORD *pdwMemUsed,
8814 DWORD *pdwSwapTotal, DWORD *pdwSwapUsed );
8815
8816int AAP_API DGetNetInfo ( HSESSIONCTX hSession, BYTE **ppbNetInfo, DWORD *pdwNetInfoCount, DWORD dwFlags );
8817
8818
8819/* Digital certificate */
8820
8822 DWORD dwCertLen,
8823 DWORD dwOutFormat,
8824 BYTE **ppbOutCert,
8825 DWORD *pdwOutCertLen,
8826 DWORD dwReserved );
8827
8828
8830 DWORD dwECLen,
8831 DWORD dwInForm,
8832 void *pvPrivKeyInfo,
8833 DWORD dwOutForm,
8834 DWORD dwReserved );
8835
8836
8838 DWORD dwECLen,
8839 DWORD dwInForm,
8840 void *pvPubKeyInfo,
8841 DWORD dwOutForm,
8842 DWORD dwReserved );
8843
8870 HSESSIONCTX hSession,
8871 char *szMasterKeyId,
8872 DWORD dwParamBlobType,
8873 void *pvParamBlob,
8874 DWORD dwParamBlobLen,
8875 BYTE *pbOTPBlob,
8876 DWORD *pdwOTPBlobLen,
8877 DWORD dwFlags
8878);
8879
8880
8881
8882
8912 HSESSIONCTX hSession,
8913 char *szMasterKeyId,
8914 char *szOTP,
8915 BYTE *pbOATHBlob,
8916 DWORD *pdwOATHBlobLen,
8917 DWORD dwFlags
8918);
8919
8934 HSESSIONCTX hSession,
8935 char *szMasterKeyId,
8936 BYTE bOTPLen,
8937 BYTE *pbOATHBlob,
8938 DWORD dwOATHBlobLen,
8939 char *szOTP,
8940 DWORD dwFlags
8941);
8942
8971 HSESSIONCTX hSession,
8972 DWORD dwSetup,
8973 BYTE bOTPLen,
8974 const char *szSK,
8975 const char *szSuite,
8976 const BYTE *pbCounter,
8977 const BYTE *pbQuestion,
8978 BYTE bQuestionLen,
8979 const BYTE *pbPinHash,
8980 const char *szSession,
8981 const BYTE *pbTimestamp,
8982 char *szOTP,
8983 DWORD dwFlags
8984);
8985
9006 const HSESSIONCTX hSession,
9007 char *szMasterKey,
9008 BYTE *pbInBlob,
9009 DWORD dwInBlobLen,
9010 DWORD dwOutBlobType,
9011 BYTE *pbOutInfo,
9012 DWORD *pdwOutInfoLen,
9013 DWORD dwParam
9014);
9015
9039 HSESSIONCTX hSession,
9040 char *szMasterKeyId,
9041 char *szOTP1,
9042 char *szOTP2,
9043 BYTE *pbOATHBlob,
9044 DWORD *pdwOATHBlobLen,
9045 DWORD dwFlags
9046);
9047
9064 HSESSIONCTX hSession,
9065 char *szMasterKey,
9066 BYTE *pbPSK,
9067 BYTE bPSKLen,
9068 BYTE *pbPSKC,
9069 DWORD dwPSKCLen,
9070 void **pvBlobList,
9071 DWORD *pdwBlobListQuantity,
9072 DWORD dwParam
9073);
9074
9077//DOATHIssueHOTPBlob is DEPRECATED. Use DOATHIssueBlob instead.
9079 HSESSIONCTX hSession,
9080 char *szMasterKeyId,
9081 DWORD dwParamBlobType,
9082 void *pvParamBlob,
9083 DWORD dwParamBlobLen,
9084 BYTE *pbOTPBlob,
9085 DWORD *pdwOTPBlobLen,
9086 DWORD dwFlags
9087);
9088
9089//DOATHCheckHOTP is DEPRECATED. Use DOATHCheckOTP instead.
9091 char *szMasterKeyId,
9092 char *szOTP,
9093 BYTE *pbOATHBlob,
9094 DWORD *pdwOATHBlobLen,
9095 DWORD dwFlags );
9096
9097//Users
9099 DWORD dwSecretLen,
9100 ND_OATH_uint64_t nuiMovingFactor,
9101 int nCodeDigits,
9102 BOOL bAddChecksum,
9103 int nTruncOff,
9104 char *szResult);
9105
9106
9140 HSESSIONCTX hSession,
9141 char *szSrcISPB,
9142 char *szDstISPB,
9143 DWORD dwTotalDataLen,
9144 BYTE bErrorCode,
9145 BYTE bSpecialTreatment,
9146 HSPBCTX *hSPBCtx,
9147 DWORD dwFlags
9148);
9149
9165 HSPBCTX hSPBCtx,
9166 BYTE *pbDataIn,
9167 DWORD dwDataInLen,
9168 BYTE *pbDataOut,
9169 DWORD *pdwDataOutLen
9170);
9171
9184 HSPBCTX *hSPBCtx,
9185 BYTE *pbSPBHeader,
9186 DWORD *pdwSPBHeaderLen
9187);
9188
9229 HSESSIONCTX hSession,
9230 char *szSrcISPB,
9231 char *szDstISPB,
9232 BYTE *pbHeader,
9233 DWORD dwHeaderLen,
9234 BYTE bAcceptExpiredCert,
9235 BYTE bAutoUpdateCert,
9236 DWORD dwMessageDataLen,
9237 HSPBCTX *hSPBCtx,
9238 DWORD dwFlags
9239);
9240
9258 HSPBCTX hSPBCtx,
9259 BYTE *pbDataIn,
9260 DWORD dwDataInLen,
9261 BYTE **ppbDataOut,
9262 DWORD *pdwDataOutLen
9263);
9264
9275 HSPBCTX *hSPBCtx
9276);
9277
9292 HSESSIONCTX hSession,
9293 char *szID,
9294 char *szPrivateKeyName,
9295 DWORD dwKeyParam,
9296 DWORD dwParam
9297);
9298
9334 HSESSIONCTX hSession,
9335 char *szPrivateKeyName,
9336 BYTE bVersion,
9337 char *szSPBSubject,
9338 DWORD dwOutType,
9339 DWORD *pdwCSRLen,
9340 BYTE **ppbCSR,
9341 DWORD dwParam
9342);
9343
9369 HSESSIONCTX hSession,
9370 BYTE bActivate,
9371 const char *szUser,
9372 BYTE *pbCertificate,
9373 DWORD dwCertificateLen,
9374 const char *szDomain,
9375 DWORD dwParam);
9376
9396 BYTE bActivate,
9397 const char *szUser,
9398 const char *szPkcs12File,
9399 const char *szPkcs12Pwd,
9400 const char *szDomain,
9401 DWORD dwKeyAttr);
9402
9420 const char *szPkcs12Pwd,
9421 const char *szISPB,
9422 const char *szReserved,
9423 BYTE **ppbPkcs12,
9424 DWORD *pdwPkcs12Len,
9425 DWORD dwReserved);
9426
9440 HSESSIONCTX hSession,
9441 const char *szIdCert,
9442 const char *szDomain,
9443 DWORD dwParam
9444);
9445
9458 HSESSIONCTX hSession,
9459 const char *szIdCert,
9460 DWORD dwReserved
9461);
9462
9477 HSESSIONCTX hSession,
9478 const char *szIdCert,
9479 BYTE **ppbCertificate,
9480 DWORD *pdwCertificateLen,
9481 DWORD dwParam
9482);
9483
9502 char *szISPB,
9503 char *szDomain,
9504 DWORD dwKeyType,
9505 char *szOutObjName,
9506 DWORD dwParam
9507);
9508
9523 HSESSIONCTX hSession,
9524 const char *szIdCert,
9525 EXT_MAP_2_OBJ_INFO *pstExtMap,
9526 DWORD dwParam
9527);
9528
9548 HSESSIONCTX hSession,
9549 char *szISPB,
9550 char *szKeyId,
9551 char *szCertId,
9552 DWORD dwParam
9553);
9554
9557/* Esta API pertence ao grupo SPB, mas precisa da documentacao*/
9559 HSESSIONCTX hSession,
9560 char *szDomain,
9561 BOOL bActive,
9562 DBLOB **pdbList,
9563 DWORD *pdwListLen,
9564 DWORD dwParam
9565);
9566
9604int AAP_API DBchainCreateXPrv(HSESSIONCTX hSession, BYTE bType, DWORD dwAttributes,
9605 const char *szId, const BYTE *pcbData, DWORD dwDataLen,
9606 DWORD dwReserved);
9607
9630int AAP_API DBchainCreateBip32Ckd(HSESSIONCTX hSession, BYTE bVersion, DWORD dwIndex,
9631 DWORD dwAttributes, const char *cszPar,
9632 const char *cszDst, DN_BCHAIN_KEY_INFO *pKeyInfo,
9633 DWORD dwReserved);
9634
9635#define DN_BCHAIN_CKD_OPT_BIP32_XPRV (1)
9636#define DN_BCHAIN_CKD_OPT_BIP32_ED25519_XPRV (2)
9637#define DN_BCHAIN_CKD_OPT_BIP32_P256_XPRV (3)
9658int AAP_API DBchainCreateCkd(HSESSIONCTX hSession, DWORD dwOpt, const BYTE *pbIn,
9659 BYTE *pbOut, DWORD dwReserved);
9660
9747 const char *cszHrp, const char *cszPk,
9748 BYTE *pbAddress, DWORD *pdwAddressLen,
9749 DWORD dwReserved);
9750
9781int AAP_API DBchainSignHash(HSESSIONCTX hSession, BYTE bType, BYTE bHashMode,
9782 BYTE *pbHash, DWORD dwHashLen, const char *cszPk,
9783 BYTE *pbSig, DWORD *pdwSigLen, DWORD dwReserved);
9784
9823int AAP_API DBchainVerify(HSESSIONCTX hSession, BYTE bSigType, BYTE bHashMode,
9824 const BYTE *pbHash, DWORD dwHashLen, const BYTE *pbSig,
9825 DWORD dwSigLen, BYTE bInPbkType, const BYTE *pbInPbk,
9826 BYTE bInPbkLen, DWORD dwReserved);
9827
9855int AAP_API DBchainEdDsaSign(HSESSIONCTX hSession, BYTE bType, const char *cszCtxStr,
9856 BYTE *pbData, DWORD dwDataLen, const char *cszPk,
9857 BYTE *pbSig, DWORD *pdwSigLen, DWORD dwReserved);
9858
9900int AAP_API DBchainEdDsaVerify(HSESSIONCTX hSession, BYTE bType, const char *cszCtxStr,
9901 BYTE *pbData, DWORD dwDataLen, BYTE bPbkType,
9902 BYTE *pbPbk, DWORD dwPbkLen, BYTE *pbSig,
9903 DWORD dwSigLen, DWORD dwReserved);
9931int AAP_API DBchainPkImport(HSESSIONCTX hSession, BYTE bFormat, DWORD dwAttributes,
9932 const char *cszId, const BYTE *pcbData, DWORD dwDataLen,
9933 DWORD dwReserved);
9934
9969int AAP_API DBchainPkExport(HSESSIONCTX hSession, BYTE bFormat, BYTE bVersion,
9970 BYTE bCompressed, const char *cszId, BYTE **ppbData,
9971 DWORD *pdwDataLen, DWORD dwReserved);
9972
10001 const char *cszId, BYTE *pbData,
10002 DWORD *pdwDataLen, DWORD dwReserved);
10003
10033 BYTE bHashMode, const BYTE *pbHash,
10034 DWORD dwHashLen, const BYTE *pbSig,
10035 DWORD dwSigLen, DN_BCHAIN_PBK *pPbk,
10036 DWORD dwReserved);
10037
10049 const char *cszId, void *pvData,
10050 DWORD *pdwDataLen);
10051
10074int AAP_API DBchainHashData(HSESSIONCTX hSession, BYTE bMode, BYTE *pbData,
10075 DWORD dwDataLen, BYTE *pbHash, DWORD *pdwHashLen,
10076 DWORD dwReserved);
10077
10090int AAP_API DBchainEd2X(HSESSIONCTX hSession, const char *cszPk,
10091 const char *cszTo, DWORD dwAttr, DWORD dwReserved);
10092
10100/* DSKeepNewSecret e DSKeepProbeSecret */
10101// Security level
10102#define DN_SKEEP_LEVEL_UNKNOWN (0)
10103#define DN_SKEEP_SEC_LEVEL_64b (1)
10104#define DN_SKEEP_SEC_LEVEL_96b (2)
10105#define DN_SKEEP_SEC_LEVEL_112b (3)
10106#define DN_SKEEP_SEC_LEVEL_128b (4)
10107#define DN_SKEEP_SEC_LEVEL_160b (5)
10109// Type
10110#define DN_SKEEP_TYPE_NMIND (0)
10111#define DN_SKEEP_TYPE_SCRD (1)
10112#define DN_SKEEP_TYPE_2FA (2)
10113#define DN_SKEEP_TYPE_CRT (4)
10142int AAP_API DSKeepNewSecret(HSESSIONCTX hSession, const char *cszId,
10143 BYTE bSecLevel, WORD wAuthType, DWORD dwReserved);
10144
10159int AAP_API DSKeepSplitSecret(HSESSIONCTX hSession, const char *cszId,
10160 BYTE bSecLevel, WORD wAuthType, BYTE bM, BYTE bN,
10161 SKeepShare *pstShares, DWORD dwReserved);
10162
10172int AAP_API DSKeepProbeSecret(HSESSIONCTX hSession, const char *cszId,
10173 SKeepProbeInfo *pstInfo, DWORD dwReserved);
10174
10186int AAP_API DSKeepMatchSecret(HSESSIONCTX hSession, const char *cszId,
10187 const SKeepShare *cpstShares, DWORD dwSharesCount,
10188 DWORD dwReserved);
10189
10201int AAP_API DSKeepRecoverSecret(HSESSIONCTX hSession, const char *cszId,
10202 const SKeepShare *cpstShares, DWORD dwSharesCount,
10203 SKeepRecoverInfo *pstRecoverInfo, DWORD dwReserved);
10204
10215int AAP_API DSKeepRemoveSecret(HSESSIONCTX hSession, const char *cszId,
10216 BYTE bSecLevel, WORD wAuthType, DWORD dwReserved);
10217
10218#define DN_SKEEP_SHARE_CKS_LEN (4)
10220#define DN_SKEEP_GEN_SHARE_CKS (1)
10233int AAP_API DSKeepCalcShareCks(DWORD dwType, const char *cszShare, char *szCks);
10234
10237#ifdef __cplusplus
10238 }
10239#endif
10240
10241#endif /* #ifndef DINAMO_H_INCLUDED */
#define MAX_IP_LEN
Definição dinamo.h:1826
int BOOL
Definição dinamo.h:48
void * HSESSIONCTX
Definição dinamo.h:67
void * HLOGCTX
Definição dinamo.h:73
char *AAP_API DByteArray2Base64(BYTE *pbData, DWORD dwDataLen, char *szBase64, DWORD *pdwBase64Len, BOOL bNoNewLines)
void * HOBJMETASEARCHCTX
Definição dinamo.h:76
int AAP_API DSetObjMetadataJson(HOBJMETACTX hInMeta, char *szData, DWORD dwDataLen, DWORD dwParam)
const OBJ_MET_ATTR * DGetHSMP11TypeInfoList(int *pnOutLen)
#define EFT_AES_KEY_CHECKSUM_LEN
Definição dinamo.h:1855
int AAP_API DGetStatInfo(HSESSIONCTX hSession, DWORD *pdwSessions, DWORD *pdwCPU, DWORD *pdwUnit, DWORD *pdwMemTotal, DWORD *pdwMemUsed, DWORD *pdwSwapTotal, DWORD *pdwSwapUsed)
#define DN_EFTD_MAX_KEY_ALIAS_LEN
Definição dinamo.h:765
#define GET_INFO_MAX_NTP_KM_LEN
Definição dinamo.h:834
int AAP_API DSetJsonObjMetadata(HSESSIONCTX hSession, const char *szId, const char *szJson, DWORD dwJsonLen, DWORD dwReserved)
#define DN_MAX_ALG_ID
Definição dinamo.h:2122
int AAP_API DOATHIssueHOTPBlob(HSESSIONCTX hSession, char *szMasterKeyId, DWORD dwParamBlobType, void *pvParamBlob, DWORD dwParamBlobLen, BYTE *pbOTPBlob, DWORD *pdwOTPBlobLen, DWORD dwFlags)
#define NET_INFO_MAX_SROUTE_COUNT
Definição dinamo.h:2139
#define DN_SC_MAX_CARD_PRODUCT_NAME_LEN
Definição dinamo.h:2839
int AAP_API DListPkcs11Maps(HSESSIONCTX hSession, int(AAP_API *ListKeyCallback)(char *szKeyName, void *pParam, BOOL bFinal), void *pParam)
int AAP_API DListUserTrusts(HSESSIONCTX hSession, char *szUserId, BYTE bType, int(AAP_API *ListUserTrustCallback)(char *szUserName, DWORD dwACL, void *pParam, BOOL bFinal), void *pParam)
unsigned short WORD
Definição dinamo.h:47
int AAP_API DGetObjMetadataJson(HOBJMETACTX hInMeta, char *szData, DWORD *pdwDataLen, DWORD dwParam)
#define MAX_NET_NAME
Definição dinamo.h:1827
#define RSA_8192_LEN
Definição dinamo.h:1402
int AAP_API DDestroyHSMP11Info(HP11ATTRCTX *phMeta, DWORD dwParam)
#define DN_SC_MAX_CARD_FAMILY_LEN
Definição dinamo.h:2838
int AAP_API DGetUserAcl(HSESSIONCTX hSession, char *szUser, DWORD *pdwUserAcl)
#define DN_BCHAIN_MAX_PBK_LEN
Definição dinamo.h:2439
int AAP_API DRemoveMapObj(const HSESSIONCTX hSession, const char *szMapObjId)
#define DN_SC_MAX_ATR_LEN
Definição dinamo.h:2837
#define MAX_P11_OBJ_ID
Definição dinamo.h:1832
int AAP_API DGetHSMLogCont(HLOGCTX hLogCtx, BYTE *pbLog, DWORD *pdwLogSize)
int AAP_API DECPublicKey2Info(BYTE *pbEC, DWORD dwECLen, DWORD dwInForm, void *pvPubKeyInfo, DWORD dwOutForm, DWORD dwReserved)
#define D_DS_BIND_PSK_LEN
Definição dinamo.h:649
#define DN_MAX_SUBJECT
Definição dinamo.h:2118
int AAP_API DListUserSessions(HSESSIONCTX hSession, int(AAP_API *ListUserSessionsCallback)(DWORD dwStartTime, char *szInfo, void *pParam, BOOL bFinal), void *pParam)
unsigned long long ND_OATH_uint64_t
Definição dinamo.h:37
unsigned int UINT
Definição dinamo.h:49
int AAP_API DGetObjInfo(const HSESSIONCTX hSession, const char *szObjId, const int nAlgId, const BYTE *pbData, DWORD *pdwDataLen)
int DIPFilterOperation(HSESSIONCTX hSession, BYTE bOP, char *szUser, char *szIP, int(AAP_API *ListIpFilterCallback)(void *pInData, DWORD dwInDataLen, void *pParam, BOOL bFinal), void *pParam, DWORD *pdwStatus, DWORD dwReserved)
#define EFT_EMV_SDA_SEQ_LEN
Definição dinamo.h:1860
int AAP_API DGetNetInfo(HSESSIONCTX hSession, BYTE **ppbNetInfo, DWORD *pdwNetInfoCount, DWORD dwFlags)
#define DN_M_OF_N_PART_LEN
Definição dinamo.h:3880
int AAP_API DListLoadedModules(HSESSIONCTX hSession, int(AAP_API *ListLoadedModulesCallback)(char *szModuleInfo, void *pParam, BOOL bFinal), void *pParam)
#define D_SVAULT_MAX_TL
Definição dinamo.h:2245
#define DN_RCC_MAX_REPL_MC_VER
Definição dinamo.h:3773
#define SA_TP_MAX_OTP_LEN
Definição dinamo.h:2024
int AAP_API DGetHsmInfo(HSESSIONCTX hSession, BOOL *pbFinal, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags)
#define DN_M_OF_N_S_MAX
Definição dinamo.h:3879
#define DN_SC_M_OF_N_SHADOW_MATERIAL_MAX_LEN
Definição dinamo.h:4003
#define ND_SPB_ISPB_LEN
Definição dinamo.h:2008
int AAP_API DGetHSMP11InfoAttr(HP11ATTRCTX hInMeta, DWORD dwOption, void *pvOptionData, DWORD *pdwOptionDataLen, DWORD dwParam)
#define ND_SPB_MAX_SUBJECT
Definição dinamo.h:2014
#define GET_INFO_MAX_REPL_NODES
Definição dinamo.h:827
#define OATH_MAX_PSK_LEN
Definição dinamo.h:2058
#define NET_INFO_MAX_SROUTE_LEN
Definição dinamo.h:2140
int AAP_API DCert2CertInfo(BYTE *pbCert, DWORD dwCertLen, DWORD dwOutType, void *pvCertInfo, DWORD dwFlags)
#define DN_GLOBAL_OBJ_STATS_COUNT
Definição dinamo.h:3937
int AAP_API DOATHCheckHOTP(HSESSIONCTX hSession, char *szMasterKeyId, char *szOTP, BYTE *pbOATHBlob, DWORD *pdwOATHBlobLen, DWORD dwFlags)
int AAP_API DLogLineFormat(char *szIn, char *szOut)
void * HCHAPCTX
Definição dinamo.h:72
unsigned char BYTE
Definição dinamo.h:44
#define DN_MAX_SN
Definição dinamo.h:2120
#define ND_SPB_MAX_ALG_ID
Definição dinamo.h:2016
#define DN_KEM_MAX_SS_LEN
Definição dinamo.h:4049
#define DN_KEM_D_MAX_CTX_LEN
Definição dinamo.h:4047
#define DN_USR_A_TOKEN_KLEN
Definição dinamo.h:2214
void AAP_API DGenerateHOTPOffline(BYTE *pbSecret, DWORD dwSecretLen, ND_OATH_uint64_t nuiMovingFactor, int nCodeDigits, BOOL bAddChecksum, int nTruncOff, char *szResult)
#define DN_MAX_HSM_ALIAS
Definição dinamo.h:3252
#define MAX_OBJ_ID_LEN
Definição dinamo.h:1838
int AAP_API DUpdatePkcs11Map(HSESSIONCTX hSession, char *szP11MapId, DWORD dwBlobType, DWORD dwFlags, DWORD dwUpdateMask, BYTE *pbData, DWORD dwDataLen)
int DGetObjMetadataTypeInfo(DWORD dwOption, void *pvData, DWORD *pdwDataLen, DWORD dwReserved)
#define GET_INFO_MAX_SN_LEN
Definição dinamo.h:828
void * HOBJMETACTX
Definição dinamo.h:74
void * HP11ATTRCTX
Definição dinamo.h:75
int AAP_API DCertEncodingConvert(BYTE *pbCert, DWORD dwCertLen, DWORD dwOutFormat, BYTE **ppbOutCert, DWORD *pdwOutCertLen, DWORD dwReserved)
#define MAX_HOTP_PIN
Definição dinamo.h:1828
int AAP_API DGetHSMLogInit(HSESSIONCTX hSession, DWORD dwStart, DWORD dwOffset, HLOGCTX *phLogCtx, DWORD dwParam)
#define DN_LIC_MAX_NAME
Definição dinamo.h:736
int AAP_API DRenameObj(HSESSIONCTX hSession, char *szOldObjName, char *szNewObjName, DWORD dwFlags)
int AAP_API DGetLogParam(HSESSIONCTX hSession, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags)
int AAP_API DGenerateCNSCert(HSESSIONCTX hSession, char *szKeyID, char *szUsrID, char *szUsrName, WORD wModulusLen, BYTE *pbModulus, BYTE bExponentLen, BYTE *pbExponent, DWORD *pdwCertLen, BYTE *pbCert, DWORD dwParam)
#define NET_INFO_MAX_SNMP_C_STR
Definição dinamo.h:2144
void * HCERTCTX
Definição dinamo.h:70
#define DN_SC_M_OF_N_SHADOW_MAX_LEN
Definição dinamo.h:4004
#define GET_INFO_MAX_REPL_DOMAIN_NAME
Definição dinamo.h:826
#define MAX_HSM_ID_NAME
Definição dinamo.h:1850
int AAP_API DGetHSMLogEnd(HLOGCTX *phLogCtx)
unsigned long DN_ULONG
Definição dinamo.h:65
#define DN_MAX_ISSUER
Definição dinamo.h:2119
int AAP_API DGetPkcs11Map(HSESSIONCTX hSession, char *szP11MapId, DWORD dwBlobType, DWORD dwFlags, BYTE **ppbData, DWORD *pdwDataLen)
#define GET_INFO_MAX_NTP_KT_LEN
Definição dinamo.h:833
int AAP_API DGetObjMetadata(HOBJMETACTX hInMeta, DWORD dwOption, void *pvOptionData, DWORD *pdwOptionDataLen, DWORD dwParam)
unsigned int DWORD
Definição dinamo.h:45
#define DN_BCHAIN_BIP39_SEED_LEN_MAX
Definição dinamo.h:3829
#define EFT_EMV_ARC_LEN
Definição dinamo.h:1862
#define DES_BLOCK
Definição dinamo.h:1364
#define DN_BCHAIN_BIP39_PWD_LEN_MAX
Definição dinamo.h:3830
#define MAX_OATH_HMAC_LEN
Definição dinamo.h:877
#define SA_HOTP_CHAP_LEN
Definição dinamo.h:2026
#define DN_MAX_EMAIL
Definição dinamo.h:2121
#define DN_SKEEP_M_OF_N_S_LEN
Definição dinamo.h:3976
#define DN_EC_MAX_BIG_NUM
Definição dinamo.h:2585
#define DN_M_OF_N_S_LEN
Definição dinamo.h:3876
int AAP_API DSignHashedData(HKEYCTX hKey, BYTE *pbData, DWORD dwDataLen, int nHashId, DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen)
void * HHASHCTX
Definição dinamo.h:68
int AAP_API DECParam2AlgId(BYTE *pbECParam, DWORD dwECParamLen, int *pnAlgId, DWORD dwFlags)
#define AAP_API
Definição dinamo.h:41
#define DN_UPACK_MAX_DESCRIPTION
Definição dinamo.h:3253
int AAP_API DSPBGetCertificateList(HSESSIONCTX hSession, char *szDomain, BOOL bActive, DBLOB **pdbList, DWORD *pdwListLen, DWORD dwParam)
unsigned long long int QWORD
Definição dinamo.h:46
int AAP_API DDestroyObjMetadata(HOBJMETACTX *phMeta, DWORD dwParam)
#define DN_M_OF_N_ES_LEN
Definição dinamo.h:3877
int AAP_API DManageObjMetadata(HSESSIONCTX hSession, BYTE bOP, char *szObjName, HOBJMETACTX hInMeta, HOBJMETACTX *phOutMeta, DWORD dwParam)
#define MAX_HTTP_ADDR_LEN
Definição dinamo.h:3430
int AAP_API DGeneratePkcs11Map(HSESSIONCTX hSession, char *szP11MapId, BYTE bTemporary, DWORD dwBlobType, DWORD dwFlags, BYTE *pbData, DWORD dwDataLen)
int AAP_API DUPackPush(HSESSIONCTX hSession, DWORD dwPackSize, BYTE *pbPack)
#define MAX_ADDR_LEN
Definição dinamo.h:1816
#define D_MAX_DS_BIND_B62_ID
Definição dinamo.h:651
#define GET_INFO_MAX_NTPQ_LEN
Definição dinamo.h:832
int AAP_API DGetJsonObjMetadata(HSESSIONCTX hSession, const char *szId, DWORD dwOutType, char **pszOutJson, DWORD *pdwOutJsonLen)
#define GET_INFO_MAX_TPKEY_LEN
Definição dinamo.h:830
#define MAX_HTTP_API_TOKEN_LEN
Definição dinamo.h:3431
#define MAX_MODULE_NAME_VERSION_LEN
Definição dinamo.h:1825
#define MAX_USR_PWD
Definição dinamo.h:1810
int AAP_API DBatchSign(HKEYCTX hKey, BYTE *pbBlock, DWORD dwBlockCount, DWORD dwFlags)
int AAP_API DSetLogParam(HSESSIONCTX hSession, DWORD dwParam, BYTE *pbData, DWORD dwDataLen, DWORD dwFlags)
int AAP_API DVersion(DWORD dwType, DWORD *pdwMajor, DWORD *pdwMinor, DWORD *pdwRevision, DWORD *pdwBuild)
int AAP_API DPowerSignHash(HSESSIONCTX hSession, char *szKeyId, int nHashAlgId, DWORD dwDataLen, BYTE *pbDataBuffer, DWORD *pdwSignLen, BYTE **ppbSignData)
#define DN_KEM_MAX_C_LEN
Definição dinamo.h:4048
#define MAX_OBJ_ID_FQN_LEN
Definição dinamo.h:1841
#define EFT_EMV_PAD_LEN
Definição dinamo.h:1864
#define EFT_VISA_KEY_CHECKSUM_LEN
Definição dinamo.h:1856
#define D_MAX_DS_BIND_URL
Definição dinamo.h:648
int AAP_API DRemoveKey(HSESSIONCTX hSession, char *szKeyId)
#define ND_SPB_MAX_ISSUER
Definição dinamo.h:2015
#define MAX_HSM_MODEL_NAME
Definição dinamo.h:1849
int AAP_API DCreateObjMetadata(HOBJMETACTX *phOutMeta, DWORD dwParam)
int AAP_API DGetHSMP11Info(HSESSIONCTX hSession, HP11ATTRCTX *phOutMeta, DWORD dwParam)
signed char CHAR
Definição dinamo.h:51
int AAP_API DFindObjMetadataInit(HSESSIONCTX hSession, HOBJMETACTX hInMeta, HOBJMETASEARCHCTX *phMetaSearchCtx, DWORD dwParam)
void AAP_API DCleanCERT_X509_INFO(CERT_X509_INFO *pstCert)
int AAP_API DECPrivateKey2Info(BYTE *pbEC, DWORD dwECLen, DWORD dwInForm, void *pvPrivKeyInfo, DWORD dwOutForm, DWORD dwReserved)
#define NET_INFO_MAX_SNMP_T_COUNT
Definição dinamo.h:2141
#define GET_INFO_MAX_HW_STR_LEN
Definição dinamo.h:829
BOOL DDoRSAPadding(HSESSIONCTX hSession, DWORD dwPadding, BYTE *pbBlock, BYTE *pbData, DWORD *pdwDataLen, DWORD dwBlockSize, DWORD dwFlag)
int AAP_API DUPackInfo(DWORD dwPackSize, BYTE *pbPack, DWORD *pdwUPackVersion, BYTE **ppbUPackDescr, BYTE **ppbUPackSignature)
int AAP_API DGenerateMapObj(const HSESSIONCTX hSession, const char *szMapId, const char *szObj1Id, const int nObj1AlgId, const char *szObj2Id, const int nObj2AlgId)
#define NET_INFO_MAX_SNMP_SC_STR
Definição dinamo.h:2142
void * HKEYCTX
Definição dinamo.h:69
#define MAX_HOTP_APP_NAME
Definição dinamo.h:1830
#define MAX_OBJ_NAME_LEN
Definição dinamo.h:1823
#define MAX_PAN_LEN
Definição dinamo.h:1714
int AAP_API DGetStatLogSize(HSESSIONCTX hSession, DWORD *pdwLogLen)
#define DN_BCHAIN_BIP32_SEED_LEN_MAX
Definição dinamo.h:3818
#define ALG_AES_256_LEN
Definição dinamo.h:1357
int AAP_API DGetLibVersion(HSESSIONCTX hSession, char *szVersion, DWORD *pdwVersionLen, DWORD dwFlags)
int AAP_API DSetObjMetadata(HOBJMETACTX hInMeta, DWORD dwOption, void *pvOptionData, DWORD dwOptionDataLen, DWORD dwParam)
int AAP_API DFindObjMetadataEnd(HOBJMETASEARCHCTX *phMetaSearchCtx, DWORD dwParam)
#define GET_INFO_MAX_NTP_SVRS
Definição dinamo.h:831
#define DN_SC_MAX_CARD_OS_VERSION_LEN
Definição dinamo.h:2840
#define MAX_HOTP_IMEI
Definição dinamo.h:1829
int AAP_API DListObjsFilter(HSESSIONCTX hSession, DWORD dwFilterType, void *pvFilter, int(AAP_API *ListObjCallback)(void *pvIN, void *pParam, BOOL bFinal), void *pParam)
int AAP_API DUnsetObjMetadata(HOBJMETACTX hInMeta, DWORD dwOption, DWORD dwParam)
signed int INT
Definição dinamo.h:50
#define MAX_OBJ_ID_BIN_LEN
Definição dinamo.h:1833
int AAP_API DECPubKeyDER2AlgId(BYTE *pbECPubKeyDER, DWORD dwECPubKeyDERLen, int *pnAlgId, DWORD dwFlags)
const OBJ_MET_ATTR * DGetObjMetadataTypeInfoList(int *pnOutLen)
#define MAX_USR_LEN
Definição dinamo.h:1811
#define ISSUE_OATH_BLOB_V2_IV_LEN
Definição dinamo.h:2081
#define NET_INFO_MAX_SNMP_SL_STR
Definição dinamo.h:2143
#define DN_MAX_PRIVATE_KEY_ATTR_LEN
Definição dinamo.h:2814
unsigned long long ND_uint64_t
Definição dinamo.h:36
#define EFT_EMV_CSU_LEN
Definição dinamo.h:1863
int AAP_API DECPrivKeyDER2AlgId(const BYTE *pbDER, DWORD dwDERLen, int *pnAlgId, DWORD dwFlags)
#define ND_SPB_SN_MAX_LEN
Definição dinamo.h:2011
BYTE *AAP_API DBase642ByteArray(char *szBase64, DWORD dwBase64Len, BYTE *pbData, DWORD *pdwDataLen)
void * HSPBCTX
Definição dinamo.h:71
#define DN_RCC_MAX_NODE_COUNT
Definição dinamo.h:3772
#define ND_SPB_CA_LEN
Definição dinamo.h:2009
int AAP_API DFindObjMetadataCont(HOBJMETASEARCHCTX hMetaSearchCtx, HOBJMETACTX *phOutMeta, DWORD dwOutMetaMaxCount, DWORD *pdwOutMetaDataCount, DWORD dwParam)
int AAP_API DBchainEd2X(HSESSIONCTX hSession, const char *cszPk, const char *cszTo, DWORD dwAttr, DWORD dwReserved)
int AAP_API DBchainHashData(HSESSIONCTX hSession, BYTE bMode, BYTE *pbData, DWORD dwDataLen, BYTE *pbHash, DWORD *pdwHashLen, DWORD dwReserved)
int AAP_API DBchainEdDsaSign(HSESSIONCTX hSession, BYTE bType, const char *cszCtxStr, BYTE *pbData, DWORD dwDataLen, const char *cszPk, BYTE *pbSig, DWORD *pdwSigLen, DWORD dwReserved)
int AAP_API DBchainGetAddress(HSESSIONCTX hSession, BYTE bType, BYTE bVer, const char *cszHrp, const char *cszPk, BYTE *pbAddress, DWORD *pdwAddressLen, DWORD dwReserved)
int AAP_API DBchainSignHash(HSESSIONCTX hSession, BYTE bType, BYTE bHashMode, BYTE *pbHash, DWORD dwHashLen, const char *cszPk, BYTE *pbSig, DWORD *pdwSigLen, DWORD dwReserved)
int AAP_API DBchainCreateXPrv(HSESSIONCTX hSession, BYTE bType, DWORD dwAttributes, const char *szId, const BYTE *pcbData, DWORD dwDataLen, DWORD dwReserved)
int AAP_API DBchainCreateBip32Ckd(HSESSIONCTX hSession, BYTE bVersion, DWORD dwIndex, DWORD dwAttributes, const char *cszPar, const char *cszDst, DN_BCHAIN_KEY_INFO *pKeyInfo, DWORD dwReserved)
int AAP_API DBchainPkExport(HSESSIONCTX hSession, BYTE bFormat, BYTE bVersion, BYTE bCompressed, const char *cszId, BYTE **ppbData, DWORD *pdwDataLen, DWORD dwReserved)
int AAP_API DBchainPkImport(HSESSIONCTX hSession, BYTE bFormat, DWORD dwAttributes, const char *cszId, const BYTE *pcbData, DWORD dwDataLen, DWORD dwReserved)
int AAP_API DBchainCreateCkd(HSESSIONCTX hSession, DWORD dwOpt, const BYTE *pbIn, BYTE *pbOut, DWORD dwReserved)
int AAP_API DBchainGetPubKey(HSESSIONCTX hSession, BYTE bType, const char *cszId, BYTE *pbData, DWORD *pdwDataLen, DWORD dwReserved)
int AAP_API DBchainRecoverPbkFromSignature(HSESSIONCTX hSession, BYTE bSigType, BYTE bHashMode, const BYTE *pbHash, DWORD dwHashLen, const BYTE *pbSig, DWORD dwSigLen, DN_BCHAIN_PBK *pPbk, DWORD dwReserved)
int AAP_API DBchainVerify(HSESSIONCTX hSession, BYTE bSigType, BYTE bHashMode, const BYTE *pbHash, DWORD dwHashLen, const BYTE *pbSig, DWORD dwSigLen, BYTE bInPbkType, const BYTE *pbInPbk, BYTE bInPbkLen, DWORD dwReserved)
int AAP_API DBchainGetKeyInfo(HSESSIONCTX hSession, DWORD dwReserved, const char *cszId, void *pvData, DWORD *pdwDataLen)
int AAP_API DBchainEdDsaVerify(HSESSIONCTX hSession, BYTE bType, const char *cszCtxStr, BYTE *pbData, DWORD dwDataLen, BYTE bPbkType, BYTE *pbPbk, DWORD dwPbkLen, BYTE *pbSig, DWORD dwSigLen, DWORD dwReserved)
int AAP_API DGenEcdhKey(HSESSIONCTX hSession, DWORD dwOP, char *szPriKey, void *pvInData, DWORD dwInDataLen, BYTE *pbOutData, DWORD *pdwOutDataLen, DWORD dwFlags)
int AAP_API DKemEncaps(HSESSIONCTX hSession, DWORD dwOpt, const void *pvDataIn, const BYTE *pbEncapsKey, DWORD dwEncapsKeyLen, void *pvDataOut, DWORD dwReserved)
int AAP_API DKemDecaps(HSESSIONCTX hSession, DWORD dwOpt, const void *pvDataIn, const char *szDecapsKey, const BYTE *pbCiphertext, DWORD dwCiphertextLen, void *pvDataOut, DWORD dwReserved)
int AAP_API DGenDhKey(HSESSIONCTX hSession, DWORD dwOP, char *szPriKey, void *pvInData, DWORD dwInDataLen, BYTE *pbOutData, DWORD *pdwOutDataLen, DWORD dwFlags)
int AAP_API DCreateHash(HSESSIONCTX hSession, int nAlgId, HKEYCTX hKey, DWORD dwFlags, HHASHCTX *hHash)
int AAP_API DDestroyHash(HHASHCTX *phHash)
int AAP_API DHashData(HHASHCTX hHash, BYTE *pbData, DWORD dwDataLen, DWORD dwFlags)
int AAP_API DMofNRecover(HSESSIONCTX hSession, DN_M_OF_N_PART *pstParts, DWORD dwPartsCount, BYTE *pbSecret, DWORD dwReserved)
int AAP_API DDecrypt(HKEYCTX hKey, HHASHCTX hHash, BOOL bFinal, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen)
int AAP_API DGetHashParam(HHASHCTX hHash, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags)
int AAP_API DPKCS7Sign(HSESSIONCTX hSession, const char *szKeyName, const char *szKeyCert, const char *szCerts, DWORD dwAttrib, BYTE *pbContent, DWORD dwContentLen, DWORD *pdwSignatureLen, BYTE **ppbSignature, DWORD dwParam)
int AAP_API DGetRandom(HSESSIONCTX hSession, BYTE *pbData, DWORD dwDataLen)
int AAP_API DRecoverSVMK(HSESSIONCTX hSession, DN_SC_M_OF_N_SHADOW *pstShadows, BYTE bShadowsCount, BYTE *pbKey, DWORD dwReserved)
int AAP_API DEncrypt(HKEYCTX hKey, HHASHCTX hHash, BOOL bFinal, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen, DWORD dwBufLen)
int AAP_API DSignHash(HHASHCTX hHash, HKEYCTX hKey, DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen)
int AAP_API DVerifySignature(HHASHCTX hHash, BYTE *pbSignature, DWORD dwSigLen, HKEYCTX hPubKey, DWORD dwFlags)
int AAP_API DMofNSplit(HSESSIONCTX hSession, BYTE bM, BYTE bN, BYTE *pbSecret, DWORD dwSecretLen, DN_M_OF_N_SPLIT_INFO *pstSplitInfo, DWORD dwReserved)
int AAP_API DSetHashParam(HHASHCTX hHash, DWORD dwParam, BYTE *pbData, DWORD dwDataLen, DWORD dwFlags)
int AAP_API DDuplicateHash(HHASHCTX hHash, DWORD dwFlag, HHASHCTX *phHash)
int AAP_API DCRLCertCheck(HSESSIONCTX hSession, char *szCRL, char *szCertId, char *szCertOrChain)
int AAP_API DGenerateSVMK(HSESSIONCTX hSession, int nVersion, const BYTE *pbKey, BYTE bM, BYTE bN, DN_SC_M_OF_N_SHADOW *pstShadows, DWORD dwReserved)
int AAP_API DEFTImportTR31(HSESSIONCTX hSession, const char *szKBPK, const char *szKey, DWORD dwKeyAttributes, BYTE *pbKeyBlock, DWORD dwKeyBlockLen, DWORD dwParam)
int AAP_API DCalculateARPC(HSESSIONCTX hSession, char *szIssuerMK, char *szPAN, BYTE *pbSEQ, BYTE *pbARQC, BYTE *pbARC, BYTE *pbARPC, DWORD dwParam)
int AAP_API DGenerateEMV_HMAC(HSESSIONCTX hSession, BYTE bOP, char *szIK, char *szPAN, BYTE *pbSEQ, BYTE *pbNONCE, DWORD dwDataLen, BYTE *pbData, BYTE *pbMAC, DWORD dwParam)
int AAP_API DEFTLmkEncrypt(HSESSIONCTX hSession, const char *szLmk, BYTE bVariant, const char *szKey, BYTE bKs, char *szOut, DWORD *pdwOutLen, DWORD dwParam)
int AAP_API DGenerateICCMK(HSESSIONCTX hSession, BYTE bOP, char *szIK, char *szKeK, char *szPAN, BYTE *pbSEQ, DWORD *pdwEnvelopeLen, BYTE *pbEnvelope, DWORD dwParam)
void AAP_API DGenerateBDKName(BYTE *pbKSI, char *szBDKName, DWORD dwParam)
int AAP_API DGeneratePIN(HSESSIONCTX hSession, char *szPGK, char *szPAN, DWORD dwOperation, int nPinLen, char *szInPin, char *szOffset, char *szOutPin, DWORD dwParam)
int AAP_API DEFTImportKey(HSESSIONCTX hSession, char *szKeyId, int nKeyAlgId, void *pstKeyParts, DWORD dwParam)
int AAP_API DGenerateDAC(HSESSIONCTX hSession, char *szIMKDAC, char *szPAN, BYTE *pbSEQ, BYTE *pbDAC, DWORD dwParam)
int AAP_API DDeriveEMV_Key(HSESSIONCTX hSession, char *szSrcKey, WORD wBufferLen, BYTE *pbBuffer, BYTE bOP, DWORD dwAttrib, char *szDstKey, HKEYCTX *phKey, DWORD dwParam)
int AAP_API DEFTCheckKeyParts(int nKeyAlgId, EFT_VISA_KEY_PARTS *pstKeyParts, DWORD dwParam)
int AAP_API DGenerateEMV_PinBlock(HSESSIONCTX hSession, BYTE bOP, BYTE *pbNONCE, char *szTransportKey, char *szISSUER_MK, char *szISSUER_SMC_MK, char *szPAN, BYTE *pbSEQ, BYTE *pbOLD_PB, BYTE *pbNEW_PB, BYTE *pbOutBlock, DWORD *pdwOutBlockLen, DWORD dwParam)
int AAP_API DMAC_ISO9797_1_Met2(DWORD dwType, BYTE *pbKey, DWORD dwAlg, const BYTE *pbMsg, DWORD dwMsgLen, BYTE *pbMAC)
int AAP_API DEFTGetKcv(HSESSIONCTX hSession, BYTE bType, const char *szKeyId, BYTE *pbKcv, DWORD *pdwKcvLen, DWORD dwReserved)
int AAP_API DVerifyPINBlock(HSESSIONCTX hSession, char *szPTK, char *szPGK, char *szPAN, char *szOffset, BYTE *pbInPinBlock, DWORD dwParam)
int AAP_API DGenerateDDA_ICCCert(HSESSIONCTX hSession, BYTE bOP, char *szIK, char *szPAN, DWORD dwDDA_DATALen, BYTE *pbDDA_DATA, DWORD *pdwSigLen, BYTE *pbSig, DWORD dwParam)
int AAP_API DEFTMergeX9_24KeyParts(HSESSIONCTX hSession, const char *szDestKey, DWORD dwAttributes, const char *szPart1, const char *szPart2, const char *szPart3, const BYTE *pbExpectedKcv, DWORD dwKcvLen, DWORD dwReserved)
void AAP_API DGenerateDUKPTName(BYTE *pbKSI, BYTE *pbDID_CTR, char *szDUKPTName, DWORD dwParam)
int AAP_API DVerifyCVV(HSESSIONCTX hSession, char *szKeyId, char *szPAN, char *szExpirationDate, char *szServiceCode, char *szCVV, DWORD dwParam)
int AAP_API DEFTKeKImport(HSESSIONCTX hSession, BYTE bOP, DWORD dwAlgId, char *szKeKName, char *szKeyName, DWORD dwAttr, BYTE *pbKCV1, BYTE *pbKCV2, BYTE *pbKCV3, BYTE *pbKCVFinal, BYTE *pbBlob, DWORD dwFlags)
int AAP_API DEFTExportKey(HSESSIONCTX hSession, BYTE bExportMode, char *szKEKId, char *szKeyId, BYTE *pbEncryptedBlock, DWORD *pdwEncryptedBlockLen, BYTE *pbKeyCheckValue, DWORD dwParam)
int AAP_API DVerifyDAC(HSESSIONCTX hSession, char *szIMKDAC, char *szPAN, BYTE *pbSEQ, BYTE *pbDAC, DWORD dwParam)
int AAP_API DEFTExportZPK(HSESSIONCTX hSession, char *szKeyId, int *pnKeyAlg, int *pnKeySize, EFT_VISA_KEY_PARTS *pstKeyParts, DWORD dwParam)
int AAP_API DGenerateDUKPT(HSESSIONCTX hSession, BYTE *pbKSI, BYTE *pbDID_CTR, char *szDUKPT, DWORD dwParam)
int AAP_API DGeneratePVV(HSESSIONCTX hSession, char *szPGK, BYTE bPVKI, char *szPAN, char *szPIN, char *szPVV, DWORD dwParam)
int AAP_API DEFTExportAESKeyParts(HSESSIONCTX hSession, BYTE bKcvType, const char *szKeyId, void *pvKeyParts, DWORD dwReserved)
int AAP_API DGenerateEMV_CSR(HSESSIONCTX hSession, BYTE bOP, char *szIK, BYTE *pbTrackNum, BYTE *pbServiceID, BYTE *pbIssuerID, BYTE *pbExpDate, DWORD *pdwCSRLen, BYTE *pbCSR, DWORD dwParam)
int AAP_API DEncryptEMV(HSESSIONCTX hSession, BYTE bEncOP, char *szEncIK, BYTE *pbEncNONCE, BYTE bMacOP, char *szMacIK, BYTE *pbMacNONCE, char *szPAN, BYTE *pbSEQ, DWORD dwDataLen, BYTE *pbData, DWORD *pdwEncDataLen, BYTE *pbEncData, BYTE *pbMAC, DWORD dwParam)
int AAP_API DGenerateEMV_MAC(HSESSIONCTX hSession, BYTE bOP, char *szIK, char *szPAN, BYTE *pbSEQ, BYTE *pbNONCE, DWORD dwDataLen, BYTE *pbData, BYTE *pbMAC, DWORD dwParam)
int AAP_API DGenerateCVV(HSESSIONCTX hSession, char *szKeyId, char *szPAN, char *szExpirationDate, char *szServiceCode, char *szCVV, DWORD dwParam)
int AAP_API DCheckIDN(HSESSIONCTX hSession, char *szIK, char *szPAN, BYTE *pbSEQ, BYTE *pbATC, BYTE *pbUN, BYTE *pbIDN, DWORD dwParam)
int AAP_API DSignSDA(HSESSIONCTX hSession, char *szIK, BYTE *pbDAC, DWORD dwSDA_DATALen, BYTE *pbSDA_DATA, DWORD *pdwSigLen, BYTE *pbSig, DWORD dwParam)
int AAP_API DPINBlockTranslate(HSESSIONCTX hSession, char *szSrcPEK, char *szDstPEK, BYTE bTransBlockType, char *szPAN, BYTE *pbInPinBlock, BYTE *pbOutPinBlock, DWORD dwParam)
int AAP_API DEFTGenKCVOffline(DWORD dwType, int nAlgId, const BYTE *pbKey, DWORD dwKeyLen, BYTE *pbKCV, DWORD *pdwKCVLen, DWORD reserved)
int AAP_API DGenerateEMV_CSREx(HSESSIONCTX hSession, BYTE bOP, char *szIK, BYTE *pbTrackNum, BYTE *pbServiceID, BYTE *pbIssuerID, BYTE *pbExpDate, DBLOB *pdbCSR, BYTE *pbHash, DWORD dwParam)
int AAP_API DEFTExportTR31(HSESSIONCTX hSession, const char *szKBPK, const char *szKey, void *pvReserved, WORD wUsage, BYTE bMode, BYTE bExport, BYTE *pbOutBlock, DWORD *pdwOutBlockLen, DWORD dwParam)
int AAP_API DCalculateARPC_Ex(HSESSIONCTX hSession, DWORD dwOp, void *pvInData, BYTE *pbARPC, DWORD dwParam)
int AAP_API DAssociatePKCS11Key(HSESSIONCTX hSession, char *szPriKey, char *szPubKey, char *szCert, void *pvReserved, DWORD dwReserved)
int AAP_API DRSAPrivateKey2Info(const BYTE *pbRsa, DWORD dwRsaLen, DWORD dwInForm, DN_RSA_PRIVATE_KEY_INFO *stRsaInfo, DWORD dwReserved)
int AAP_API DDuplicateKey(HKEYCTX hKey, DWORD dwFlags, HKEYCTX *phKey)
int AAP_API DSetKeyParam(HKEYCTX hKey, DWORD dwParam, BYTE *pbData, DWORD dwDataLen, DWORD dwFlags)
int AAP_API DGetUserKey(HSESSIONCTX hSession, char *szKeyId, DWORD dwFlags, HKEYCTX *phKey)
int AAP_API DImportPKCS12(const HSESSIONCTX hSession, const char *szPkcs12File, const char *szPkcs12Pwd, const char *szKeyId, const DWORD dwKeyAttr, const char *szCertId)
int AAP_API DPKCS8ExportKey(HSESSIONCTX hSession, char *szKeyId, char *szSecret, BYTE **ppbKeyEnvelope, DWORD *pdwKeyEnvelopeLen)
int AAP_API DGenerateKey(HSESSIONCTX hSession, char *szKeyId, int nAlgId, DWORD dwFlags, HKEYCTX *phKey)
int AAP_API DDeriveKey(HHASHCTX hHash, char *szKeyId, int nAlgId, DWORD dwFlags, HKEYCTX *phKey)
int AAP_API DPKCS8ImportKey(HSESSIONCTX hSession, char *szKeyId, char *szSecret, DWORD dwKeyAlg, DWORD dwAttrib, BYTE *pbKeyEnvelope, DWORD dwKeyEnvelopeLen)
int AAP_API DGenerateKeyMaterial(HSESSIONCTX hSession, int nAlgId, BYTE *pbData, DWORD *pdwDataLen, DWORD dwReserved)
int AAP_API DImportPKCS12Buffer(const HSESSIONCTX hSession, BYTE *pbPkcs12, DWORD dwPkcs12Len, const char *szPkcs12Pwd, const char *szKeyId, DWORD dwKeyAttr, const char *szCertId, const char *szPubKeyId, DWORD dwFlags)
int AAP_API DExportPKCS12(const HSESSIONCTX hSession, const char *szPkcs12Pwd, const char *szKeyId, const char *szCertId, const char *szReserved, BYTE **ppbPkcs12, DWORD *pdwPkcs12Len, DWORD dwFlags)
int AAP_API DRSAPublicKey2Info(BYTE *pbKey, DWORD dwKeyLen, DWORD dwInForm, void *pvPubKeyInfo, DWORD dwReserved)
int AAP_API DGeneratePKCS10CSR(HSESSIONCTX hSession, char *szPrivateKeyName, BYTE bVersion, char *szDN, DWORD dwOutType, DWORD *pdwCSRLen, BYTE **ppbCSR, DWORD dwParam)
int AAP_API DDestroyKey(HKEYCTX *phKey, DWORD dwFlags)
int AAP_API DImportKey(HSESSIONCTX hSession, char *szKeyId, HKEYCTX hKEKey, DWORD dwBlobType, int nAlgId, DWORD dwFlags, BYTE *pbData, DWORD dwDataLen, HKEYCTX *phKey)
int AAP_API DByokExport(HSESSIONCTX hSession, const char *cszKeyId, const char *cszKekId, DWORD dwType, const void *pvData, BYTE **ppbOutData, DWORD *pdwOutDataLen, DWORD dwReserved)
int AAP_API DGetKeyParam(HKEYCTX hKey, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags)
int AAP_API DExportKey(HKEYCTX hKey, HKEYCTX hKEKey, DWORD dwBlobType, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen)
int AAP_API DHashSessionKey(HKEYCTX hKey, HHASHCTX hHash, DWORD dwFlags)
int AAP_API DManageAToken(HSESSIONCTX hSession, BYTE bOP, DN_A_TOKEN_FULL *pstATokenFull, funcListAKeysCallback fnCallBack, void *pvCallbackParam, DWORD dwParam)
int AAP_API DGetLogEvents(HSESSIONCTX hSession, funcLogEventCallback fncallback, void *pParam)
int AAP_API DDSBindHSM(HSESSIONCTX hSession, const char *szBindKey, DWORD dwReserved)
int(AAP_API * funcListAKeysCallback)(void *pvToken, void *pParam, BOOL bFinal)
Definição dinamo.h:4801
int AAP_API DReadFile(HSESSIONCTX hSession, char *szFileId, funcWriteLocalFileCallback fncallback, void *pParam)
int AAP_API DWriteFileBuffer(HSESSIONCTX hSession, const char *szFileId, BYTE *pbFile, DWORD dwFileSize, DWORD dwOptions)
int AAP_API DGetHSMTLSCert(char *szAddress, int nPort, DWORD dwOutFormat, BYTE **ppbOutCert, DWORD *pdwOutCertLen, DWORD dwFlags)
int(AAP_API * funcReadLocalFileCallback)(BYTE *pbData, DWORD *pdwDataLen, void *pParam, BOOL *pbFinal)
Definição dinamo.h:4636
const char *AAP_API DGetReturnCodeString(int nErrorValue, RetCodeMsgType eErrorType)
int AAP_API DAdmOperation(HSESSIONCTX hSession, DWORD dwParam, BYTE *pbData, DWORD dwDataLen, DWORD dwFlags)
int AAP_API DNSAuthSetState(HSESSIONCTX hSession, DWORD dwAcl, BYTE bState, DN_SC_M_OF_N_SHADOW *pstShadows, DWORD dwShadowsCount, DWORD dwReserved)
int AAP_API DBackupData(HSESSIONCTX hSession, char *szBackupFile, char *szPin, int nDirection)
int AAP_API DDSUnbindHSM(HSESSIONCTX hSession, DWORD dwReserved)
int AAP_API DRemoveObj(HSESSIONCTX hSession, char *szObjId)
int AAP_API DSCWriteShadow(DN_SC_M_OF_N_SHADOW *pstShadow, const char *szPIN, BOOL bOverwrite, DWORD dwReserved)
int AAP_API DSCChangePIN(const char *szCurrentPIN, const char *szNewPIN, DWORD dwReserved)
int(AAP_API * funcListKeyCallback)(char *szKeyName, void *pParam, BOOL bFinal)
Definição dinamo.h:4369
int AAP_API DTruncateLog(HSESSIONCTX hSession)
int AAP_API DSCGetLabel(const char *pin, char *label, DWORD reserved)
int AAP_API DBackupObject(HSESSIONCTX hSession, DWORD dwOP, char *szObjectId, char *szPin, BYTE *pbData, DWORD *pdwDataLen, DWORD dwReserved)
int AAP_API DGetStatLog(HSESSIONCTX hSession, DWORD dwStart, DWORD dwOffset, DWORD *pdwLogSize, BYTE **ppbLog)
BOOL AAP_API DSCIsLibLoaded()
int AAP_API DGetErrorString(int nErrorValue, char *szErrorCode, char *szErrorDesc)
int AAP_API DListObjs(HSESSIONCTX hSession, funcListKeyCallback fncallback, void *pParam)
int AAP_API DListBlobs(HSESSIONCTX hSession, funcListKeyCallback fncallback, void *pParam)
int(AAP_API * funcLogEventCallback)(char *szEvent, void *pParam, BOOL bFinal)
Definição dinamo.h:4466
int AAP_API DHSMTool(HSESSIONCTX hSession, DWORD dwOption, const char *szTarget, void **pvResult, DWORD *pdwResultLen, DWORD dwFlags)
int(AAP_API * funcWriteLocalFileCallback)(BYTE *pbData, DWORD dwDataLen, void *pParam, BOOL bFinal)
Definição dinamo.h:4677
int AAP_API DSCGetInfo(DN_SC_INFO *pstInfo, DWORD dwReserved)
RetCodeMsgType
Definição dinamo.h:5047
int AAP_API DManageATokenCache(HSESSIONCTX hSession, DWORD dwOP, void *pOutData, DWORD dwParam)
int AAP_API DSCSetLabel(const char *pin, const char *label, DWORD reserved)
int AAP_API DFindHSM(DWORD dwServiceType, DWORD dwFilter, void **ppvOutputData, DWORD *pdwOutputDataLen, DWORD dwFlags)
int AAP_API DWriteFile(HSESSIONCTX hSession, char *szFileId, DWORD dwFileSize, funcReadLocalFileCallback fncallback, void *pParam)
int AAP_API DSCReadShadow(const char *szPin, DN_SC_M_OF_N_SHADOW *pstShadow, DWORD dwReserved)
int AAP_API DSCErase(const char *szPIN, DWORD dwReserved)
int AAP_API DReadFileBuffer(HSESSIONCTX hSession, const char *szFileId, BYTE **ppbData, DWORD *pdwDataLen, DWORD dwReserved)
@ DESC_MSG
Definição dinamo.h:5049
@ CODE_MSG
Definição dinamo.h:5048
void *AAP_API DAlloc(DWORD dwsize)
void AAP_API DFree(void *p)
int AAP_API DOATHGetBlobInfo(const HSESSIONCTX hSession, char *szMasterKey, BYTE *pbInBlob, DWORD dwInBlobLen, DWORD dwOutBlobType, BYTE *pbOutInfo, DWORD *pdwOutInfoLen, DWORD dwParam)
int AAP_API DOATHIssueBlob(HSESSIONCTX hSession, char *szMasterKeyId, DWORD dwParamBlobType, void *pvParamBlob, DWORD dwParamBlobLen, BYTE *pbOTPBlob, DWORD *pdwOTPBlobLen, DWORD dwFlags)
int AAP_API DOATHGetNextOTP(HSESSIONCTX hSession, char *szMasterKeyId, BYTE bOTPLen, BYTE *pbOATHBlob, DWORD dwOATHBlobLen, char *szOTP, DWORD dwFlags)
int AAP_API DOATHPskcTranslate(HSESSIONCTX hSession, char *szMasterKey, BYTE *pbPSK, BYTE bPSKLen, BYTE *pbPSKC, DWORD dwPSKCLen, void **pvBlobList, DWORD *pdwBlobListQuantity, DWORD dwParam)
int AAP_API DOATHOcraGen(HSESSIONCTX hSession, DWORD dwSetup, BYTE bOTPLen, const char *szSK, const char *szSuite, const BYTE *pbCounter, const BYTE *pbQuestion, BYTE bQuestionLen, const BYTE *pbPinHash, const char *szSession, const BYTE *pbTimestamp, char *szOTP, DWORD dwFlags)
int AAP_API DOATHCheckOTP(HSESSIONCTX hSession, char *szMasterKeyId, char *szOTP, BYTE *pbOATHBlob, DWORD *pdwOATHBlobLen, DWORD dwFlags)
int AAP_API DOATHBlobResync(HSESSIONCTX hSession, char *szMasterKeyId, char *szOTP1, char *szOTP2, BYTE *pbOATHBlob, DWORD *pdwOATHBlobLen, DWORD dwFlags)
int AAP_API DPIXDictVerify(HSESSIONCTX hSession, const char *szChainId, const char *szCRL, DWORD dwFlags, DWORD dwSizeSignedDictEnvelope, BYTE *pbSignedDictEnvelope)
int AAP_API DPIXDelete(HSESSIONCTX hSession, const char *szKeyId, const char *szCertId, const char *szPIXCertChainId, const char *szURL, DWORD dwCountRequestHeaderList, const char *pszRequestHeaderList[], DWORD dwTimeOut, DWORD *pdwSizeResponseHeaders, BYTE **ppbResponseHeaders, DWORD *pdwSizeResponseBody, BYTE **ppbResponseBody, DWORD dwParam)
int AAP_API DPIXSign(HSESSIONCTX hSession, const char *szKeyId, const char *szCertId, DWORD dwFlags, DWORD dwSizeUnsignedPIXEnvelope, BYTE *pbUnsignedPIXEnvelope, DWORD *pdwSizeSignedPIXEnvelope, BYTE **ppbSignedPIXEnvelope)
int AAP_API DPIXPost(HSESSIONCTX hSession, const char *szKeyId, const char *szCertId, const char *szPIXCertChainId, const char *szURL, DWORD dwCountRequestHeaderList, const char *pszRequestHeaderList[], DWORD dwSizeRequestData, BYTE *pbRequestData, DWORD dwTimeOut, DWORD *pdwSizeResponseHeaders, BYTE **ppbResponseHeaders, DWORD *pdwSizeResponseBody, BYTE **ppbResponseBody, DWORD dwParam)
int AAP_API DPIXJWSCheck(HSESSIONCTX hSession, const char *szChain, const char *szCRL, DWORD dwJWSLen, BYTE *pbJWS, DWORD dwFlags, DWORD *pdwHeaderLen, BYTE *pbHeader, DWORD *pdwPayloadLen, BYTE *pbPayload)
int AAP_API DPIXGet(HSESSIONCTX hSession, const char *szKeyId, const char *szCertId, const char *szPIXCertChainId, const char *szURL, DWORD dwCountRequestHeaderList, const char *pszRequestHeaderList[], DWORD dwTimeOut, DWORD *pdwSizeResponseHeaders, BYTE **ppbResponseHeaders, DWORD *pdwSizeResponseBody, BYTE **ppbResponseBody, DWORD dwParam)
int AAP_API DPIXPut(HSESSIONCTX hSession, const char *szKeyId, const char *szCertId, const char *szPIXCertChainId, const char *szURL, DWORD dwCountRequestHeaderList, const char *pszRequestHeaderList[], DWORD dwSizeRequestData, BYTE *pbRequestData, DWORD dwTimeOut, DWORD *pdwSizeResponseHeaders, BYTE **ppbResponseHeaders, DWORD *pdwSizeResponseBody, BYTE **ppbResponseBody, DWORD dwParam)
int AAP_API DPIXVerify(HSESSIONCTX hSession, const char *szChainId, const char *szCRL, DWORD dwFlags, DWORD dwSizeSignedPIXEnvelope, BYTE *pbSignedPIXEnvelope)
int AAP_API DPIXJWSSign(HSESSIONCTX hSession, const char *szKeyId, DWORD dwFlags, DWORD dwHeaderLen, BYTE *pbHeader, DWORD dwPayloadLen, BYTE *pbPayload, DWORD *pdwJWSLen, BYTE *pbJWS)
int AAP_API DPIXDictSign(HSESSIONCTX hSession, const char *szKeyId, const char *szCertId, DWORD dwFlags, DWORD dwSizeUnsignedDictEnvelope, BYTE *pbUnsignedDictEnvelope, DWORD *pdwSizeSignedDictEnvelope, BYTE **ppbSignedDictEnvelope)
int AAP_API DSetLBList(DWORD dwParam, void *pvList, DWORD dwListCount, DWORD dwReserved)
int AAP_API DGetSessionParam(HSESSIONCTX hSession, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags)
int AAP_API DOpenSession(HSESSIONCTX *phSession, DWORD dwParam, BYTE *pbData, DWORD dwDataLen, DWORD dwFlags)
int AAP_API DGetSessionCacheCount(void)
int AAP_API DCloseSession(HSESSIONCTX *phSession, DWORD dwFlags)
int AAP_API DInitialize(DWORD dwReserved)
int AAP_API DGetLBList(DWORD dwParam, void *pvList, DWORD *pdwListCount, DWORD dwReserved)
int AAP_API DFinalize()
int AAP_API DSetSessionParam(HSESSIONCTX hSession, DWORD dwParam, BYTE *pbData, DWORD dwDataLen, DWORD dwFlags)
int AAP_API DSKeepNewSecret(HSESSIONCTX hSession, const char *cszId, BYTE bSecLevel, WORD wAuthType, DWORD dwReserved)
int AAP_API DSKeepProbeSecret(HSESSIONCTX hSession, const char *cszId, SKeepProbeInfo *pstInfo, DWORD dwReserved)
int AAP_API DSKeepMatchSecret(HSESSIONCTX hSession, const char *cszId, const SKeepShare *cpstShares, DWORD dwSharesCount, DWORD dwReserved)
int AAP_API DSKeepRemoveSecret(HSESSIONCTX hSession, const char *cszId, BYTE bSecLevel, WORD wAuthType, DWORD dwReserved)
int AAP_API DSKeepCalcShareCks(DWORD dwType, const char *cszShare, char *szCks)
int AAP_API DSKeepSplitSecret(HSESSIONCTX hSession, const char *cszId, BYTE bSecLevel, WORD wAuthType, BYTE bM, BYTE bN, SKeepShare *pstShares, DWORD dwReserved)
int AAP_API DSKeepRecoverSecret(HSESSIONCTX hSession, const char *cszId, const SKeepShare *cpstShares, DWORD dwSharesCount, SKeepRecoverInfo *pstRecoverInfo, DWORD dwReserved)
int AAP_API DSPBDeactivateCertificate(HSESSIONCTX hSession, const char *szIdCert, DWORD dwReserved)
int AAP_API DSPBImportCertificate(HSESSIONCTX hSession, BYTE bActivate, const char *szUser, BYTE *pbCertificate, DWORD dwCertificateLen, const char *szDomain, DWORD dwParam)
int AAP_API DSPBDecodeCont(HSPBCTX hSPBCtx, BYTE *pbDataIn, DWORD dwDataInLen, BYTE **ppbDataOut, DWORD *pdwDataOutLen)
int AAP_API DSPBDecodeEnd(HSPBCTX *hSPBCtx)
int AAP_API DSPBSetISPBMap(HSESSIONCTX hSession, char *szISPB, char *szKeyId, char *szCertId, DWORD dwParam)
int AAP_API DSPBMapInfo(HSESSIONCTX hSession, const char *szIdCert, EXT_MAP_2_OBJ_INFO *pstExtMap, DWORD dwParam)
int AAP_API DSPBExportPKCS12(const HSESSIONCTX hSession, const char *szPkcs12Pwd, const char *szISPB, const char *szReserved, BYTE **ppbPkcs12, DWORD *pdwPkcs12Len, DWORD dwReserved)
int AAP_API DSPBEncodeCont(HSPBCTX hSPBCtx, BYTE *pbDataIn, DWORD dwDataInLen, BYTE *pbDataOut, DWORD *pdwDataOutLen)
int AAP_API DSPBCalculateObjectId(char *szISPB, char *szDomain, DWORD dwKeyType, char *szOutObjName, DWORD dwParam)
int AAP_API DSPBGetCertificate(HSESSIONCTX hSession, const char *szIdCert, BYTE **ppbCertificate, DWORD *pdwCertificateLen, DWORD dwParam)
int AAP_API DSPBGenerateCSR(HSESSIONCTX hSession, char *szPrivateKeyName, BYTE bVersion, char *szSPBSubject, DWORD dwOutType, DWORD *pdwCSRLen, BYTE **ppbCSR, DWORD dwParam)
int AAP_API DSPBImportPKCS12(HSESSIONCTX hSession, BYTE bActivate, const char *szUser, const char *szPkcs12File, const char *szPkcs12Pwd, const char *szDomain, DWORD dwKeyAttr)
int AAP_API DSPBGenerateKey(HSESSIONCTX hSession, char *szID, char *szPrivateKeyName, DWORD dwKeyParam, DWORD dwParam)
int AAP_API DSPBEncodeEnd(HSPBCTX *hSPBCtx, BYTE *pbSPBHeader, DWORD *pdwSPBHeaderLen)
int AAP_API DSPBActivateCertificate(HSESSIONCTX hSession, const char *szIdCert, const char *szDomain, DWORD dwParam)
int AAP_API DSPBDecodeInit(HSESSIONCTX hSession, char *szSrcISPB, char *szDstISPB, BYTE *pbHeader, DWORD dwHeaderLen, BYTE bAcceptExpiredCert, BYTE bAutoUpdateCert, DWORD dwMessageDataLen, HSPBCTX *hSPBCtx, DWORD dwFlags)
int AAP_API DSPBEncodeInit(HSESSIONCTX hSession, char *szSrcISPB, char *szDstISPB, DWORD dwTotalDataLen, BYTE bErrorCode, BYTE bSpecialTreatment, HSPBCTX *hSPBCtx, DWORD dwFlags)
int AAP_API DSVaultGetData(HSESSIONCTX hSession, DWORD dwOp, const char *szMK, const char *szMask, BYTE *pbTokenBlob, DWORD dwTokenBlobLen, char *szData, DWORD *pdwDataLen, DWORD dwReserved)
int AAP_API DSVaultGenToken(HSESSIONCTX hSession, DWORD dwOp, BYTE *pbInData, BYTE *pbTokenBlob, DWORD *pdwTokenBlobLen, char *szToken, DWORD dwReserved)
int AAP_API DRemoveUser(HSESSIONCTX hSession, char *szUserId)
int AAP_API DUnassignToken(const HSESSIONCTX hSession, const DWORD dwParam, const char *szUserId)
int AAP_API DGetUserParam(HSESSIONCTX hSession, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags)
int AAP_API DAssignToken(const HSESSIONCTX hSession, const char *szUserId, const DWORD dwParam, BYTE *pbData, const DWORD dwDataLen)
int AAP_API DCreateUser(HSESSIONCTX hSession, struct USER_INFO userInfo)
int AAP_API DSetUserParam(HSESSIONCTX hSession, DWORD dwParam, BYTE *pbData, DWORD dwDataLen, DWORD dwFlags)
int AAP_API DOATHResync(const HSESSIONCTX hSession, char *szUser, char *szOTP1, char *szOTP2, DWORD dwParam)
int AAP_API DListUsers(HSESSIONCTX hSession, funcListUsersCallback fncallback, void *pParam)
int(AAP_API * funcListUsersCallback)(char *szUserName, void *pParam, BOOL bFinal)
Definição dinamo.h:5228
int AAP_API DVerifySignedXml(HSESSIONCTX hSession, char *szCertsId, DWORD dwSizeSignedXml, BYTE *pbSignedXml, DWORD dwFilterLen, BYTE *pbFilter)
int AAP_API DSignXml(HKEYCTX hKey, HHASHCTX hHash, char *szCertId, DWORD dwSizeUnsignedXml, BYTE *pbUnsignedXml, DWORD dwFilterLen, BYTE *pbFilter, DWORD *pdwSizeSignedXml, BYTE **ppbSignedXml)
int AAP_API DSignXml2(HSESSIONCTX hSession, BYTE bHashMode, DWORD dwFlags, const char *szKeyId, const char *szCertId, DWORD dwSizeUnsignedXml, BYTE *pbUnsignedXml, DWORD dwFilterLen, BYTE *pbFilter, DWORD *pdwSizeSignedXml, BYTE **ppbSignedXml)
int AAP_API DVerifySignedXmlEx(HSESSIONCTX hSession, char *szCertsId, DWORD dwSizeSignedXml, BYTE *pbSignedXml, DWORD dwFilterLen, BYTE *pbFilter, char *szCRL)
Definição dinamo.h:3448
int nPort
Definição dinamo.h:3450
DN_A_TOKEN stAToken
Definição dinamo.h:3451
Definição dinamo.h:3437
char szAPIToken[MAX_HTTP_API_TOKEN_LEN+1]
Definição dinamo.h:3439
DWORD dwTimeout
Definição dinamo.h:3440
char szAddr[MAX_HTTP_ADDR_LEN+1]
Definição dinamo.h:3438
Definição dinamo.h:3412
int nPort
Definição dinamo.h:3414
char szUserId[MAX_USR_LEN]
Definição dinamo.h:3415
DWORD dwAuthType
Definição dinamo.h:3417
char szAddr[MAX_ADDR_LEN]
Definição dinamo.h:3413
char szPassword[MAX_USR_PWD]
Definição dinamo.h:3416
int nStrongAuthLen
Definição dinamo.h:3425
BYTE * pbStrongAuth
Definição dinamo.h:3424
Definição dinamo.h:3400
int nPort
Definição dinamo.h:3402
char szUserId[MAX_USR_LEN]
Definição dinamo.h:3403
char szAddr[MAX_ADDR_LEN]
Definição dinamo.h:3401
char szPassword[MAX_USR_PWD]
Definição dinamo.h:3404
Definição dinamo.h:3459
int nPort
Definição dinamo.h:3461
Definição dinamo.h:2558
int nPubKeyHSMAlgId
Definição dinamo.h:2571
DWORD dwVersion
Definição dinamo.h:2559
DBLOB dbPublicKey
Definição dinamo.h:2570
Definição dinamo.h:3158
int nVersion
Definição dinamo.h:3159
DBLOB dbIssuer
Definição dinamo.h:3162
DBLOB dbSubject
Definição dinamo.h:3161
P11_DATE dtNotBefore
Definição dinamo.h:3165
DBLOB dbSerialNumber
Definição dinamo.h:3163
P11_DATE dtNotAfter
Definição dinamo.h:3166
Definição dinamo.h:3780
DWORD dwIp
Definição dinamo.h:3782
DWORD dwRCode
Definição dinamo.h:3784
DWORD dwCount
Definição dinamo.h:3781
Definição dinamo.h:2531
void * pvData
Definição dinamo.h:2532
DWORD dwDataLen
Definição dinamo.h:2533
Definição dinamo.h:3390
DN_A_TOKEN stAToken
Definição dinamo.h:3391
QWORD qwExpiration
Definição dinamo.h:3392
Definição dinamo.h:3380
Definição dinamo.h:4106
DWORD dwAttributes
Definição dinamo.h:4117
DWORD dwIndex
Definição dinamo.h:4116
BYTE bVersion
Definição dinamo.h:4107
Definição dinamo.h:4127
BYTE bCkdType
Definição dinamo.h:4128
DN_BCHAIN_BIP32_CKD_IN_INFO stBaseInfo
Definição dinamo.h:4133
Definição dinamo.h:4141
BYTE bCkdType
Definição dinamo.h:4142
DN_BCHAIN_BIP32_CKD_IN_INFO stBaseInfo
Definição dinamo.h:4146
Definição dinamo.h:3823
DWORD dwSeedLen
Definição dinamo.h:3825
BYTE bVer
Definição dinamo.h:3824
Definição dinamo.h:3836
BYTE bVer
Definição dinamo.h:3837
Definição dinamo.h:3851
BYTE bStorageType
Definição dinamo.h:3852
BYTE bBip32Depth
Definição dinamo.h:3855
DWORD dwType
Definição dinamo.h:3853
Definição dinamo.h:3866
BYTE bLen
Definição dinamo.h:3868
BYTE bType
Definição dinamo.h:3867
Definição dinamo.h:3695
BYTE bOP
Definição dinamo.h:3702
Definição dinamo.h:3706
DWORD dwPADLen
Definição dinamo.h:3717
DWORD dwCSULen
Definição dinamo.h:3715
BYTE bOP
Definição dinamo.h:3711
Definição dinamo.h:2604
DWORD dwDataLen
Definição dinamo.h:2606
Definição dinamo.h:2616
DN_EC_BIG_NUMBER bnCofactor
Definição dinamo.h:2624
DN_EC_BIG_NUMBER bnOrder
Definição dinamo.h:2626
DN_EC_BIG_NUMBER bnP
Definição dinamo.h:2619
DN_EC_POINT_INFO stGeneratorPoint
Definição dinamo.h:2627
DN_EC_BIG_NUMBER bnA
Definição dinamo.h:2621
DN_EC_BIG_NUMBER bnB
Definição dinamo.h:2622
int nFieldType
Definição dinamo.h:2617
Definição dinamo.h:2610
DN_EC_BIG_NUMBER bnY
Definição dinamo.h:2612
DN_EC_BIG_NUMBER bnX
Definição dinamo.h:2611
Definição dinamo.h:2637
DN_EC_GROUP_INFO stGroupInfo
Definição dinamo.h:2638
DN_EC_BIG_NUMBER bnPrivatevalue
Definição dinamo.h:2639
Definição dinamo.h:2631
DN_EC_GROUP_INFO stGroupInfo
Definição dinamo.h:2632
DN_EC_POINT_INFO stPublicPoint
Definição dinamo.h:2633
Definição dinamo.h:2647
BYTE * pbRawOctetString
Definição dinamo.h:2648
DWORD dwHintSPKILen
Definição dinamo.h:2651
BYTE * pbHintSPKI
Definição dinamo.h:2650
DWORD dwRawOctetStringLen
Definição dinamo.h:2649
Definição dinamo.h:2743
BYTE bIsEftd0Active
Definição dinamo.h:2746
DWORD dwKeyAliasCount
Definição dinamo.h:2748
BYTE bMsgHeaderLen
Definição dinamo.h:2744
BYTE bPinLen
Definição dinamo.h:2745
BYTE bRestrictKcv
Definição dinamo.h:2747
DN_EFTD_KEY_ALIAS * pstKeyAlias
Definição dinamo.h:2749
Definição dinamo.h:2720
BYTE bIsEftd0Active
Definição dinamo.h:2723
BYTE bMsgHeaderLen
Definição dinamo.h:2721
BYTE bPinLen
Definição dinamo.h:2722
Definição dinamo.h:2731
Definição dinamo.h:6416
int nEphemeralKekAlg
Definição dinamo.h:6418
char * szKeKKid
Definição dinamo.h:6417
char * szGenerator
Definição dinamo.h:6419
Definição dinamo.h:3957
DN_OBJ_STATS stGlobal
Definição dinamo.h:3958
Definição dinamo.h:4035
QWORD dtLastHeal
Definição dinamo.h:4041
QWORD dtLastRun
Definição dinamo.h:4039
QWORD qwHealCounter
Definição dinamo.h:4038
QWORD qwCheckCounter
Definição dinamo.h:4037
QWORD qwRunCounter
Definição dinamo.h:4036
QWORD dtLastCheck
Definição dinamo.h:4040
Definição dinamo.h:4096
DWORD dwSharedSecretLen
Definição dinamo.h:4098
Definição dinamo.h:4084
DWORD dwCiphertextLen
Definição dinamo.h:4088
DWORD dwSharedSecretLen
Definição dinamo.h:4087
Definição dinamo.h:4061
DWORD dwAttr
Definição dinamo.h:4072
DWORD dwType
Definição dinamo.h:4071
BYTE bCtxLen
Definição dinamo.h:4069
BYTE bOp
Definição dinamo.h:4062
Definição dinamo.h:2884
INT nMax
Definição dinamo.h:2888
ND_uint64_t qwExpires
Definição dinamo.h:2886
INT nVal
Definição dinamo.h:2887
ND_uint64_t qwCreated
Definição dinamo.h:2885
Definição dinamo.h:3886
BYTE bN
Definição dinamo.h:3889
BYTE bM
Definição dinamo.h:3888
BYTE bPos
Definição dinamo.h:3887
Definição dinamo.h:3897
Definição dinamo.h:3905
DWORD dwPartCount
Definição dinamo.h:3909
Definição dinamo.h:2798
int nAlgId
Definição dinamo.h:2799
QWORD qwCount
Definição dinamo.h:2800
Definição dinamo.h:3916
ND_uint64_t uCount
Definição dinamo.h:3920
ND_uint64_t tFirst
Definição dinamo.h:3917
ND_uint64_t uLast
Definição dinamo.h:3919
ND_uint64_t uFirst
Definição dinamo.h:3918
Definição dinamo.h:3927
DN_OBJ_STAT_INFO stTouch
Definição dinamo.h:3928
DN_OBJ_STAT_INFO stUsage
Definição dinamo.h:3929
Definição dinamo.h:2676
DWORD dwDataLen
Definição dinamo.h:2678
Definição dinamo.h:2817
DWORD dwExponent2Len
Definição dinamo.h:2831
DWORD dwPrime2Len
Definição dinamo.h:2827
DWORD dwModulusLen
Definição dinamo.h:2819
DWORD dwPrime1Len
Definição dinamo.h:2825
DWORD dwCoefficientLen
Definição dinamo.h:2833
DWORD dwPrivExponentLen
Definição dinamo.h:2823
DWORD dwExponent1Len
Definição dinamo.h:2829
DWORD dwPubExponentLen
Definição dinamo.h:2821
Definição dinamo.h:2685
DN_RSA_BIG_NUMBER bnModulus
Definição dinamo.h:2686
DN_RSA_BIG_NUMBER bnPubExponent
Definição dinamo.h:2687
Definição dinamo.h:2846
BOOL bHasPINInfo
Definição dinamo.h:2863
BOOL bIsPINSMCOn
Definição dinamo.h:2864
BOOL bIsFormatted
Definição dinamo.h:2861
BYTE bLockByte1
Definição dinamo.h:2857
BYTE bPINMMPN
Definição dinamo.h:2865
BYTE bPINSCR
Definição dinamo.h:2866
BYTE bCardChipVersion
Definição dinamo.h:2856
BYTE bCardProgramVersion
Definição dinamo.h:2855
BOOL bIsPINLocked
Definição dinamo.h:2862
BOOL bIsOEMKeyAvailable
Definição dinamo.h:2860
BOOL bHasLegacyCard
Definição dinamo.h:2859
BYTE bPINUCR
Definição dinamo.h:2867
int nATRSize
Definição dinamo.h:2848
BYTE bPINCKS
Definição dinamo.h:2868
BYTE bLockByte2
Definição dinamo.h:2858
Definição dinamo.h:4015
BYTE bN
Definição dinamo.h:4018
BYTE bM
Definição dinamo.h:4017
BYTE bPos
Definição dinamo.h:4016
Definição dinamo.h:4026
int nVersion
Definição dinamo.h:4027
Definição dinamo.h:2808
DWORD dwObjCountCount
Definição dinamo.h:2811
DN_OBJ_COUNT * pstObjCount
Definição dinamo.h:2810
Definição dinamo.h:3757
BYTE bVersion
Definição dinamo.h:3758
Definição dinamo.h:2667
DBLOB dbEcPoint
Definição dinamo.h:2668
DBLOB dbEcParams
Definição dinamo.h:2669
Definição dinamo.h:3671
DWORD dwAttributes
Definição dinamo.h:3672
EFT_AES_KEY_PARTS stParts
Definição dinamo.h:3673
Definição dinamo.h:3660
Definição dinamo.h:3680
Definição dinamo.h:3646
Definição dinamo.h:3541
DWORD dwObjAlgId2
Definição dinamo.h:3544
DWORD dwObjAlgId1
Definição dinamo.h:3542
Definição dinamo.h:3741
DWORD dwTargetKeyAlg
Definição dinamo.h:3745
DWORD dwTargetKeyAttributes
Definição dinamo.h:3746
DBLOB dbPubKey
Definição dinamo.h:3747
DBLOB dbKDFData
Definição dinamo.h:3748
Definição dinamo.h:3725
DWORD dwTargetKeyAlg
Definição dinamo.h:3729
DWORD dwTargetKeyAttributes
Definição dinamo.h:3730
DBLOB dbPubKey
Definição dinamo.h:3731
DBLOB dbKDFData
Definição dinamo.h:3732
Definição dinamo.h:2756
BYTE * pbPubKey
Definição dinamo.h:2761
DWORD dwFlags
Definição dinamo.h:2759
BOOL bTempKey
Definição dinamo.h:2760
int nAlgId
Definição dinamo.h:2758
DWORD dwPubKeyLen
Definição dinamo.h:2762
Definição dinamo.h:3360
DWORD dwImageLen
Definição dinamo.h:3362
Definição dinamo.h:3353
DWORD dwParam
Definição dinamo.h:3354
DWORD dwHipFlags
Definição dinamo.h:3355
DWORD dwHipColor
Definição dinamo.h:3356
Definição dinamo.h:3339
DWORD dwStructId
Definição dinamo.h:3340
Definição dinamo.h:3170
DWORD dwObjAttr
Definição dinamo.h:3173
DWORD dwObjHotpFlags
Definição dinamo.h:3174
DBLOB * pdbStLogoImage
Definição dinamo.h:3178
DWORD dwStructId
Definição dinamo.h:3171
Definição dinamo.h:3345
DWORD dwStructId
Definição dinamo.h:3346
Definição dinamo.h:2496
int nPort
Definição dinamo.h:2498
time_t tmNow
Definição dinamo.h:2499
int nqtdcache
Definição dinamo.h:2500
Definição dinamo.h:2577
Definição dinamo.h:3089
ISSUE_OATH_INFO_t stInfo
Definição dinamo.h:3090
Definição dinamo.h:3098
ISSUE_OATH_INFO_t stInfo
Definição dinamo.h:3099
Definição dinamo.h:3023
BYTE seed_len
Definição dinamo.h:3024
ND_OATH_uint64_t T0
Definição dinamo.h:3044
WORD time_step
Definição dinamo.h:3039
ND_OATH_uint64_t moving_factor
Definição dinamo.h:3031
BYTE truncation_offset
Definição dinamo.h:3035
Definição dinamo.h:3058
BYTE seed_len
Definição dinamo.h:3059
ND_OATH_uint64_t T0
Definição dinamo.h:3079
WORD time_step
Definição dinamo.h:3074
ND_OATH_uint64_t moving_factor
Definição dinamo.h:3066
BYTE truncation_offset
Definição dinamo.h:3070
Definição dinamo.h:2988
WORD wTimeStep
Definição dinamo.h:3000
BYTE bUseDefaultMovingFactor
Definição dinamo.h:3009
ND_OATH_uint64_t otMovingFactor
Definição dinamo.h:3012
ND_OATH_uint64_t otT0
Definição dinamo.h:3005
BYTE bTruncationOffset
Definição dinamo.h:2996
BYTE bSeedLen
Definição dinamo.h:2989
Definição dinamo.h:2508
HSM_ADDR * pstLBList
Definição dinamo.h:2509
DWORD dwLBListCount
Definição dinamo.h:2510
Definição dinamo.h:3533
char szObj1Id[MAX_OBJ_NAME_LEN+1]
Definição dinamo.h:3535
char szObj2Id[MAX_OBJ_NAME_LEN+1]
Definição dinamo.h:3537
DWORD dwObj1AlgId
Definição dinamo.h:3534
DWORD dwObj2AlgId
Definição dinamo.h:3536
Definição dinamo.h:3550
DWORD dwModuleId
Definição dinamo.h:3551
char szModuleNameVersion[MAX_MODULE_NAME_VERSION_LEN]
Definição dinamo.h:3552
Definição dinamo.h:3108
ISSUE_OATH_BLOB_t stOATHBlob
Definição dinamo.h:3109
Definição dinamo.h:3117
BYTE key_len
Definição dinamo.h:3122
BYTE type
Definição dinamo.h:3118
BYTE truncation_offset
Definição dinamo.h:3124
Definição dinamo.h:3131
OATH_SA_v1 sa_v1
Definição dinamo.h:3132
ND_OATH_uint64_t T0
Definição dinamo.h:3137
WORD time_step
Definição dinamo.h:3133
Definição dinamo.h:2893
DWORD len
Definição dinamo.h:2897
DWORD type
Definição dinamo.h:2895
DWORD attrib
Definição dinamo.h:2896
DWORD version
Definição dinamo.h:2894
Definição dinamo.h:2970
OBJ_HDR_V1 stSlot2Header
Definição dinamo.h:2977
OBJ_HDR_V1 stObjectHeader
Definição dinamo.h:2971
BYTE bBlockedStatus
Definição dinamo.h:2980
ND_uint64_t stCreationTime
Definição dinamo.h:2981
OBJ_HDR_V1 stSlot1Header
Definição dinamo.h:2974
Definição dinamo.h:2959
OBJ_HDR_V1 stObjectHeader
Definição dinamo.h:2961
DWORD dwVERB
Definição dinamo.h:2960
Definição dinamo.h:5475
const char * pszString
Definição dinamo.h:5477
DWORD dwId
Definição dinamo.h:5476
DWORD dwType
Definição dinamo.h:5478
Definição dinamo.h:2904
QWORD qwOrig_creat
Definição dinamo.h:2914
QWORD qwDeactiv
Definição dinamo.h:2909
QWORD qwComprom
Definição dinamo.h:2911
QWORD qwLast_change
Definição dinamo.h:2913
QWORD qwC_occur
Definição dinamo.h:2910
QWORD qwProtect_s
Definição dinamo.h:2908
QWORD qwMask
Definição dinamo.h:2915
QWORD qwInit
Definição dinamo.h:2905
QWORD qwActiv
Definição dinamo.h:2906
QWORD qwProc_s
Definição dinamo.h:2907
BYTE bState
Definição dinamo.h:2916
QWORD qwArchive
Definição dinamo.h:2912
Definição dinamo.h:3151
Definição dinamo.h:2770
ND_uint64_t redirect_time
Definição dinamo.h:2777
ND_uint64_t upload_size
Definição dinamo.h:2784
ND_uint64_t upload_speed
Definição dinamo.h:2781
ND_uint64_t starttransfer_time
Definição dinamo.h:2775
ND_uint64_t content_length_upload
Definição dinamo.h:2779
ND_uint64_t connect_time
Definição dinamo.h:2772
ND_uint64_t request_size
Definição dinamo.h:2788
ND_uint64_t pretransfer_time
Definição dinamo.h:2774
ND_uint64_t num_connects
Definição dinamo.h:2787
ND_uint64_t download_size
Definição dinamo.h:2783
ND_uint64_t http_response_code
Definição dinamo.h:2790
ND_uint64_t redirect_count
Definição dinamo.h:2786
ND_uint64_t name_lookup_time
Definição dinamo.h:2771
ND_uint64_t received_header_size
Definição dinamo.h:2789
ND_uint64_t appconnect_time
Definição dinamo.h:2773
ND_uint64_t download_speed
Definição dinamo.h:2782
ND_uint64_t total_time
Definição dinamo.h:2776
ND_uint64_t content_length_download
Definição dinamo.h:2780
Definição dinamo.h:3556
BYTE Trusted
Definição dinamo.h:3570
BYTE Local
Definição dinamo.h:3572
BYTE WrapWithTrusted
Definição dinamo.h:3571
DWORD JavaMidpSecDomain
Definição dinamo.h:3575
DWORD CertificateCategory
Definição dinamo.h:3574
DWORD KeyGenMechanism
Definição dinamo.h:3576
DWORD Class
Definição dinamo.h:3560
Definição dinamo.h:3630
BYTE bMaxInvalidLogins
Definição dinamo.h:3632
BYTE bLower
Definição dinamo.h:3639
BYTE bHistory
Definição dinamo.h:3634
BYTE bUpper
Definição dinamo.h:3638
BYTE bMinLength
Definição dinamo.h:3636
BYTE bExpiration
Definição dinamo.h:3633
BYTE bMinSpecial
Definição dinamo.h:3637
Definição dinamo.h:3332
DWORD dwPeer
Definição dinamo.h:3334
BYTE bOP
Definição dinamo.h:3333
Definição dinamo.h:2658
DBLOB dbPubExponent
Definição dinamo.h:2660
DBLOB dbModulus
Definição dinamo.h:2659
Definição dinamo.h:3968
WORD wAuthType
Definição dinamo.h:3969
BYTE bSecLevel
Definição dinamo.h:3970
Definição dinamo.h:3982
BYTE bSecLevel
Definição dinamo.h:3983
Definição dinamo.h:3991
Definição dinamo.h:2519
int nPort
Definição dinamo.h:2520
Definição dinamo.h:2539
DWORD dwVersion
Definição dinamo.h:2540
DBLOB dbPublicKey
Definição dinamo.h:2554
Definição dinamo.h:3145
Definição dinamo.h:2456
BYTE bFrom
Definição dinamo.h:2475
BYTE bCKS
Definição dinamo.h:2464
BYTE bFlags
Definição dinamo.h:2457
BYTE bType
Definição dinamo.h:2474
BYTE bTo
Definição dinamo.h:2481
Definição dinamo.h:3316
SYS_NTP_INFO stNTPInfo
Definição dinamo.h:3324
int nFilledCount
Definição dinamo.h:3317
SYS_HW_STR_INFO stHardwareInfo
Definição dinamo.h:3323
SYS_REPL_INFO stReplicationInfo
Definição dinamo.h:3321
DWORD dwFIPSReturnCode
Definição dinamo.h:3326
SYS_STATUS_INFO stStatusInfo
Definição dinamo.h:3318
DWORD dwFIPSMode
Definição dinamo.h:3319
SYS_DISK_INFO stDiskInfo
Definição dinamo.h:3320
QWORD qwCurrentDateTime
Definição dinamo.h:3322
SYS_PENDING_INFO stPendingInfo
Definição dinamo.h:3327
SYS_COUNTER_INFO stCounterInfo
Definição dinamo.h:3325
Definição dinamo.h:3243
QWORD qwUsers
Definição dinamo.h:3244
QWORD qwSLBeFileSize
Definição dinamo.h:3246
QWORD qwVMSize
Definição dinamo.h:3248
QWORD qwTasks
Definição dinamo.h:3247
QWORD qwObjects
Definição dinamo.h:3245
Definição dinamo.h:3217
DWORD dwBlockSize
Definição dinamo.h:3218
DWORD dwFreeBlocks
Definição dinamo.h:3220
DWORD dwTotalBlocks
Definição dinamo.h:3219
Definição dinamo.h:3211
DWORD dwBatteryOK
Definição dinamo.h:3213
DWORD dwUptime
Definição dinamo.h:3212
Definição dinamo.h:3268
Definição dinamo.h:3195
DWORD dwSysNetInfoCount
Definição dinamo.h:3197
SYS_NET_INFO * pstSysNetInfo
Definição dinamo.h:3196
Definição dinamo.h:3184
DWORD dwSpeed
Definição dinamo.h:3190
BYTE bUp
Definição dinamo.h:3189
Definição dinamo.h:3285
BYTE bENABLED
Definição dinamo.h:3286
Definição dinamo.h:3275
DWORD dwKeyLen
Definição dinamo.h:3279
WORD wKeyIndex
Definição dinamo.h:3278
Definição dinamo.h:3260
BYTE bPendingBackup
Definição dinamo.h:3261
Definição dinamo.h:3293
DWORD dwDiscoveryPulse
Definição dinamo.h:3307
QWORD qwSpVal
Definição dinamo.h:3302
DWORD dwManagerPulse
Definição dinamo.h:3305
DWORD dwRecoveryPulse
Definição dinamo.h:3306
QWORD qwEventType
Definição dinamo.h:3298
DWORD dwBoundEth
Definição dinamo.h:3295
WORD wSpvv
Definição dinamo.h:3303
QWORD qwGuid
Definição dinamo.h:3296
QWORD qwDateTime
Definição dinamo.h:3297
DWORD dwDiscoveryReset
Definição dinamo.h:3304
DWORD dwState
Definição dinamo.h:3299
Definição dinamo.h:3228
DWORD dwMemTotal
Definição dinamo.h:3232
DWORD dwMemUsed
Definição dinamo.h:3233
DWORD dwCPU
Definição dinamo.h:3230
DWORD dwUnit
Definição dinamo.h:3231
DWORD dwSwapTotal
Definição dinamo.h:3234
DWORD dwSwapUsed
Definição dinamo.h:3235
DWORD dwSessions
Definição dinamo.h:3229
Definição dinamo.h:2711
Definição dinamo.h:3469
DBLOB dbHSMCert
Definição dinamo.h:3473
DBLOB dbPrivateKeyCert
Definição dinamo.h:3472
char * szPrivateKeyPwd
Definição dinamo.h:3471
DBLOB dbPrivateKey
Definição dinamo.h:3470
Definição dinamo.h:3370
DWORD dwAttempts
Definição dinamo.h:3373
int nBlocked
Definição dinamo.h:3372
Definição dinamo.h:2697
DBLOB dbCert
Definição dinamo.h:2704
BYTE bOP
Definição dinamo.h:2699
Definição dinamo.h:3480
DWORD dwAuthMask
Definição dinamo.h:3483
char szPassword[MAX_USR_PWD+1]
Definição dinamo.h:3482
char szUserId[MAX_USR_LEN+1]
Definição dinamo.h:3481
Definição dinamo.h:3511
DWORD dwACL
Definição dinamo.h:3521
DWORD dwState
Definição dinamo.h:3513