API C/C++
HSM Dinamo
Carregando...
Procurando...
Nenhuma entrada encontrado
dinamo.h
Ir para a documentação desse arquivo.
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
591/* Strong authentication */
592
593#define SA_AUTH_NONE (0x00000000) /* No strong authentication */
594#define SA_AUTH_OTP (0x00000001) /* OTP authentication */
595#define SA_AUTH_CERTIFICATE (0x00000002) /* Certificate authentication */
596#define SA_AUTH_HSM_CERT (0x00000004) /* Verify HSM certificate without using mTLS*/
597
598/* Modos de operação do HSM */
599
600#define DN_HSM_OP_NRM (0)
601#define DN_HSM_OP_RM1 (1)
602#define DN_HSM_OP_RM2 (2)
603#define DN_HSM_OP_RM3 (3)
605/* SetSessionParam/GetSessionParam */
606
607/* dwParam */
608#define SP_SESSION_TIMEOUT (0x00000001) /* Time-out sessao pbData == dwTimeout (ms) */
609#define SP_SEND_TIMEOUT (0x00000002) /* Time-out send pbData == dwTimeout (ms) */
610#define SP_RECV_TIMEOUT (0x00000004) /* Time-out recv pbData == dwTimeout (ms) */
611#define SP_ENCRYPTED (0x00000008) /* Read-only pbData == bSessionEncrypted (TRUE/FALSE) */
612#define SP_SESSION_ID (0x00000010) /* Read-only pbData == dwSessionId */
613#define SP_SESSION_CID (0x00000020) /* Read-only pbData == DWORD */
614#define SP_SESSION_TYPE (0x00000040) /* Read-only pbData == DWORD */
615#define SP_SESSION_CIPHER (0x00000080) /* Read-only pbData == char * */
616#define SP_SESSION_PIX_HTTP_RET (0x00000100) /* Read-only pbData == long */
617#define SP_SESSION_PIX_HTTP_REQ_DETAILS (0x00000200) /* Read-only pbData == PIX_HTTP_REQUEST_DETAILS */
618#define SP_HSM_OP_MODE (0x00000400) /* Read-only pbData == DWORD (DN_HSM_OP_NRM ...)*/
619#define SP_SESSION_CACHE_TIMEOUT (0x00000800) /* pbData == DWORD; session cache timeout in seconds */
620
621/* Session params */
622
623#define DN_SESSION_CACHE_DEFAULT_TIMEOUT (3.0 * 60)
626/* SP_SESSION_TYPE */
627
628#define SP_SESSION_TYPE_CLEAR_CONN (1)
629#define SP_SESSION_TYPE_SSL2 (2)
630#define SP_SESSION_TYPE_SSL3 (3)
631#define SP_SESSION_TYPE_TLS1 (4)
632#define SP_SESSION_TYPE_TLS1_1 (5)
633#define SP_SESSION_TYPE_TLS1_2 (6)
634#define SP_SESSION_TYPE_TLS1_3 (7)
635#define SP_SESSION_TYPE_UNKNOWN (8)
636
637
638/* CloseSession */
639
640/* dwFlags */
641#define WAIT_OPERATIONS (0x00000004) /* Wait the end of all operations in progress. Not implemented. */
642#define CLOSE_PHYSICALLY (0x00000008) /* Force the end of the connection with the HSM. Session will not be cached. */
643
644/* DDSBindHSM */
645
646#define D_DS_BIND_VERSION (1)
647#define D_MAX_DS_BIND_URL (255)
648#define D_DS_BIND_PSK_LEN (16)
649#define D_MIN_DS_BIND_B62_ID (1)
650#define D_MAX_DS_BIND_B62_ID (22)
651
652/* DBackupObject */
653
654#define D_BACKUP_OBJ (1)
655#define D_RESTORE_OBJ (2)
656
657#define D_MAX_BACKUP_OBJ_LEN (1024*4)
658
659/* Backup */
660
661#define MAKE_BACKUP (0)
662#define MAKE_RESTORE (1)
663#define MAKE_RESTORE_WITH_NET_CONFIG MAKE_RESTORE
664#define MAKE_RESTORE_WITHOUT_NET_CONFIG (2)
665#define MAKE_USE_WIN_CREDENTIAL (0x80000000)
667/* GetHsmData/SetHsmData */
668
669/* dwParam */
670#define HD_AUDIT_START (0x00000001) /* Indicate that the connection will be used to retrieve logs. */
671#define HD_AUDIT_RECV (0x00000002) /* Receive logs from server. */
672
673/* dwFlags */
674#define DATA_ONLY (0x00000008) /* Backup/Restore only data */
675#define CONFIG_ONLY (0x00000010) /* Backup/Restore only configurations*/
676
677
678/* GetHsmConfig/SetHsmConfig */
679
680/* dwParam*/
681#define HC_PASS_PORT_VALUE (0x00000001) /* Monitoring port. pbData == wPortNumber */
682#define HC_PASS_PORT_ENABLE (0x00000002) /* Enable/disable monitoring port. pbData == bEnable */
683#define HC_MAX_CONNECT (0x00000004) /* Maximum connections (processing). pbData == dwMaxConnections */
684#define HC_MAX_MONITORING (0x00000008) /* Maximum connections (monitoring). pbData == dwMaxConnections */
685#define HC_PERMISSION_IP (0x00000010) /* Clients IP list. pbData == szIPList (xxx.xxx.xxx.xxx;xxx...) */
686
687/* dwFlags */
688#define ENABLE_VALUES (0x00000020) /* Enable values indicated by pbData. */
689#define DISABLE_VALUES (0x00000040) /* Disable values indicated by pbData. */
690
691
692/* DAdmOperation */
693
694/* dwParam */
695#define AO_SHUTDOWN (1) /* Shutdown HSM. pbData == NULL */
696#define AO_RESTART (2) /* Restart HSM services. pbData == NULL */
697#define AO_KEEPALIVE (4) /* Keep session alive. */
698#define AO_SET_DATE_TIME (8) /* Set the HSM's time and date. pbData == struct tm (time.h) */
699#define AO_ADD_CLUSTER_LIST (16) /* DEPRECATED! */
700#define AO_DEL_CLUSTER_LIST (18) /* DEPRECATED! */
701#define AO_GET_CLUSTER_LIST (20) /* DEPRECATED! */
702#define AO_RST_CLUSTER_LIST (24) /* DEPRECATED! */
703#define AO_SET_PWD_SEC_POLICY (25) /* Define password security policies. */
704#define AO_GET_PWD_SEC_POLICY (32) /* Recover password security policies. */
705#define AO_REPL_UPDATE (33) /* Process an update replication command. pbData == NULL */
706#define AO_REPL_NODE_MESSAGE (34) /* Send comands to the HSM's replication subsystem. pbData == *REPL_NODE_MSG */
707#define AO_LOG_CACHE_STATE (35) /* Get cache log state. pbData == *DWORD */
708#define AO_LOG_CACHE_ENABLE (36) /* Enable log cache. pbData == NULL */
709#define AO_LOG_CACHE_DISABLE (37) /* Disable log cache. pbData == NULL */
710#define AO_SET_TLS_BUNDLE (38) /* Set TLS bundle. pbData == TLS_BUNDLE_INFO */
711
712#define AO_EFTD_ACTIVATE (39)
713#define AO_EFTD_DEACTIVATE (40)
714#define AO_EFTD_RESET_CONF (41)
715#define AO_EFTD_GET_CONF (42)
716#define AO_EFTD_SET_MSG_HEADER_LEN (43)
717#define AO_EFTD_SET_PIN_LEN (44)
718#define AO_GET_GLOBAL_OBJ_STATS (45)
719#define AO_GET_SEC_POLICY_GFLAGS (46)
720#define AO_SET_SEC_POLICY_GFLAGS (47)
721#define AO_GET_HMON_INFO (48)
722#define AO_DRBG_HEALTH_TEST (49)
723#define AO_TSSP_ZERO_COMPLETED (50)
724#define AO_INSTALL_LICENSE (51)
725#define AO_UNINSTALL_LICENSE (52)
726#define AO_GET_INSTALLED_LICENSES (53)
727#define AO_EFTD_SET_ALIAS (54)
728#define AO_EFTD_SET_RESTRICT_KCV (55)
730#define AO_KEEPALIVE_FLAG_NOISELESS ((DWORD) -2371)
731
732#define AO_LOG_CACHE_STATE_ENABLED (11)
733#define AO_LOG_CACHE_STATE_DISABLED (22)
734
735#define DN_LIC_MAX_NAME (51)
737#define DN_LIC_NAME_VIRTUAL_PREFIX '>'
738#define DN_LIC_NAME_OEM_PREFIX '@'
741/*
742 AO_GET_SEC_POLICY_GFLAGS and AO_SET_SEC_POLICY_GFLAGS supported GFLAGS.
743*/
744
745#define DN_SEPOL_GF_ENABLE_HTTP_X509_SA (1 << 0)
746#define DN_SEPOL_GF_ENABLE_NSA_API_AUTH (1 << 1)
747#define DN_SEPOL_GF_ENABLE_LEGACY_TLS (1 << 2)
750//
751// Replication operation messages
752// to be used with AO_REPL_NODE_MESSAGE.
753//
754#define RNM_PROBE (1)
755#define RNM_DOWN (2)
756#define RNM_SLP_BYPASS_ADD (3)
757#define RNM_SLP_BYPASS_DEL (4)
758
759#define DN_EFTD_DEFAULT_USER "eftd0"
760#define DN_EFTD_MIN_MSG_HEADER_LEN (1)
761#define DN_EFTD_MAX_MSG_HEADER_LEN (255)
762#define DN_EFTD_MIN_PIN_LEN (5)
763#define DN_EFTD_MAX_PIN_LEN (13)
764#define DN_EFTD_MAX_KEY_ALIAS_LEN (159)
766#define DN_EFTD_JSON_CONF_MSG_HDR_LEN "msg-hdr-len"
767#define DN_EFTD_JSON_CONF_PIN_LEN "pin-len"
768#define DN_EFTD_JSON_CONF_EFTD0_ACTIV "eftd0"
769#define DN_EFTD_JSON_CONF_RESTRICT_KCV "restrict-kcv"
770#define DN_EFTD_JSON_CONF_ALIAS "alias"
772/* SetUserParam/GetUserParam */
773
774/* dwParam */
775#define UP_USER_NAME (0x00000001) /* User name. pbData == szUserName */
776#define UP_AUTH_MASK (0x00000002) /* Authorization mask. pdData == dwAuthMask */
777#define UP_ACCESS_TYPE (0x00000004) /* Access type mask. pbData == dwAccessType */
778#define UP_CERTIFICATE (0x00000008) /* User certificate. pbData == pbCertificate */
779#define UP_PASSWORD (0x00000010) /* User password. pbData == pwd */
780#define UP_INVALID_LOGIN_ATTEMPTS (0x00000020) /* Amount of invalid login attempts. pbData == DWORD */
781#define UP_BLOCK_USR (0x00000040) /* Block user. == szUserName */
782#define UP_UNBLOCK_USR (0x00000080) /* Unblock user. == szUserName */
783#define UP_USR_PASSWORD (0x00000100) /* Re-define user password. == USER_INFO */
784#define UP_USR_PA_STATE (0x00000200) /* Partition autorization state. == USER_PA_INFO */
785#define UP_USR_OBJ_COUNT (0x00000400) /* User persisting object count. == DN_USER_OBJ_COUNT */
786
787/* FindUser */
788
789/* dwFindType */
790#define FU_USER_ID (0x00000001) /* User ID pvFindParam == szUserId */
791#define FU_USER_NAME (0x00000002) /* User ID pvFindParam == szUserName */
792#define FU_AUTH_MASK (0x00000004) /* Authorization mask. pvFindParam == dwAuthMask */
793#define FU_ACCESS_TYPE (0x00000008) /* Access type. pvFindParam == dwAccessType */
794#define FU_ROOT_ID (0x00000010) /* Root certificate issuer. pvFindParam == szRootCN */
795
796/* dwFlags */
797#define PARTIAL_VALUE (0x00000080) /* pvFindParam contains part of the search value. */
798
799/* DGetHsmInfo */
800
801#define HI_BATTERY_LIFE (0x00000001) /* Battery remaining life time. pbData == tLife (time_t) */
802#define HI_PERFOMANCE_COUNT (0x00000002) /* Use percentage: CPU, Memory e disk. pbData == * PERFOMANCE_COUNT */
803#define HI_MODULE_INFO (0x00000004) /* Existing modules. pbData == * MODULE_INFO */
804#define HI_HSM_INFO (0x00000008) /* HSM's model and version. pbData == szHsmInfo */
805#define HI_OPERATIONS_COUNT (0x00000010) /* Operation counter. pbData == * OPERATIONS_INFO */
806#define HI_SYS_HEALTH (0x00000020) /* Elapsed time since last update and battery check. pbData == * SYS_HEALTH */
807#define HI_FIPS_MODE (0x00000040) /* Recover HSM's operation mode. pbData == *DWORD */
808#define HI_DISK_INFO (0x00000080) /* Recover HSM's disk usage information. pbData == *SYS_DISK_INFO */
809#define HI_REPL_INFO (0x00000100) /* Recover HSM's replication information. pbData == *SYS_REPL_INFO */
810#define HI_CURRENT_DATE (0x00000200) /* Recover HSM's date and time. pbData == *QWORD */
811#define HI_HW_STR (0x00000400) /* Recover HSM's date and time. pbData == *SYS_HW_STR_INFO */
812#define HI_NTP_INFO (0x00000800) /* Recover HSM's date and time. pbData == *SYS_NTP_INFO */
813#define HI_STATS_INFO (0x00001000) /* Recover HSM's statistics info. pbData == *SYS_STATUS_INFO */
814#define HI_COUNTER_INFO (0x00002000) /* Recover HSM's counter info. pbData == *SYS_COUNTER_INFO */
815#define HI_FIPS_RCODE_INFO (0x00004000) /* Recover HSM's Restrict Modes auto-test return code. pbData == *DWORD */
816#define HI_PENDING_INFO (0x00008000) /* Recover HSM's pending info. pbData == *SYS_PENDING_INFO */
817#define HI_ALL_INFO (0x00010000) /* Recover HSM's ALL info. pbData == *SYS_ALL_INFO */
818
819
820#define INVALID_OBJ_TYPE (0)
821
822#define MSGSH_NO_INFO (0xFFFFFFFF)
823
824
825#define GET_INFO_MAX_REPL_DOMAIN_NAME (1024)
826#define GET_INFO_MAX_REPL_NODES (255)
827#define GET_INFO_MAX_SN_LEN (255)
828#define GET_INFO_MAX_HW_STR_LEN (255)
829#define GET_INFO_MAX_TPKEY_LEN (16)
830#define GET_INFO_MAX_NTP_SVRS (16)
831#define GET_INFO_MAX_NTPQ_LEN (256)
832#define GET_INFO_MAX_NTP_KT_LEN (16)
833#define GET_INFO_MAX_NTP_KM_LEN (64)
834
835
836//Replication states returned by SYS_REPL_INFO structure.
837#define REPL_STATE_TWOPC_VIRTUAL (1)
838#define REPL_STATE_TWOPC_PREPARED (2)
839#define REPL_STATE_TWOPC_COMMITTED (3)
840#define REPL_STATE_TWOPC_COMMITTED_TM (4)
841
842//Replication events returned by SYS_REPL_INFO structure.
843#define REPL_EVENT_ET_NULL (1)
844#define REPL_EVENT_ET_CREATE_USR (2)
845#define REPL_EVENT_ET_DELETE_USR (3)
846#define REPL_EVENT_ET_CREATE_OBJ (4)
847#define REPL_EVENT_ET_DELETE_OBJ (5)
848#define REPL_EVENT_ET_DELETE_USR_OTP_AUTH_INFO (6)
849#define REPL_EVENT_ET_WRITE_USR_OTP_AUTH_INFO (7)
850#define REPL_EVENT_ET_UPDATE_USR_OTP_AUTH_INFO (8)
851#define REPL_EVENT_ET_CHANGE_USR_PWD (9)
852#define REPL_EVENT_ET_SET_USR_LOCK_COUNT (10)
853#define REPL_EVENT_ET_SET_GLOBAL_SEC_POLICY (11)
854#define REPL_EVENT_ET_SET_SYS_DATE_TIME (12)
855#define REPL_EVENT_ET_UPDATE_ACL (13)
856#define REPL_EVENT_ET_BLOCK_OBJ (14)
857#define REPL_EVENT_ET_UPDATE_OBJ (15)
858#define REPL_EVENT_ET_SET_USR_NS_AUTH_COOKIE (16)
859#define REPL_EVENT_ET_SET_USR_OTP_MOV_FACTOR (17)
860
861/* DListUserTrusts */
862
863#define OP_LST_USR_TRUSTERS (0x01) /* List users that permits the current logged user to access it's partition. */
864#define OP_LST_USR_TRUSTEES (0x02) /* List users that have permission to access the current logged user's partition. */
865
866
867/* DAssignToken/DUnassignToken */
868
869#define AT_GO3_TOKEN (1) /* DEPRECATED! */
870#define AT_OATH_TOKEN (2) /* Assign a OATH EVENT OTP token */
871#define AT_OATH_TOKEN_TOTP (3) /* Assign a OATH TIME OTP token */
872
873//
874// mod_OATH's NEW_SA; use with structure OATH_SA_v1.
875//
876#define MAX_OATH_HMAC_LEN (128) // up to hmac-sha512, in bytes
877
878#define OATH_SA_v1_type_SHA1 (0x01)
879#define OATH_SA_v1_HOTP_DYN_TRUNC_OFF (16)
880#define OATH_SA_v2_default_TIME_STEP (30)
881#define OATH_SA_v2_default_T0_Epoch (0)
882
883
884/* DOATHResync */
885
886#define OATH_MIN_HOTP_LEN (6 + 1) //plus 1 for the null terminator
887#define OATH_MAX_HOTP_LEN (16 + 1) //plus 1 for the null terminator
888
889/* DOATHGetBlobInfo */
890
891#define OATH_ISSUE_OATH_BLOB_t (1)
892#define OATH_ISSUE_OATH_INFO_t (2)
893
894
895/* DEncrypt/DDecrypt */
896
897#define D_NO_RSA_PADDING (3)
898#define D_FORCE_ACTUAL_RSA (4)
899
900
901/* DPKCS7Sign - Sign using PKCS#7 */
902
903#define TAC_MOD_CORE_P7_TEXT 0x0001
904#define TAC_MOD_CORE_P7_NOCERTS 0x0002
905#define TAC_MOD_CORE_P7_NOSIGS 0x0004
906#define TAC_MOD_CORE_P7_NOCHAIN 0x0008
907#define TAC_MOD_CORE_P7_NOINTERN 0x0010
908#define TAC_MOD_CORE_P7_NOVERIFY 0x0020
909#define TAC_MOD_CORE_P7_DETACHED 0x0040
910#define TAC_MOD_CORE_P7_BINARY 0x0080
911#define TAC_MOD_CORE_P7_NOATTR 0x0100
912#define TAC_MOD_CORE_P7_NOSMIMECAP 0x0200
913#define TAC_MOD_CORE_P7_NOOLDMIMETYPE 0x0400
914#define TAC_MOD_CORE_P7_CRLFEOL 0x0800
915#define TAC_MOD_CORE_P7_NOCRL 0x2000
916
917#define TAC_MOD_CORE_P7_COSIGN 0x80000000
918
919
920
921/* HASH algorithms */
922
923#define ALG_MD5 (1)
924#define ALG_SHA1 (2)
925#define ALG_SSL_SHA1_MD5 (3)
926#define ALG_SHA2_256 (4)
927#define ALG_SHA2_384 (5)
928#define ALG_SHA2_512 (6)
929#define ALG_SHA2_224 (7)
930#define ALG_SHA3_224 (8)
931#define ALG_SHA3_256 (9)
932#define ALG_SHA3_384 (10)
933#define ALG_SHA3_512 (11)
934
935#define ALG_IDENTITY_FUNC (255)
936
937/*
938 DSignXML/DSignXML2/DPIXSign hash mode options.
939*/
940#define ALG_MD5_InclC14N (1)
941#define ALG_SHA1_InclC14N (2)
942#define ALG_SHA256_InclC14N (3)
943#define ALG_SHA384_InclC14N (4)
944#define ALG_SHA512_InclC14N (5)
945#define ALG_SHA224_InclC14N (6)
946#define ALG_MD5_ExclC14N (31)
947#define ALG_SHA1_ExclC14N (32)
948#define ALG_MD5_InclC14NWithComments (33)
949#define ALG_SHA1_InclC14NWithComments (34)
950#define ALG_MD5_ExclC14NWithComments (35)
951#define ALG_SHA1_ExclC14NWithComments (36)
952#define ALG_SHA256_ExclC14N (37)
953#define ALG_SHA256_InclC14NWithComments (38)
954#define ALG_SHA256_ExclC14NWithComments (39)
955#define ALG_SHA384_ExclC14N (40)
956#define ALG_SHA384_InclC14NWithComments (41)
957#define ALG_SHA384_ExclC14NWithComments (42)
958#define ALG_SHA512_ExclC14N (43)
959#define ALG_SHA512_InclC14NWithComments (44)
960#define ALG_SHA512_ExclC14NWithComments (45)
961#define ALG_SHA224_ExclC14N (46)
962#define ALG_SHA224_InclC14NWithComments (47)
963#define ALG_SHA224_ExclC14NWithComments (48)
964
965/*
966 DSignXML2 flags
967*/
968
969
970#define XML_SIGN_FLAGS_FQN (1 << 31)
971#define XML_SIGN_FLAGS_NOL (1 << 30)
972#define XML_SIGN_FLAGS_NO_RNS (1 << 29)
973
974
975/*
976 DSignXML/DSignXML2 filter options
977*/
978
979#define XML_FILTER_NULL_URI "''"
980
981/*
982 DPIXSign flags
983*/
984
985#define PIX_SIGN_RNS (1)
986
987/* DPIXPost/DPIXGet/DPIXDelete */
988
989#define PIX_VERIFY_HOST_NAME (0x00000001)
990#define PIX_BASIC_HTTP_HEADER (0x00000002)
991#define PIX_GZIP (0x00000004)
992
993/*
994 DPIXJWSSign
995*/
996
997#define PIX_JWS_GEN_MAX_LEN (8*1024)
998
999#define MD5_LEN (16)
1000#define SHA1_LEN (20)
1001#define SSL_SHA1_MD5_LEN (36)
1002#define SHA2_224_LEN (28)
1003#define SHA2_256_LEN (32)
1004#define SHA2_384_LEN (48)
1005#define SHA2_512_LEN (64)
1006#define CMAC_3DES_LEN (8)
1007#define CMAC_AES_LEN (16)
1008#define SHA3_224_LEN (28)
1009#define SHA3_256_LEN (32)
1010#define SHA3_384_LEN (48)
1011#define SHA3_512_LEN (64)
1012
1013#define MAX_HASH_LEN (64)//SHA2_512_LEN
1014
1015/* Digital signature */
1016
1017#define NO_HASH_OID (1)
1018#define MD5_HASH_OID (2)
1019#define SHA_HASH_OID (3)
1020#define SHA256_HASH_OID (4)
1021#define SHA384_HASH_OID (5)
1022#define SHA512_HASH_OID (6)
1023#define SHA224_HASH_OID (7)
1024
1025#define MD5_HASH_OID_LEN (18)
1026#define SHA_HASH_OID_LEN (15)
1027#define SHA224_HASH_OID_LEN (19)
1028#define SHA256_HASH_OID_LEN (19)
1029#define SHA384_HASH_OID_LEN (19)
1030#define SHA512_HASH_OID_LEN (19)
1031
1032#define MAX_OID_LEN (SHA512_HASH_OID_LEN)
1033
1034/* DSignHash flags */
1035
1036#define DN_SIGN_NO_HASH_OID (0x01)
1037#define DN_SIGN_DISABLE_LEGACY_OPERATION (0x02)
1038#define DN_SIGN_ECC_P11_FMT (0x04)
1039
1040/* DVerifySignature flags */
1041
1042#define DN_VERIFY_NO_HASH_OID (0x01)
1043#define DN_VERIFY_ECC_P11_FMT (0x02)
1044#define DN_VERIFY_LOCAL (0x04)
1046#define DN_SIG_EDDSA_MAX_DATA_LEN (4 * 1024 * 1024)
1047#define DN_MAX_EDDSA_SIG_LEN (256)
1048#define DN_MAX_SLH_DSA_SIG_LEN (49856)
1049#define DN_MAX_ML_DSA_SIG_LEN (4627)
1051#define DN_MAX_PQC_SIG_LEN (DN_MAX_SLH_DSA_SIG_LEN)
1053/* PQC */
1054
1055#define DN_MAX_PQC_DSA_CTX_LEN (255)
1056#define DN_MAX_PQC_DSA_DATA_LEN (4 * 1024 * 1024)
1058/* PQC signature sizes */
1059
1060#define DN_ML_DSA_44_SIG_LEN (2420)
1061#define DN_ML_DSA_65_SIG_LEN (3309)
1062#define DN_ML_DSA_87_SIG_LEN (4627)
1064#define DN_SLH_DSA_128S_SIG_LEN (7856)
1065#define DN_SLH_DSA_128F_SIG_LEN (17088)
1066#define DN_SLH_DSA_192S_SIG_LEN (16224)
1067#define DN_SLH_DSA_192F_SIG_LEN (35664)
1068#define DN_SLH_DSA_256S_SIG_LEN (29792)
1069#define DN_SLH_DSA_256F_SIG_LEN (49856)
1071// Do not change this line! It is used by script to generate documentation.
1072// ----> Init object algorithms list
1073
1074/* Symmetric algorithms */
1075
1076#define ALG_DES (1)
1077#define ALG_3DES_112 (2) /* EDE */
1078#define ALG_3DES_168 (3) /* EDE */
1079#define ALG_DESX (91)
1080
1081#define ALG_AES_128 (7)
1082#define ALG_AES_192 (8)
1083#define ALG_AES_256 (9)
1084
1085#define ALG_ARC4 (10)
1086#define ALG_ARC5 (89)
1087
1088/* Asymmetric algorithms */
1089
1090#define ALG_RSA_512 (4)
1091#define ALG_RSA_1024 (5)
1092#define ALG_RSA_2048 (6)
1093#define ALG_RSA_4096 (11)
1094#define ALG_RSA_1152 (121)
1095#define ALG_RSA_1408 (122)
1096#define ALG_RSA_1536 (131)
1097#define ALG_RSA_1976 (130)
1098#define ALG_RSA_1984 (123)
1099#define ALG_RSA_8192 (124)
1100#define ALG_RSA_2304 (126)
1101#define ALG_RSA_2560 (127)
1102#define ALG_RSA_2816 (128)
1103#define ALG_RSA_3072 (129)
1104
1105#define ALG_DSA_2048 (150)
1106#define ALG_DSA_3072 (151)
1107
1108#define ALG_DH_RFC5114_2048 (152)
1109#define ALG_DH_RFC7919_2048 (153)
1110#define ALG_DH_RFC7919_3072 (154)
1111
1112#define ALG_OBJ_CSP (193)
1114#define ALG_ECX_ED25519 (201)
1115#define ALG_ECX_ED448 (202)
1116#define ALG_ECX_X25519 (203)
1117#define ALG_ECX_X448 (204)
1118
1119#define ALG_ECC_SECP112R1 (18) // SECG/WTLS curve over a 112 bit prime field
1120#define ALG_ECC_SECP112R2 (19) // SECG curve over a 112 bit prime field
1121#define ALG_ECC_SECP128R1 (20) // SECG curve over a 128 bit prime field
1122#define ALG_ECC_SECP128R2 (21) // SECG curve over a 128 bit prime field
1123#define ALG_ECC_SECP160K1 (22) // SECG curve over a 160 bit prime field
1124#define ALG_ECC_SECP160R1 (23) // SECG curve over a 160 bit prime field
1125#define ALG_ECC_SECP160R2 (24) // SECG/WTLS curve over a 160 bit prime field
1126#define ALG_ECC_SECP192K1 (25) // SECG curve over a 192 bit prime field
1127#define ALG_ECC_SECP192R1 (26) // NIST/X9.62/SECG curve over a 192 bit prime field
1128#define ALG_ECC_SECP224K1 (27) // SECG curve over a 224 bit prime field
1129#define ALG_ECC_SECP224R1 (28) // NIST/SECG curve over a 224 bit prime field
1130#define ALG_ECC_SECP256K1 (29) // SECG curve over a 256 bit prime field
1131#define ALG_ECC_SECP256R1 (30) // X9.62/SECG curve over a 256 bit prime field
1132#define ALG_ECC_SECP384R1 (31) // NIST/SECG curve over a 384 bit prime field
1133#define ALG_ECC_SECP521R1 (32) // NIST/SECG curve over a 521 bit prime field
1134#define ALG_ECC_X9_62_PRIME192V1 (ALG_ECC_SECP192R1)
1135#define ALG_ECC_X9_62_PRIME192V2 (33) // X9.62 curve over a 192 bit prime field
1136#define ALG_ECC_X9_62_PRIME192V3 (34) // X9.62 curve over a 192 bit prime field
1137#define ALG_ECC_X9_62_PRIME239V1 (35) // X9.62 curve over a 239 bit prime field
1138#define ALG_ECC_X9_62_PRIME239V2 (36) // X9.62 curve over a 239 bit prime field
1139#define ALG_ECC_X9_62_PRIME239V3 (37) // X9.62 curve over a 239 bit prime field
1140#define ALG_ECC_X9_62_PRIME256V1 (ALG_ECC_SECP256R1)
1141
1142#define ALG_ECC_BRAINPOOL_P160R1 (38) // RFC 5639 standard curves
1143#define ALG_ECC_BRAINPOOL_P160T1 (39)
1144#define ALG_ECC_BRAINPOOL_P192R1 (40)
1145#define ALG_ECC_BRAINPOOL_P192T1 (41)
1146#define ALG_ECC_BRAINPOOL_P224R1 (42)
1147#define ALG_ECC_BRAINPOOL_P224T1 (43)
1148#define ALG_ECC_BRAINPOOL_P256R1 (44)
1149#define ALG_ECC_BRAINPOOL_P256T1 (45)
1150#define ALG_ECC_BRAINPOOL_P320R1 (46)
1151#define ALG_ECC_BRAINPOOL_P320T1 (47)
1152#define ALG_ECC_BRAINPOOL_P384R1 (48)
1153#define ALG_ECC_BRAINPOOL_P384T1 (49)
1154#define ALG_ECC_BRAINPOOL_P512R1 (50)
1155#define ALG_ECC_BRAINPOOL_P512T1 (51)
1156
1157/* ECC bchain */
1158#define ALG_BLKC_BTC_MINI_KEY (1771)
1159#define ALG_BLKC_BIP32_SXPRIV (1772)
1160#define ALG_BLKC_BIP39_SXPRIV (1773)
1161#define ALG_BLKC_BIP32_XPRIV (1774)
1162#define ALG_BLKC_BIP32_ED25519_XPRIV (1775)
1163#define ALG_BLKC_BIP32_P256_XPRIV (1776)
1164
1165
1166#define ALG_ALT_BN128 (2771)
1167
1168/* PQC */
1169#define ALG_ML_DSA_44 (500)
1170#define ALG_ML_DSA_65 (501)
1171#define ALG_ML_DSA_87 (502)
1172
1173#define ALG_ML_KEM_512 (503)
1174#define ALG_ML_KEM_768 (504)
1175#define ALG_ML_KEM_1024 (505)
1176
1177#define ALG_SLH_DSA_SHA2_128S (506)
1178#define ALG_SLH_DSA_SHAKE_128S (507)
1179#define ALG_SLH_DSA_SHA2_128F (508)
1180#define ALG_SLH_DSA_SHAKE_128F (509)
1181#define ALG_SLH_DSA_SHA2_192S (510)
1182#define ALG_SLH_DSA_SHAKE_192S (511)
1183#define ALG_SLH_DSA_SHA2_192F (512)
1184#define ALG_SLH_DSA_SHAKE_192F (513)
1185#define ALG_SLH_DSA_SHA2_256S (514)
1186#define ALG_SLH_DSA_SHAKE_256S (515)
1187#define ALG_SLH_DSA_SHA2_256F (516)
1188#define ALG_SLH_DSA_SHAKE_256F (517)
1189
1190/* blobs */
1191#define ALG_OBJ_BLOB (12)
1192#define ALG_OBJ_BLOB_X509 (13)
1193#define ALG_OBJ_BLOB_PKCS7 (14)
1194#define ALG_OBJ_BLOB_CRL (15)
1195#define ALG_OBJ_BLOB_HOTP (16)
1196#define ALG_OBJ_BLOB_DPGO3 (17) /* TAC-PASS (Vasco Digipass GO3 Compatible) */
1197#define ALG_OBJ_MAP (90)
1198#define ALG_OBJ_EXT_MAP_2_OBJ (125)
1199
1200
1201/* Public key objects */
1202
1203#define ALG_OBJ_PUBKEY_BLOB (350)
1204#define ALG_OBJ_PUBKEY_RSA_BLOB (351) // pkcs1/oem
1205#define ALG_OBJ_PUBKEY_ECC_BLOB (352) // SubjectPublicKeyInfo
1206#define ALG_OBJ_PUBKEY_SPKI_RSA_BLOB (353) // SubjectPublicKeyInfo
1207#define ALG_OBJ_PUBKEY_ECC_Ed_BLOB (354) // SubjectPublicKeyInfo
1208#define ALG_OBJ_PUBKEY_ECC_X_BLOB (355) // SubjectPublicKeyInfo
1209#define ALG_OBJ_PUBKEY_DSA_BLOB (356) // SubjectPublicKeyInfo
1210#define ALG_OBJ_PUBKEY_DH_BLOB (357) // SubjectPublicKeyInfo
1211#define ALG_OBJ_PUBKEY_ML_DSA_BLOB (358) // SubjectPublicKeyInfo
1212#define ALG_OBJ_PUBKEY_ML_KEM_BLOB (359) // SubjectPublicKeyInfo
1213#define ALG_OBJ_PUBKEY_SLH_DSA_BLOB (360) // SubjectPublicKeyInfo
1214
1215/* HMAC objects */
1216
1217#define ALG_HMAC_MD5 (92)
1218#define ALG_HMAC_SHA1 (93)
1219#define ALG_HMAC_SHA2_256 (94)
1220#define ALG_HMAC_SHA2_384 (95)
1221#define ALG_HMAC_SHA2_512 (96)
1222#define ALG_HMAC_SHA2_224 (97)
1223#define ALG_HMAC_SHA3_224 (98)
1224#define ALG_HMAC_SHA3_256 (99)
1225#define ALG_HMAC_SHA3_384 (100)
1226#define ALG_HMAC_SHA3_512 (101)
1227
1228/* HMAC key length limits for variable-length import via PLAINTEXTKEY_BLOB */
1229
1230#define DN_HMAC_IMPORT_MIN_KEY_LEN (8)
1231#define DN_HMAC_IMPORT_MAX_KEY_LEN (256)
1233/* CMAC algorithms - DCreateHash Only */
1234
1235#define ALG_CMAC_AES (250)
1236#define ALG_CMAC_DES (251)
1237
1238
1239/* PKCS11 objects */
1240
1241#define ALG_PKCS11_MAP (120) // pkcs11 shell obj
1242
1243/* Public keys -> most significant bit of the DWORD must be set. */
1244
1245#define ALG_RSA_512_PUB (ALG_RSA_512 | 1 << 31)
1246#define ALG_RSA_1024_PUB (ALG_RSA_1024 | 1 << 31)
1247#define ALG_RSA_2048_PUB (ALG_RSA_2048 | 1 << 31)
1248#define ALG_RSA_4096_PUB (ALG_RSA_4096 | 1 << 31)
1249#define ALG_RSA_1152_PUB (ALG_RSA_1152 | 1 << 31)
1250#define ALG_RSA_1408_PUB (ALG_RSA_1408 | 1 << 31)
1251#define ALG_RSA_1536_PUB (ALG_RSA_1536 | 1 << 31)
1252#define ALG_RSA_1976_PUB (ALG_RSA_1976 | 1 << 31)
1253#define ALG_RSA_1984_PUB (ALG_RSA_1984 | 1 << 31)
1254#define ALG_RSA_8192_PUB (ALG_RSA_8192 | 1 << 31)
1255#define ALG_RSA_2304_PUB (ALG_RSA_2304 | 1 << 31)
1256#define ALG_RSA_2560_PUB (ALG_RSA_2560 | 1 << 31)
1257#define ALG_RSA_2816_PUB (ALG_RSA_2816 | 1 << 31)
1258#define ALG_RSA_3072_PUB (ALG_RSA_3072 | 1 << 31)
1259
1260#define ALG_DSA_2048_PUB (ALG_DSA_2048 | 1 << 31)
1261#define ALG_DSA_3072_PUB (ALG_DSA_3072 | 1 << 31)
1262
1263#define ALG_DH_RFC5114_2048_PUB (ALG_DH_RFC5114_2048 | 1 << 31)
1264#define ALG_DH_RFC7919_2048_PUB (ALG_DH_RFC7919_2048 | 1 << 31)
1265#define ALG_DH_RFC7919_3072_PUB (ALG_DH_RFC7919_3072 | 1 << 31)
1266
1267#define ALG_ECX_ED25519_PUB (ALG_ECX_ED25519 | 1 << 31)
1268#define ALG_ECX_ED448_PUB (ALG_ECX_ED448 | 1 << 31)
1269#define ALG_ECX_X25519_PUB (ALG_ECX_X25519 | 1 << 31)
1270#define ALG_ECX_X448_PUB (ALG_ECX_X448 | 1 << 31)
1271
1272#define ALG_ECC_SECP112R1_PUB (ALG_ECC_SECP112R1 | (1 << 31))
1273#define ALG_ECC_SECP112R2_PUB (ALG_ECC_SECP112R2 | (1 << 31))
1274#define ALG_ECC_SECP128R1_PUB (ALG_ECC_SECP128R1 | (1 << 31))
1275#define ALG_ECC_SECP128R2_PUB (ALG_ECC_SECP128R2 | (1 << 31))
1276#define ALG_ECC_SECP160K1_PUB (ALG_ECC_SECP160K1 | (1 << 31))
1277#define ALG_ECC_SECP160R1_PUB (ALG_ECC_SECP160R1 | (1 << 31))
1278#define ALG_ECC_SECP160R2_PUB (ALG_ECC_SECP160R2 | (1 << 31))
1279#define ALG_ECC_SECP192K1_PUB (ALG_ECC_SECP192K1 | (1 << 31))
1280#define ALG_ECC_SECP192R1_PUB (ALG_ECC_SECP192R1 | (1 << 31))
1281#define ALG_ECC_SECP224K1_PUB (ALG_ECC_SECP224K1 | (1 << 31))
1282#define ALG_ECC_SECP224R1_PUB (ALG_ECC_SECP224R1 | (1 << 31))
1283#define ALG_ECC_SECP256K1_PUB (ALG_ECC_SECP256K1 | (1 << 31))
1284#define ALG_ECC_SECP256R1_PUB (ALG_ECC_SECP256R1 | (1 << 31))
1285#define ALG_ECC_SECP384R1_PUB (ALG_ECC_SECP384R1 | (1 << 31))
1286#define ALG_ECC_SECP521R1_PUB (ALG_ECC_SECP521R1 | (1 << 31))
1287#define ALG_ECC_X9_62_PRIME192V1_PUB (ALG_ECC_SECP192R1_PUB)
1288#define ALG_ECC_X9_62_PRIME192V2_PUB (ALG_ECC_X9_62_PRIME192V2 | (1 << 31))
1289#define ALG_ECC_X9_62_PRIME192V3_PUB (ALG_ECC_X9_62_PRIME192V3 | (1 << 31))
1290#define ALG_ECC_X9_62_PRIME239V1_PUB (ALG_ECC_X9_62_PRIME239V1 | (1 << 31))
1291#define ALG_ECC_X9_62_PRIME239V2_PUB (ALG_ECC_X9_62_PRIME239V2 | (1 << 31))
1292#define ALG_ECC_X9_62_PRIME239V3_PUB (ALG_ECC_X9_62_PRIME239V3 | (1 << 31))
1293#define ALG_ECC_X9_62_PRIME256V1_PUB (ALG_ECC_SECP256R1_PUB)
1294
1295#define ALG_ECC_BRAINPOOL_P160R1_PUB (ALG_ECC_BRAINPOOL_P160R1 | (1 << 31))
1296#define ALG_ECC_BRAINPOOL_P160T1_PUB (ALG_ECC_BRAINPOOL_P160T1 | (1 << 31))
1297#define ALG_ECC_BRAINPOOL_P192R1_PUB (ALG_ECC_BRAINPOOL_P192R1 | (1 << 31))
1298#define ALG_ECC_BRAINPOOL_P192T1_PUB (ALG_ECC_BRAINPOOL_P192T1 | (1 << 31))
1299#define ALG_ECC_BRAINPOOL_P224R1_PUB (ALG_ECC_BRAINPOOL_P224R1 | (1 << 31))
1300#define ALG_ECC_BRAINPOOL_P224T1_PUB (ALG_ECC_BRAINPOOL_P224T1 | (1 << 31))
1301#define ALG_ECC_BRAINPOOL_P256R1_PUB (ALG_ECC_BRAINPOOL_P256R1 | (1 << 31))
1302#define ALG_ECC_BRAINPOOL_P256T1_PUB (ALG_ECC_BRAINPOOL_P256T1 | (1 << 31))
1303#define ALG_ECC_BRAINPOOL_P320R1_PUB (ALG_ECC_BRAINPOOL_P320R1 | (1 << 31))
1304#define ALG_ECC_BRAINPOOL_P320T1_PUB (ALG_ECC_BRAINPOOL_P320T1 | (1 << 31))
1305#define ALG_ECC_BRAINPOOL_P384R1_PUB (ALG_ECC_BRAINPOOL_P384R1 | (1 << 31))
1306#define ALG_ECC_BRAINPOOL_P384T1_PUB (ALG_ECC_BRAINPOOL_P384T1 | (1 << 31))
1307#define ALG_ECC_BRAINPOOL_P512R1_PUB (ALG_ECC_BRAINPOOL_P512R1 | (1 << 31))
1308#define ALG_ECC_BRAINPOOL_P512T1_PUB (ALG_ECC_BRAINPOOL_P512T1 | (1 << 31))
1309
1310#define ALG_ML_DSA_44_PUB (ALG_ML_DSA_44 | (1 << 31))
1311#define ALG_ML_DSA_65_PUB (ALG_ML_DSA_65 | (1 << 31))
1312#define ALG_ML_DSA_87_PUB (ALG_ML_DSA_87 | (1 << 31))
1313
1314#define ALG_ML_KEM_512_PUB (ALG_ML_KEM_512 | (1 << 31))
1315#define ALG_ML_KEM_768_PUB (ALG_ML_KEM_768 | (1 << 31))
1316#define ALG_ML_KEM_1024_PUB (ALG_ML_KEM_1024 | (1 << 31))
1317
1318#define ALG_SLH_DSA_SHA2_128S_PUB (ALG_SLH_DSA_SHA2_128S | (1 << 31))
1319#define ALG_SLH_DSA_SHAKE_128S_PUB (ALG_SLH_DSA_SHAKE_128S | (1 << 31))
1320#define ALG_SLH_DSA_SHA2_128F_PUB (ALG_SLH_DSA_SHA2_128F | (1 << 31))
1321#define ALG_SLH_DSA_SHAKE_128F_PUB (ALG_SLH_DSA_SHAKE_128F | (1 << 31))
1322#define ALG_SLH_DSA_SHA2_192S_PUB (ALG_SLH_DSA_SHA2_192S | (1 << 31))
1323#define ALG_SLH_DSA_SHAKE_192S_PUB (ALG_SLH_DSA_SHAKE_192S | (1 << 31))
1324#define ALG_SLH_DSA_SHA2_192F_PUB (ALG_SLH_DSA_SHA2_192F | (1 << 31))
1325#define ALG_SLH_DSA_SHAKE_192F_PUB (ALG_SLH_DSA_SHAKE_192F | (1 << 31))
1326#define ALG_SLH_DSA_SHA2_256S_PUB (ALG_SLH_DSA_SHA2_256S | (1 << 31))
1327#define ALG_SLH_DSA_SHAKE_256S_PUB (ALG_SLH_DSA_SHAKE_256S | (1 << 31))
1328#define ALG_SLH_DSA_SHA2_256F_PUB (ALG_SLH_DSA_SHA2_256F | (1 << 31))
1329#define ALG_SLH_DSA_SHAKE_256F_PUB (ALG_SLH_DSA_SHAKE_256F | (1 << 31))
1330
1331/* Binary objects */
1332
1333#define ALG_OBJ_INVALID_TYPE (0)
1334#define ALG_OBJ_NULL (ALG_OBJ_INVALID_TYPE)
1335#define ALG_OBJ (12)
1336
1337// Do not change this line! It is used by script to generate documentation.
1338// <---- End object algorithms list
1339
1340
1341/* Symmetric key sizes (bytes) */
1342
1343#define ALG_DES_LEN (8)
1344#define ALG_DES3_112_LEN (16)
1345#define ALG_DES3_168_LEN (24)
1346
1347//Deprecated
1348#define DES_LEN (ALG_DES_LEN)
1349#define DES3_112_LEN (ALG_DES3_112_LEN)
1350#define DES3_168_LEN (ALG_DES3_168_LEN)
1351
1352#define ALG_DESX_LEN (24)
1353
1354#define ALG_AES_128_LEN (16)
1355#define ALG_AES_192_LEN (24)
1356#define ALG_AES_256_LEN (32)
1357
1358#define ALG_ARC4_LEN (16)
1359#define ALG_ARC5_LEN (16)
1360
1361/* Block sizes */
1362
1363#define DES_BLOCK (8)
1364#define DES3_BLOCK (8)
1365#define DESX_BLOCK (8)
1366#define AES_BLOCK (16)
1367#define AES_128_BLOCK (16)
1368#define AES_192_BLOCK (16)
1369#define AES_256_BLOCK (16)
1370#define ARC5_BLOCK (8)
1371
1372#define DN_GCM_MODE_TAG_LEN (16)
1373
1374/* Operation modes */
1375
1376#define MODE_DEFAULT (0xFFFFFFFF)
1377#define MODE_NONE (0)
1378#define MODE_ECB (1 << 0)
1379#define MODE_CBC (1 << 1)
1380#define MODE_KWP (1 << 2)
1381#define MODE_OFB (1 << 3)
1382#define MODE_CTR (1 << 4)
1383#define MODE_GCM (1 << 5)
1384#define MODE_KW (1 << 6)
1386/* Operation directions */
1387
1388#define D_ENCRYPT (0 << 7)
1389#define D_DECRYPT (1 << 7)
1390
1391/* RSA module sizes */
1392#define RSA_512_LEN (64)
1393#define RSA_1024_LEN (128)
1394#define RSA_2048_LEN (256)
1395#define RSA_4096_LEN (512)
1396#define RSA_1152_LEN (144)
1397#define RSA_1408_LEN (176)
1398#define RSA_1536_LEN (192)
1399#define RSA_1976_LEN (247)
1400#define RSA_1984_LEN (248)
1401#define RSA_8192_LEN (1024)
1402#define RSA_2304_LEN (288)
1403#define RSA_2560_LEN (320)
1404#define RSA_2816_LEN (352)
1405#define RSA_3072_LEN (384)
1406
1407#define RSA_512_PUB_LEN (RSA_512_LEN * 2)
1408#define RSA_1024_PUB_LEN (RSA_1024_LEN * 2)
1409#define RSA_2048_PUB_LEN (RSA_2048_LEN * 2)
1410#define RSA_4096_PUB_LEN (RSA_4096_LEN * 2)
1411#define RSA_1152_PUB_LEN (RSA_1152_LEN * 2)
1412#define RSA_1408_PUB_LEN (RSA_1408_LEN * 2)
1413#define RSA_1536_PUB_LEN (RSA_1536_LEN * 2)
1414#define RSA_1976_PUB_LEN (RSA_1976_LEN * 2)
1415#define RSA_1984_PUB_LEN (RSA_1984_LEN * 2)
1416#define RSA_8192_PUB_LEN (RSA_8192_LEN * 2)
1417#define RSA_2304_PUB_LEN (RSA_2304_LEN * 2)
1418#define RSA_2560_PUB_LEN (RSA_2560_LEN * 2)
1419#define RSA_2816_PUB_LEN (RSA_2816_LEN * 2)
1420#define RSA_3072_PUB_LEN (RSA_3072_LEN * 2)
1421
1422#define MAX_RSA_PUB_LEN RSA_8192_PUB_LEN
1423#define MAX_RSA_LEN RSA_8192_LEN
1424
1425
1426/* ECC key sizes (bits) */
1427#define ECC_SECP112R1_LEN (112)
1428#define ECC_SECP112R2_LEN (112)
1429#define ECC_SECP128R1_LEN (128)
1430#define ECC_SECP128R2_LEN (128)
1431#define ECC_SECP160K1_LEN (160)
1432#define ECC_SECP160R1_LEN (160)
1433#define ECC_SECP160R2_LEN (160)
1434#define ECC_SECP192K1_LEN (192)
1435#define ECC_SECP192R1_LEN (192)
1436#define ECC_SECP224K1_LEN (224)
1437#define ECC_SECP224R1_LEN (224)
1438#define ECC_SECP256K1_LEN (256)
1439#define ECC_SECP256R1_LEN (256)
1440#define ECC_SECP384R1_LEN (384)
1441#define ECC_SECP521R1_LEN (521)
1442#define ECC_X9_62_PRIME192V1_LEN (ECC_SECP192R1_LEN)
1443#define ECC_X9_62_PRIME192V2_LEN (192)
1444#define ECC_X9_62_PRIME192V3_LEN (192)
1445#define ECC_X9_62_PRIME239V1_LEN (239)
1446#define ECC_X9_62_PRIME239V2_LEN (239)
1447#define ECC_X9_62_PRIME239V3_LEN (239)
1448#define ECC_X9_62_PRIME256V1_LEN (ECC_SECP256R1_LEN)
1449
1450#define ECC_BRAINPOOL_P160R1_LEN (160) // RFC 5639 standard curves
1451#define ECC_BRAINPOOL_P160T1_LEN (160)
1452#define ECC_BRAINPOOL_P192R1_LEN (192)
1453#define ECC_BRAINPOOL_P192T1_LEN (192)
1454#define ECC_BRAINPOOL_P224R1_LEN (224)
1455#define ECC_BRAINPOOL_P224T1_LEN (224)
1456#define ECC_BRAINPOOL_P256R1_LEN (256)
1457#define ECC_BRAINPOOL_P256T1_LEN (256)
1458#define ECC_BRAINPOOL_P320R1_LEN (320)
1459#define ECC_BRAINPOOL_P320T1_LEN (320)
1460#define ECC_BRAINPOOL_P384R1_LEN (384)
1461#define ECC_BRAINPOOL_P384T1_LEN (384)
1462#define ECC_BRAINPOOL_P512R1_LEN (512)
1463#define ECC_BRAINPOOL_P512T1_LEN (512)
1464
1465#define ECC_Ed25519_LEN (256)
1466#define ECC_Ed448_LEN (448)
1467#define ECC_X25519_LEN (256)
1468#define ECC_X448_LEN (448)
1469
1470/* Initialization vector sizes */
1471
1472#define DES_IV_LEN (DES_BLOCK)
1473#define AES_IV_LEN (AES_BLOCK)
1474#define AES_GCM_MIN_IV_LEN (12)
1475#define AES_GCM_MAX_IV_LEN (16)
1476#define AES_GCM_DEFAULT_IV_LEN (AES_GCM_MIN_IV_LEN)
1478#define MAX_IV_LEN (64)
1480/* Padding */
1481
1482#define D_DEFAULT_PADDING (0xFFFFFFFF) // Placeholder for default padding
1483#define D_NO_PADDING (0)
1484#define D_PKCS5_PADDING (1)
1485#define D_ZERO_PADDING (2)
1486#define D_OAEP_PADDING (3)
1487#define D_OAEP_SHA1_PADDING (D_OAEP_PADDING)
1488#define D_PKCS1_PADDING (4)
1489#define D_PSS_PADDING (5)
1490#define D_X931_PADDING (6)
1491#define D_PSS_SALT_LEN_MD_PADDING (7)
1492#define D_OAEP_SHA2_256_PADDING (8)
1493
1494
1495/* Key Blobs */
1496
1497#define PRIVATEKEY_BLOB (1)
1498#define PUBLICKEY_BLOB (2)
1499#define SIMPLE_BLOB (3)
1500#define PLAINTEXTKEY_BLOB (4)
1501#define RAW_BLOB (5) //Deprecated
1502#define HOTP_BLOB (6)
1503#define SIMPLE_BLOB_OAEP (7)
1504#define SIMPLE_BLOB_PKCS1 (SIMPLE_BLOB)
1505#define PUBLICKEY_BLOB_X509 (8)
1506#define SYM_WRAPPED_KEY_BLOB (9)
1507#define OPAQUE_BLOB (10)
1508#define PUBLICKEY_BLOB_HSM (11)
1509#define PUBLICKEY_RSA_PARTS_HSM (12)
1510#define PRIVATEKEY_BLOB_P8 (13)
1511#define PRIVATEKEY_BLOB_STRICT (14)
1512#define SYM_WRAPPED_KEY_BLOB_P11 (15)//Importkey only
1513#define WRAPPED_KEY_BLOB (16)
1514#define PRIVATE_RSA_KEY_INFO (17)
1515#define WRAPPED_KEY_BLOB_P8 (18)
1516#define WRAPPED_KEY_KMIP (19)
1517#define PUBLICKEY_BLOB_KMIP (20)
1518
1519
1520
1521/* Pkcs11 Blobs */
1522#define P11_BLOB (1)
1523
1524/* Pkcs11 Update Flags */
1525
1526#define UPDATE_P11_target ( 1 << 0 )
1527#define UPDATE_P11_associate ( 1 << 1 )
1528#define UPDATE_P11_Class ( 1 << 2 )
1529#define UPDATE_P11_App ( 1 << 3 )
1530#define UPDATE_P11_Id ( 1 << 4 )
1531#define UPDATE_P11_Label ( 1 << 5 )
1532#define UPDATE_P11_Trusted ( 1 << 6 )
1533#define UPDATE_P11_WrapWithTrusted ( 1 << 7 )
1534#define UPDATE_P11_Local ( 1 << 8 )
1535#define UPDATE_P11_CertificateCategory ( 1 << 9 )
1536#define UPDATE_P11_JavaMidpSecDomain ( 1 << 10 )
1537#define UPDATE_P11_KeyGenMechanism ( 1 << 11 )
1538
1539/* Key types */
1540
1541/* DGenerateKey DImportKey and related */
1542/* Flags */
1543#define EXPORTABLE_KEY (0x00000001) // Mark the key as exportable.
1544#define NO_CRYPTO (0x00000002) // The key will not be encrypted inside the HSM. Deprecated in newer versions.
1545#define TEMPORARY_KEY (0x00000004) // Mark key as temporary. Key will exist while the session exists. (default in ImportKey).
1546#define PERMANENT_KEY (0x00000008) // The key will be persistent in the HSM. (default in GenerateKey and ImportKeyPart).
1547#define RSA_PUB_EXP3 (0x00000800) // Use exponent 0x03 when generating a RSA key pair
1548#define MOD_SPB_RELATED (0x00001000) // Mark as mod_SPB related object
1549#define TSP_KEY (0x00002000) // TSP keys: don't replicate, export, backup, etc;
1550#define BCHAIN_KEY (0x00004000) // BChain keys: PBKs are handled specially, etc;
1551#define HSM_LOCAL_GEN (0x00008000) // set on HSM generated keys;
1552
1553// Attribute Usage-profile
1554#define AUP_DIG_SIG (0x01000000)
1555#define AUP_DATA_CRYPTO (0x02000000)
1556#define AUP_KeK (0x03000000)
1557#define AUP_MAC (0x04000000)
1558#define AUP_KDF (0x05000000)
1559#define AUP_CRYPTOGRAM (0x06000000)
1560#define AUP_KEY_TRANSLATE (0x07000000)
1561#define AUP_EFT_CVK (0x08000000)
1562#define AUP_EFT_VISA_PVK (0x09000000)
1563#define AUP_EFT_IBM_3624 (0x0a000000)
1564#define AUP_EFT_PEK (0x0b000000)
1565#define AUP_EFT_BDK (0x0c000000)
1566#define AUP_EFT_IPEK (0x0d000000)
1567#define AUP_EMV_IMK (0x0e000000)
1568#define AUP_EMV_IMKDAC (0x0f000000)
1569#define AUP_EMV_IMKENC (0x10000000)
1570#define AUP_EMV_IMKMAC (0x11000000)
1571#define AUP_EMV_KeK (0x12000000)
1572#define AUP_EMV_IMKKDF (0x13000000)
1573#define AUP_EMV_IMKACRYPTO (0x14000000)
1574#define AUP_EFT_KeK (0x15000000)
1575#define AUP_EMV_DIG_SIG (0x16000000)
1576#define AUP_EFT_TR31_KBPK (0x17000000)
1577#define AUP_EFT_TR34_PK (0x18000000)
1578#define AUP_SPB_PK (0x19000000)
1579#define AUP_EFT_X9_24_PART (0x1a000000)
1582#define AUP_RESERVED_MASK (0xFF000000) // Mask of reserved Usage profile bits.
1583
1584/* DRemoveKey */
1585#define REMOVE_FROM_HSM (0x00000020) // Erase a key from the HSM and destroys it's handle.
1586#define REMOVE_FROM_HCM (REMOVE_FROM_HSM) // DEPRECATED. use REMOVE_FROM_HSM
1587
1588/* SetKeyParam/GetKeyParam */
1589
1590#define DKP_ALGID (1)
1591#define DKP_IV (2)
1592#define DKP_PADDING (3)
1593#define DKP_MODE (4)
1594#define DKP_OWNER (5)
1595#define DKP_USER (6)
1596#define DKP_READ_LOCK (7)
1597#define DKP_ENCRYPTED (8)
1598#define DKP_KEYLEN (9)
1599#define DKP_TEMPORARY_KEY (10)
1600#define DKP_MAP_VALUE (11)
1601#define DKP_BLOCKED (12)
1602#define DKP_CERT_X509_INFO (13)
1603#define DKP_SESSION (14)
1604#define DKP_KEY_ID (15)
1605#define DKP_PUB_KEY_EXP (16)
1606#define DKP_SP80057_INFO (17)
1607#define DKP_KEY_INFO (18)
1608#define DKP_BLOCK_SIZE (19)
1609#define DKP_OBJ_ATTRIBUTES (20)
1610#define DKP_OBJ_STATS (21)
1611#define DKP_PQC_SIG_DET (22)
1612#define DKP_PQC_SIG_PH (23)
1613#define DKP_PQC_CTX (24)
1614#define DKP_IV_AUTO_GEN (25)
1616//Flags
1617#define REMOVE_ATTRIBUTE (0x00000040)
1618
1619/* SetHashParam/GetHashParam */
1620
1621#define DHP_ALGID (1) /* Hash algorithm. */
1622#define DHP_HASH_VALUE (2) /* Hash value. */
1623#define DHP_HASH_SIZE (4) /* Hash size (bytes). */
1624#define DHP_RESET (5) /* Reset hash state. */
1625
1626/* HashSessionKey */
1627
1628#define DHS_LITTLE_ENDIAN (1)
1629
1630/* DSetObjParam */
1631#define OP_OBJ_BLOCKED (1) /* User blocked */
1632#define OP_OBJ_UNBLOCKED (2) /* Used unblocked */
1633
1634/* LogParam */
1635
1636#define LP_LOG_PATH (0x00000001) /* Log file full path. */
1637#define LP_LOG_LEVEL (0x00000002) /* Log level. */
1638
1639#define LOG_ERROR_LEVEL (0)
1640#define LOG_DEBUG_LEVEL (3)
1641
1642#define LOG_DISABLED_LEVEL (1000)
1643
1644/*
1645 DGetHSMLogInit
1646 Remote log start and offset options
1647*/
1648
1649#define GET_LOG_START_FULL (0x00000000) //Deprecated - Use RLOG_GET_LOG_START_FULL instead.
1650#define GET_LOG_END_FULL (0x00000000) //Deprecated - Use RLOG_GET_LOG_END_FULL instead.
1651
1652#define RLOG_GET_LOG_START_FULL (0x00000000)
1653#define RLOG_GET_LOG_END_FULL (0x00000000)
1654
1655#define RLOG_GET_ZLOG_START_FULL (RLOG_GET_LOG_START_FULL)
1656#define RLOG_GET_ZLOG_END_FULL (0xFFFFFFFF)
1657
1658// Set both to get full compressed OEM log (pkzip format).
1659#define RLOG_GET_OEM_ZLOG_START_FULL (RLOG_GET_LOG_START_FULL)
1660#define RLOG_GET_OEM_ZLOG_END_FULL (RLOG_GET_ZLOG_END_FULL -1)
1661
1662
1663/* Permissions */
1664
1665#define ACL_NOP (0x00000000) // "may the Force be with ya'!"
1666#define ACL_OBJ_DEL (ACL_NOP + 1) // delete objects
1667#define ACL_OBJ_READ (ACL_OBJ_DEL << 1) // read obj content
1668#define ACL_OBJ_LIST (ACL_OBJ_READ) // list usr objs
1669#define ACL_OBJ_CREATE (ACL_OBJ_DEL << 2) // create obj
1670#define ACL_OBJ_UPDATE (ACL_OBJ_DEL << 3) // update obj (hdr and alike)
1671#define ACL_OBJ_WRITE (ACL_OBJ_UPDATE) // update obj
1672#define ACL_USR_CREATE (ACL_OBJ_DEL << 4) // create usr
1673#define ACL_USR_DELETE (ACL_USR_CREATE) // makes no sense only to create
1674#define ACL_USR_REMOTE_INFO (ACL_OBJ_DEL << 5) // can usr use remote log/info?
1675#define ACL_USR_LIST (ACL_OBJ_DEL << 6) // can usr get user-list?
1676#define ACL_SYS_OPERATOR (ACL_OBJ_DEL << 7) // operate as master (adm mode)
1677#define ACL_SYS_BACKUP (ACL_OBJ_DEL << 8) // extract full appliance backup
1678#define ACL_SYS_RESTORE (ACL_SYS_BACKUP) // restore full appliance backup
1679#define ACL_SYS_UDATE_HSM (ACL_OBJ_DEL << 9) // firmware and stuff like that
1680#define ACL_NS_AUTHORIZATION (ACL_OBJ_DEL << 10) // user must be authorized with "m of n"
1681#define ACL_LOCAL_CRYPTO (ACL_OBJ_DEL << 11) // Deprecated. DCreateUser returns D_DEPRECATED if set.
1682#define ACL_VIRTUAL_X509_AUTH (ACL_OBJ_DEL << 28) // presence means SA (user must use 2F PKI)
1683#define ACL_VIRTUAL_OTP_AUTH (ACL_OBJ_DEL << 29) // presence means SA (user must use 2-F OTP)
1684#define ACL_CHANGE_PWD_NEXT_TIME (ACL_OBJ_DEL << 30) // can force usrs to change pwd on next login
1685
1686// Deprecated use ACL_USR_REMOTE_INFO
1687#define ACL_USR_REMOTE_LOG ACL_USR_REMOTE_INFO
1688
1689#define ACL_DEFAULT_OWNER (ACL_OBJ_DEL | ACL_OBJ_READ | ACL_OBJ_CREATE | \
1690 ACL_OBJ_UPDATE)
1691
1692#define ACL_SYS_PERMISSIONS (ACL_USR_CREATE | ACL_USR_REMOTE_INFO | ACL_USR_LIST | \
1693 ACL_SYS_OPERATOR | ACL_SYS_BACKUP | \
1694 ACL_SYS_UDATE_HSM)
1695
1696#define ACL_CREATION_TIME_ONLY (ACL_NS_AUTHORIZATION | ACL_LOCAL_CRYPTO)
1697
1698// DNSAuthSetState
1699
1700//
1701// NSAuth specific ACLs; NSAuth always grants ACL_OBJ_READ by default;
1702//
1703#define NSAUTH_ACL_NOP (ACL_NOP)
1704#define NSAUTH_ACL_OBJ_OPEN (ACL_OBJ_READ)
1705#define NSAUTH_ACL_OBJ_EXPORT (ACL_OBJ_CREATE)
1706#define NSAUTH_ACL_OBJ_DEL (ACL_OBJ_DEL)
1707#define NSAUTH_ACL_OBJ_BLOCK (ACL_OBJ_UPDATE)
1708#define NSAUTH_ACL_NS_DEL (ACL_USR_DELETE)
1709
1710/* DGenerateCVV/DVerifyCVV */
1711
1712#define MIN_CVV_LEN (3 + 1)
1713#define MAX_PAN_LEN (24 + 1)
1714#define MAX_EXP_DATE_LEN (4 + 1)
1715#define MAX_SVC_LEN (3 + 1)
1716
1717/* DEFTExportTR31 */
1718
1719// A.5.1, Table 6, inverted (little-endian);
1720#define EFT_ME_TR31_EXP_USAGE_AUTO (0x0000)
1721#define EFT_ME_TR31_EXP_USAGE_B0 (0x3042)
1722#define EFT_ME_TR31_EXP_USAGE_B1 (0x3142)
1723#define EFT_ME_TR31_EXP_USAGE_B2 (0x3242)
1724#define EFT_ME_TR31_EXP_USAGE_C0 (0x3043)
1725#define EFT_ME_TR31_EXP_USAGE_D0 (0x3044)
1726#define EFT_ME_TR31_EXP_USAGE_D1 (0x3144)
1727#define EFT_ME_TR31_EXP_USAGE_D2 (0x3244)
1728#define EFT_ME_TR31_EXP_USAGE_E0 (0x3045)
1729#define EFT_ME_TR31_EXP_USAGE_E1 (0x3145)
1730#define EFT_ME_TR31_EXP_USAGE_E2 (0x3245)
1731#define EFT_ME_TR31_EXP_USAGE_E3 (0x3345)
1732#define EFT_ME_TR31_EXP_USAGE_E4 (0x3445)
1733#define EFT_ME_TR31_EXP_USAGE_E5 (0x3545)
1734#define EFT_ME_TR31_EXP_USAGE_E6 (0x3645)
1735#define EFT_ME_TR31_EXP_USAGE_I0 (0x3049)
1736#define EFT_ME_TR31_EXP_USAGE_K0 (0x304B)
1737#define EFT_ME_TR31_EXP_USAGE_K1 (0x314B)
1738#define EFT_ME_TR31_EXP_USAGE_K2 (0x324B)
1739#define EFT_ME_TR31_EXP_USAGE_K3 (0x334B)
1740#define EFT_ME_TR31_EXP_USAGE_M0 (0x304D)
1741#define EFT_ME_TR31_EXP_USAGE_M1 (0x314D)
1742#define EFT_ME_TR31_EXP_USAGE_M2 (0x324D)
1743#define EFT_ME_TR31_EXP_USAGE_M3 (0x334D)
1744#define EFT_ME_TR31_EXP_USAGE_M4 (0x344D)
1745#define EFT_ME_TR31_EXP_USAGE_M5 (0x354D)
1746#define EFT_ME_TR31_EXP_USAGE_M6 (0x364D)
1747#define EFT_ME_TR31_EXP_USAGE_M7 (0x374D)
1748#define EFT_ME_TR31_EXP_USAGE_M8 (0x384D)
1749#define EFT_ME_TR31_EXP_USAGE_P0 (0x3050)
1750#define EFT_ME_TR31_EXP_USAGE_S0 (0x3053)
1751#define EFT_ME_TR31_EXP_USAGE_S1 (0x3153)
1752#define EFT_ME_TR31_EXP_USAGE_S2 (0x3253)
1753#define EFT_ME_TR31_EXP_USAGE_V0 (0x3056)
1754#define EFT_ME_TR31_EXP_USAGE_V1 (0x3156)
1755#define EFT_ME_TR31_EXP_USAGE_V2 (0x3256)
1756#define EFT_ME_TR31_EXP_USAGE_V3 (0x3356)
1757#define EFT_ME_TR31_EXP_USAGE_V4 (0x3456)
1758
1759// A.5.3, Table 8
1760#define EFT_ME_TR31_EXP_MODE_AUTO (0x00)
1761#define EFT_ME_TR31_EXP_MODE_B (0x42)
1762#define EFT_ME_TR31_EXP_MODE_C (0x43)
1763#define EFT_ME_TR31_EXP_MODE_D (0x44)
1764#define EFT_ME_TR31_EXP_MODE_E (0x45)
1765#define EFT_ME_TR31_EXP_MODE_G (0x47)
1766#define EFT_ME_TR31_EXP_MODE_N (0x4E)
1767#define EFT_ME_TR31_EXP_MODE_S (0x53)
1768#define EFT_ME_TR31_EXP_MODE_T (0x55)
1769#define EFT_ME_TR31_EXP_MODE_V (0x56)
1770#define EFT_ME_TR31_EXP_MODE_X (0x58)
1771#define EFT_ME_TR31_EXP_MODE_Y (0x59)
1772
1773// A.5.5, Table 10
1774#define EFT_ME_TR31_EXP_AUTO (0x00)
1775#define EFT_ME_TR31_EXP_X9_24 (0x45) // ANSI X9.24 approved kek form
1776#define EFT_ME_TR31_EXP_NON_EXPORTABLE (0x4E)
1777#define EFT_ME_TR31_EXP_KEK_EXPORTABLE (0x53)
1778
1779/* DGeneratePVV */
1780
1781#define EFT_MIN_PVKI (0x00)
1782#define EFT_MAX_PVKI (0x06)
1783#define EFT_PVV_LEN (4)
1784
1785/* DGeneratePIN */
1786
1787#define GP_DEFAULT_PIN (1)
1788#define GP_USER_DEF_PIN (2)
1789#define GP_RANDOM_PIN (3)
1790
1791/* DEFTExportKey/DEFTKeKImport */
1792
1793#define EK_EFT_KEK_EXPORT_RAW (1) // BLOB() == envelope + checksum[3];
1794#define EK_EFT_KEK_EXPORT_VISA1 (2) // Variant-1 ZCMK, BLOB() == envelope + checksum[3];
1795#define EK_EFT_KEK_EXPORT_LMK (3) // BLOB() == 3DES_CBC(SVMK, Key)
1796#define EK_EFT_KEK_EXPORT_JCB (4) // BLOB() == envelope + checksum[8];
1797
1798/* DPINBlockTranslate */
1799
1800// translate types
1801#define TP_TRANSLATE_TYPE_AUTO (0xFF)
1802#define TP_TRANSLATE_TYPE_IBM_3624 (0x36)
1803#define TP_TRANSLATE_TYPE_ISO_0 (1) // == VISA 1; HSM default
1804#define TP_TRANSLATE_TYPE_ISO_1 (2)
1805#define TP_TRANSLATE_TYPE_ISO_3 (3)
1806
1807/* Other constants */
1808
1809#define MAX_USR_PWD (16)
1810#define MAX_USR_LEN (16)
1811#define MAX_CN_LEN (256)
1812#define MAX_PATH_LEN (256)
1813#define MAX_MODULE_NAME_LEN (128)
1814#define MAX_MODULE_VERSION_LEN (32)
1815#define MAX_ADDR_LEN (128)
1816#define MAX_CHANNEL_CIPHER_NAME_LEN (128)
1817#define MIN_PIN_LEN (8)
1818#define MIN_BACKUP_OBJ_PIN_LEN (8)
1819#define MAX_BACKUP_OBJ_PIN_LEN (32)
1820#define MIN_BACKUP_PIN_LEN (8)
1821#define MAX_BACKUP_PIN_LEN (32)
1822#define MAX_OBJ_NAME_LEN (32)
1823#define MAX_PIN_LEN (6)
1824#define MAX_MODULE_NAME_VERSION_LEN (1024)
1825#define MAX_IP_LEN (15)
1826#define MAX_NET_NAME (16)
1827#define MAX_HOTP_PIN (4)
1828#define MAX_HOTP_IMEI (24)
1829#define MAX_HOTP_APP_NAME (13)
1830#define MAX_HOTP_LOGO_LEN (1632)
1831#define MAX_P11_OBJ_ID (128)
1832#define MAX_OBJ_ID_BIN_LEN (32 + 1)
1833#ifndef MAX_OBJ_ID
1834#define MAX_OBJ_ID MAX_OBJ_ID_BIN_LEN
1835#endif
1836#ifndef MAX_OBJ_ID_LEN
1837#define MAX_OBJ_ID_LEN (MAX_USR_LEN + 1 + MAX_OBJ_ID)
1838#endif
1839#ifndef MAX_OBJ_ID_FQN_LEN
1840#define MAX_OBJ_ID_FQN_LEN (MAX_OBJ_ID_LEN)
1841#endif
1842#define MAX_P11_DATE_TXT (8)
1843#define MIN_EFT_PIN_LEN (4)
1844#define MAX_EFT_PIN_LEN (12)
1845#define MIN_KSI_LEN (5)
1846#define MIN_CTR_LEN (5)
1847#define MAX_HSM_DOMAIN_NAME (32)
1848#define MAX_HSM_MODEL_NAME (32)
1849#define MAX_HSM_ID_NAME (32)
1850
1851
1852/* MOD EFT*/
1853
1854#define EFT_AES_KEY_CHECKSUM_LEN (3)
1855#define EFT_VISA_KEY_CHECKSUM_LEN (3)
1856#define EFT_JCB_KEY_CHECKSUM_LEN (8)
1857#define EFT_EXP_DATE_LEN (4)
1858
1859#define EFT_EMV_SDA_SEQ_LEN (2)
1860#define EFT_EMV_SDA_DAC_LEN (2)
1861#define EFT_EMV_ARC_LEN (2)
1862#define EFT_EMV_CSU_LEN (4)
1863#define EFT_EMV_PAD_LEN (8)
1864
1865#define EFT_EMV_IDN_LEN (2)
1866#define EFT_EMV_IDN_ATC_LEN (2)
1867#define EFT_EMV_IDN_UN_LEN (4)
1868
1869#define EFT_EMV_CSR_VISA_TRACK_NUM_LEN (3)
1870#define EFT_EMV_CSR_VISA_SERVICE_ID_LEN (4)
1871#define EFT_EMV_CSR_VISA_ISSUER_ID_LEN (4)
1872#define EFT_EMV_CSR_VISA_PUB_KEY_INDEX_LEN (3)
1873
1874#define EFT_EMV_CSR_VISA_HASH_SIZE (20)
1875#define EFT_EMV_CSR_MASTER_HASH_SIZE (28)
1876
1877
1878
1879/* DGenerateICCMK */
1880
1881#define EFT_EMV_GEN_ICC_MK_OP_CBC_EXP (0x01)
1882#define EFT_EMV_GEN_ICC_MK_OP_ECB_EXP (0x02)
1883
1884/* DMAC_ISO9797_1_Met2*/
1885
1886#define EMV_MAC_TYPE_ALG1 (1)
1887#define EMV_MAC_TYPE_ALG3 (2)
1888
1889/* DGenerateEMV_MAC/DGenerateEMV_HMAC/DCalculateARPC */
1890
1891#define EMV_OP_ISO_9797_1_M2_COMMON (0x01)
1892#define EMV_OP_ISO_9797_1_M2_MCHIP (0x02)
1893#define EMV_OP_ISO_9797_1_M2_VISA (0x03)
1894#define EMV_OP_ISO_9797_1_M2_VISA_CRYPTOGRAM (0x04)
1895#define EMV_OP_ISO_9797_1_M2_VISA_ICC_V1_4_PAN_AUTO (0x05)
1896#define EMV_OP_ISO_9797_1_M2_RAW (0x06)
1897#define EMV_OP_ISO_9797_1_M1_VISA_CRYPTOGRAM_PADD_V10 (0x7F)
1898#define EMV_OP_ISO_9797_1_M2_ELO (0x07)
1899#define EMV_OP_ISO_9797_1_M2_JCB (0x08)
1900#define EMV_OP_ISO_9797_1_M1_JCB (0x09)
1901#define EMV_OP_ISO_9797_1_M1_JCB_CRYPTOGRAM (0x0A)
1902
1903/* DGenerateDDA_ICCCert */
1904
1905#define EFT_EMV_DDA_OP_RSA_SIGN1 (0x01) // rsa + sha1
1906
1907/* DGenerateEMV_CSR */
1908
1909#define EFT_EMV_OP_CSR_VISA (0x01)
1910#define EFT_EMV_OP_CSR_MASTER (0x02)
1911#define EFT_EMV_OP_CSR_ELO (0x03)
1912#define EFT_EMV_OP_CSR_JCB (0x04)
1913
1914
1915/* DGenerateISO9796Cert2 */
1916
1917#define CORE_P_ISO_9796_USER_ID_LEN (32)
1918#define CORE_P_ISO_9796_USER_NAME_LEN (32)
1919#define CORE_P_ISO_9796_KEY_LEN (512) // 128
1920#define CORE_P_ISO_9796_MIN_KEY_LEN (64)
1921#define CORE_P_ISO_9796_EXPONENT_LEN (8)
1922#define CORE_P_ISO_9796_MIN_EXPONENT_LEN (1)
1923
1924
1925/* DGenerateEMV_PinBlock */
1926
1927#define PBC_EMV_PIN_BLOCK_OP_COMMON (EMV_OP_ISO_9797_1_M2_COMMON)
1928#define PBC_EMV_PIN_BLOCK_OP_MCHIP (EMV_OP_ISO_9797_1_M2_MCHIP)
1929#define PBC_EMV_PIN_BLOCK_OP_VISA (EMV_OP_ISO_9797_1_M2_VISA)
1930#define PBC_EMV_PIN_BLOCK_OP_VISA_CRYPTOGRAM (EMV_OP_ISO_9797_1_M2_VISA_CRYPTOGRAM)
1931#define PBC_EMV_PIN_BLOCK_OP_ELO (EMV_OP_ISO_9797_1_M2_ELO)
1932#define PBC_EMV_PIN_BLOCK_OP_JCB (EMV_OP_ISO_9797_1_M2_JCB)
1933
1934#define PBC_EMV_PIN_BLOCK_MAX_OUTPUT (64)
1935
1936
1937/* DDeriveKeyFromBuffer */
1938
1939#define EMV_DERIVE_KEY_OP_XOR (0x01)
1940#define EMV_DERIVE_KEY_OP_ECB (0x02)
1941
1942
1943/* DGeneratePKCS10CSR */
1944
1945#define CORE_P10_CSR_VERSION1 (0x00)
1946#define CORE_P10_CSR_DN_MAX_LEN (2048)
1947
1948#define P10_CSR_DER (1)
1949#define P10_CSR_PEM (2)
1950
1951#define CORE_P10_HASH_SHA1 (0x01)
1952#define CORE_P10_HASH_SHA224 (0x02)
1953#define CORE_P10_HASH_SHA256 (0x03)
1954#define CORE_P10_HASH_SHA384 (0x04)
1955#define CORE_P10_HASH_SHA512 (0x05)
1956#define CORE_P10_HASH_SHA2_224 CORE_P10_HASH_SHA224
1957#define CORE_P10_HASH_SHA2_256 CORE_P10_HASH_SHA256
1958#define CORE_P10_HASH_SHA2_384 CORE_P10_HASH_SHA384
1959#define CORE_P10_HASH_SHA2_512 CORE_P10_HASH_SHA512
1960#define CORE_P10_HASH_SHA3_224 (0x06)
1961#define CORE_P10_HASH_SHA3_256 (0x07)
1962#define CORE_P10_HASH_SHA3_384 (0x08)
1963#define CORE_P10_HASH_SHA3_512 (0x09)
1964
1965/* DPKCS8ExportKey */
1966
1967// ASCII
1968#define CORE_P8_EXPORT_PWD_LEN (16)
1969#define ND_MIN_P8_PWD_LEN (8)
1970#define ND_MAX_P8_PWD_LEN (CORE_P8_EXPORT_PWD_LEN)
1971
1972/* DImportPKCS12Buffer */
1973
1974#define DN_MAX_P12_PWD_LEN (CORE_P8_EXPORT_PWD_LEN)
1975
1976/* DExportPKCS12 */
1977
1978#define DN_EXPORT_P12_LEGACY (1)
1979
1980/* SPB */
1981
1982#define DN_SPB_MSG_HEADER_V2_LEN (588)
1983#define ND_SPB_MSG_HEADER_V2_LEN DN_SPB_MSG_HEADER_V2_LEN
1984#define DN_SPB_MSG_HEADER_V3_LEN ND_SPB_MSG_HEADER_V2_LEN
1985#define DN_SPB_MAX_NOTIFY_DATA_SEG (32 * 1024)
1986#define ND_SPB_MAX_NOTIFY_DATA_SEG DN_SPB_MAX_NOTIFY_DATA_SEG
1987#define DN_SPB_V3_TAG_LEN (16)
1988#define DN_SPB_MAX_RCV_NOTIFY_DATA_SEG (ND_SPB_MAX_NOTIFY_DATA_SEG + DN_SPB_V3_TAG_LEN)
1989
1990//dwFlags
1991#define ND_SPB_USE_CIP1 (0x80000000)
1992#define ND_SPB_USE_ANY (0x40000000)
1993#define ND_SPB_RAW (0x20000000)
1994
1995/* DSPBEncode */
1996
1997//dwFlags
1998#define ND_SPB_ENCODE_GEN_01 (0x01)
1999#define ND_SPB_ENCODE_HEADER_V3 (0x02)
2000
2001/* DSPBDecode */
2002
2003//dwFlags
2004#define ND_SPB_OUT_NO_PADDING (0x01)
2005#define ND_SPB_OUT_WITH_PADDING (0x02)
2006
2007#define ND_SPB_ISPB_LEN (8)
2008#define ND_SPB_CA_LEN (2)
2009#define ND_SPB_DOMAIN_MAX_LEN (5)
2010#define ND_SPB_SN_MAX_LEN (32)
2011#define ND_SPB_ID_MAX_LEN (ND_SPB_SN_MAX_LEN + 1 + ND_SPB_CA_LEN + 1)
2012#define ND_SPB_ID_MAX_FQN_LEN (MAX_USR_LEN + 1 + ND_SPB_SN_MAX_LEN + 1 + ND_SPB_CA_LEN + 1)
2013#define ND_SPB_MAX_SUBJECT (1024)
2014#define ND_SPB_MAX_ISSUER (1024)
2015#define ND_SPB_MAX_ALG_ID (256)
2016
2017
2018//strong auth
2019#define SA_TP_MAX_DES_LEN (16 + 1)
2020#define SA_TP_MAX_OFFSET_LEN (6 + 1)
2021#define SA_TP_MAX_SERIAL_LEN (10 + 1)
2022#define SA_TP_MAX_MKEY_LEN (32 + 1)
2023#define SA_TP_MAX_OTP_LEN (6 + 1)
2024
2025#define SA_HOTP_CHAP_LEN (10)
2026
2027/* Module OATH */
2028
2029/* DOATHIssueHOTPBlob */
2030#define ISSUE_OATH_MIN_OTP_LEN (6)
2031#define ISSUE_OATH_MAX_OTP_LEN (16)
2032#define ISSUE_OATH_MAX_OTP_RETRY (129)
2033
2034//bSeedLen
2035#define ISSUE_OATH_SHA1_LEN (20)
2036#define ISSUE_OATH_SHA256_LEN (32)
2037#define ISSUE_OATH_SHA512_LEN (64)
2038
2039//bTruncationOffset
2040#define ISSUE_OATH_DYN_TRUNC (OATH_SA_v1_HOTP_DYN_TRUNC_OFF)
2041
2042//wTimeStep
2043#define ISSUE_OATH_DEFAULT_TIME_STEP (OATH_SA_v2_default_TIME_STEP)
2044#define ISSUE_OATH_HOTP_TS (0)
2045
2046//otT0
2047#define ISSUE_OATH_HOTP_T0 (OATH_SA_v2_default_T0_Epoch)
2048
2049//otMovingFactor
2050#define ISSUE_OATH_INIT_MF (0)
2051
2052#define ISSUE_OATH_OUTPUT_BLOB_V1_LEN (160)
2053#define ISSUE_OATH_OUTPUT_BLOB_V2_LEN (180)
2054#define ISSUE_OATH_OUTPUT_BLOB_LEN (ISSUE_OATH_OUTPUT_BLOB_V1_LEN)
2055#define ISSUE_OATH_OUTPUT_MAX_BLOB_LEN (ISSUE_OATH_OUTPUT_BLOB_V2_LEN)
2056
2057#define OATH_MAX_PSK_LEN (255)
2058
2059#define ISSUE_OATH_GENERATE_HOTP (1)
2060#define ISSUE_OATH_GENERATE_TOTP (2)
2061#define ISSUE_OATH_IMPORT_HOTP (3)
2062#define ISSUE_OATH_IMPORT_TOTP (4)
2063
2064
2065#define OATH_UPDATE_BLOB (0x80000000)
2066
2067/* DOATHOcraGen */
2068#define DN_OATH_OCRA_USE_CTR (1 << 0)
2069#define DN_OATH_OCRA_USE_PH20 (1 << 1)
2070#define DN_OATH_OCRA_USE_PH32 (1 << 2)
2071#define DN_OATH_OCRA_USE_PH64 (1 << 3)
2072#define DN_OATH_OCRA_USE_TS (1 << 4)
2074#define DN_OATH_OCRA_MAX_SUITE_LEN (128)
2075#define DN_OATH_OCRA_CTR_LEN (8)
2076#define DN_OATH_OCRA_MAX_Q_LEN (128)
2077#define DN_OATH_OCRA_CSESS_MAX_LEN (512)
2078#define DN_OATH_OCRA_TIME_STEPS_LEN (8)
2080#define ISSUE_OATH_BLOB_V2_IV_LEN (AES_BLOCK)
2081#define ISSUE_OATH_BLOB_V2_TAG_LEN (AES_BLOCK)
2082
2083/* DOATHCheckOTP */
2084
2085#define MAX_OTP_LOOK_AHEAD_INTERVAL (255)
2086
2087
2088#define DEFAULT_PORT (4433)
2089
2090
2091/* DListObjsFilter */
2092
2093#define LST_NO_FILTER (1)
2094#define LST_FILTER (2)
2095
2096/* DSPBCalculateObjectId */
2097
2098#define SPB_GENERATE_KEY_NAME (1)
2099#define SPB_GENERATE_CER_NAME (2)
2100
2101
2102/* DIPFilterOperation */
2103
2104#define D_IPF_ENABLE (1)
2105#define D_IPF_DISABLE (2)
2106#define D_IPF_LIST (33)
2107#define D_IPF_ADD (44)
2108#define D_IPF_DEL (55)
2109
2110
2111/* DCert2CertInfo */
2112
2113#define P2C_SPB_CERT_INFO (1)
2114#define P2C_CERT_BASIC_INFO (2)
2115
2116//CERT_X509_BASIC_INFO
2117#define DN_MAX_SUBJECT (1024)
2118#define DN_MAX_ISSUER (1024)
2119#define DN_MAX_SN (1024)
2120#define DN_MAX_EMAIL (1024)
2121#define DN_MAX_ALG_ID (256)
2122
2123
2124/* DGenerateDUKPT */
2125
2126// flags/modes; duk, pek, and mek are mutually exclusive;
2127#define NEW_DUKPT_MODE_DUK (0x00000000)
2128#define NEW_DUKPT_MODE_EXP (1 << 31)
2129#define NEW_DUKPT_MODE_DE (1 << 30)
2130#define NEW_DUKPT_MODE_PEK (1 << 29)
2131#define NEW_DUKPT_MODE_MEK (1 << 28)
2132#define NEW_DUKPT_MODE_TMP (1 << 27)
2133#define NEW_DUKPT_MODE_IPEK (1 << 26)
2134
2135
2136/* DGetNetInfo */
2137
2138#define NET_INFO_MAX_SROUTE_COUNT (48)
2139#define NET_INFO_MAX_SROUTE_LEN (52)
2140#define NET_INFO_MAX_SNMP_T_COUNT (16)
2141#define NET_INFO_MAX_SNMP_SC_STR (255)
2142#define NET_INFO_MAX_SNMP_SL_STR (255)
2143#define NET_INFO_MAX_SNMP_C_STR (64)
2144
2145//Flags
2146#define NET_INFO_INFO_0 (0)
2147#define NET_INFO_INFO_1 (1)
2148
2149/* Bond mode - comes in bond gateway info. */
2150#define NET_INFO_BOND_HOT_STANDBY "hot standby"
2151#define NET_INFO_BOND_BALANCE "balance"
2152#define NET_INFO_BOND_AGGREGATION "aggregation"
2153
2154
2155
2156/* DCertEncodingConvert and DGetHSMTLSCert*/
2157
2158#define CERT_OUT_DER 1
2159#define CERT_OUT_PEM 2
2160
2161
2162
2163/* DGenEcdhKey - dwOP */
2164
2165#define DN_ECDH_GEN_KEY_RAW_SECRET (0x01)
2166#define DN_ECDH_GEN_KEY_X9_63_SHA256 (0x02)
2167
2168// Deprecated use DN_ECDH_GEN_KEY_RAW_SECRET and DN_ECDH_GEN_KEY_X9_63_SHA256 instead.
2169#define DN_GEN_KEY_KDF_RAW_SECRET (DN_ECDH_GEN_KEY_RAW_SECRET)
2170#define DN_GEN_KEY_X9_63_SHA256 (DN_ECDH_GEN_KEY_X9_63_SHA256)
2171
2172#define DN_ECDH_GEN_KEY_MAX_DATA (1024)
2173#define DN_GEN_ECDH_MAX_SHARED_LEN (128)
2174
2175/* DGenDhKey - dwOP */
2176
2177#define DN_DH_GEN_KEY_RAW_SECRET (0x01)
2178#define DN_DH_GEN_KEY_X9_63_SHA256 (0x02)
2179
2180#define DN_DH_GEN_KEY_MAX_DATA (2048)
2181#define DN_GEN_DH_MAX_SHARED_LEN (512)
2182
2183/* DCreateHash */
2184
2185#define DN_HASH_OFFLINE (1)
2186
2187/* DFindHSM */
2188
2189//Service Type
2190#define DN_FIND_SRVC_TYPE_IP (1)
2191#define DN_FIND_SRVC_TYPE_AAP (2)
2192#define DN_FIND_SRVC_TYPE_ALL (3)
2193
2194//Filter
2195#define DN_FIND_FILTER_TYPE_POCKET (0x01)
2196#define DN_FIND_FILTER_TYPE_XP (0x02) //Not implemented
2197#define DN_FIND_FILTER_TYPE_ST (0x04) //Not implemented
2198#define DN_FIND_FILTER_TYPE_LEGACY (0x08) //Not implemented
2199#define DN_FIND_FILTER_TYPE_UNKNOWN (0x10) //Not implemented
2200#define DN_FIND_FILTER_TYPE_HSM (0x40000000)
2201#define DN_FIND_FILTER_TYPE_ALL (0x80000000)
2202
2203#define DN_SLP_POCKET_ID "$pocket"
2204#define DN_SLP_HSM_MODEL_POCKET "DMP"
2205#define DN_SLP_HSM_MODEL_XP "DXP"
2206#define DN_SLP_HSM_MODEL_ST "DST"
2207#define DN_SLP_HSM_MODEL_LEGACY "lhM"
2208#define DN_SLP_HSM_MODEL_UNKNOWN "DHSM"
2209
2210
2211/* DManageAToken */
2212
2213#define DN_USR_A_TOKEN_KLEN (16)
2214#define DN_RND_CHAP_LEN (16)
2215
2216#define DN_A_TOKEN_OP_ISSUE (1)
2217#define DN_A_TOKEN_OP_REVOKE (2)
2218#define DN_A_TOKEN_OP_LIST (3)
2219#define DN_A_TOKEN_OP_L_ISSUE (4)
2220#define DN_A_TOKEN_OP_L_REVOKE (5)
2221
2222#define DN_A_TOKEN_INFINITE (~0)
2223
2224
2225/* DBatchSign */
2226
2227#define DN_BATCH_SIGN_BLOCK_HEADER ((DWORD *2) + MAX_OBJ_ID_FQN_LEN)
2228
2229
2230/* DSetLBList and DGetLBList */
2231
2232#define DN_LB_LIST (1)
2233#define DN_MAX_LB_HSM_COUNT (16)
2234#define DN_MAX_LB_SETS (16)
2235
2236/* DGetUserKey */
2237
2238#define D_GET_USR_KEY_OFFLINE (1)
2239#define D_GET_USR_KEY_NO_PUB (2)
2240
2241/* DSVaultGenToken and DSVaultGetData */
2242
2243#define D_SVAULT_MIN_TL (6)
2244#define D_SVAULT_MAX_TL (256)
2245
2246#define D_SVAULT_T_TKR2 (1)
2247
2248#define D_SVAULT_F_MASK_TOKEN (1)
2249#define D_SVAULT_F_MASK_SECRET (2)
2250
2251#define D_SVAULT_CKS_NULL (0)
2252#define D_SVAULT_CKS_CPF (1)
2253#define D_SVAULT_CKS_CNPJ (2)
2254#define D_SVAULT_CKS_PAN (3)
2255#define D_SVAULT_CKS_IEL (4)
2256
2257#define D_SVAULT_BASE10 (10)
2258#define D_SVAULT_BASE16 (16)
2259#define D_SVAULT_BASE26 (26)
2260#define D_SVAULT_BASE52 (52)
2261#define D_SVAULT_BASE62 (62)
2262
2263#define D_SVAULT_TOKEN_BLOB_LEN (805)
2264
2265/* DSVaultGetData */
2266
2267#define D_SVAULT_GET_OP_SECRET (1)
2268#define D_SVAULT_GET_OP_TOKEN (2)
2269
2270/* DBchainCreateBip32Ckd */
2271
2272#define DN_BCHAIN_SECURE_BIP32_INDEX_BASE 0x80000000
2274/* DBchainGetAddress */
2275
2276#define DN_BCHAIN_MAX_ADDR_LEN (128)
2277#define DN_BCHAIN_MAX_HRP (64)
2279// Type
2280#define DN_BCHAIN_AT_BTC_P2PKH (1)
2281#define DN_BCHAIN_AT_BTC_P2SH (2)
2282#define DN_BCHAIN_AT_BTC_P2WPKH (3)
2283#define DN_BCHAIN_AT_BTC_P2WSH (4)
2284#define DN_BCHAIN_AT_BTC_B32_PKH (DN_BCHAIN_AT_BTC_P2WPKH)
2285#define DN_BCHAIN_AT_BTC_B32_SH (DN_BCHAIN_AT_BTC_P2WSH)
2286#define DN_BCHAIN_AT_ETH_EOA (5)
2287#define DN_BCHAIN_AT_ETH_EOA_MC_CKS (6)
2288#define DN_BCHAIN_AT_ETH_EOA_ICAP (7)
2289#define DN_BCHAIN_AT_ALGORAND (8)
2290#define DN_BCHAIN_AT_TRON_HEX (9)
2291#define DN_BCHAIN_AT_TRON_B58 (10)
2292#define DN_BCHAIN_AT_XRP (11)
2293#define DN_BCHAIN_AT_SOL (12)
2294#define DN_BCHAIN_AT_XLM (13)
2295#define DN_BCHAIN_AT_ADA_PKH (14)
2296#define DN_BCHAIN_AT_ADA_SH (15)
2297#define DN_BCHAIN_AT_LUNC (16)
2298#define DN_BCHAIN_AT_SS58 (17)
2299#define DN_BCHAIN_AT_XTZ (18)
2300#define DN_BCHAIN_AT_TON (19)
2301#define DN_BCHAIN_AT_TON_SH (20)
2302#define DN_BCHAIN_AT_ATOM (21)
2303#define DN_BCHAIN_AT_BTC_P2TR (22)
2305#define DN_BCHAIN_AT_LTC_P2PKH (DN_BCHAIN_AT_BTC_P2PKH)
2306#define DN_BCHAIN_AT_LTC_P2SH (DN_BCHAIN_AT_BTC_P2SH)
2307#define DN_BCHAIN_AT_LTC_P2WPKH (DN_BCHAIN_AT_BTC_P2WPKH)
2308#define DN_BCHAIN_AT_LTC_P2WSH (DN_BCHAIN_AT_BTC_P2WSH)
2309#define DN_BCHAIN_AT_LTC_P2TR (DN_BCHAIN_AT_BTC_P2TR)
2311// Version
2312#define DN_BCHAIN_VER_UNUSED (0x00)
2313#define DN_BCHAIN_VER_BTC_A1_MAIN_NET (0x00)
2314#define DN_BCHAIN_VER_BTC_AMN_TEST_NET (0x6F)
2315#define DN_BCHAIN_VER_BTC_A3_MAIN_NET (0x05)
2316#define DN_BCHAIN_VER_BTC_B32_WITVER (0x00)
2317#define DN_BCHAIN_VER_BTC_SEGWIT0 (0x00)
2318#define DN_BCHAIN_VER_BTC_SEGWIT1 (0x01)
2319#define DN_BCHAIN_VER_HTR_MAINNET (0x28)
2320#define DN_BCHAIN_VER_HTR_TESTNET (0x49)
2321#define DN_BCHAIN_VER_HTR_P2SH_MAINNET (0x64)
2322#define DN_BCHAIN_VER_HTR_P2SH_TESTNET (0x87)
2323#define DN_BCHAIN_VER_XRP_CLASSIC (0x00)
2324#define DN_BCHAIN_VER_LTC_SEGWIT0 (0x00)
2325#define DN_BCHAIN_VER_LTC_SEGWIT1 (0x01)
2326#define DN_BCHAIN_VER_LTC_AL_MAINNET (0x30)
2327#define DN_BCHAIN_VER_LTC_Amn_TESTNET (0x6F)
2328#define DN_BCHAIN_VER_LTC_AM_MAINNET (0x32)
2329#define DN_BCHAIN_VER_LTC_AQ_TESTNET (0x3A)
2330#define DN_BCHAIN_VER_ADA_MAINNET (0x01)
2331#define DN_BCHAIN_VER_ADA_TESTNET (0x00)
2332#define DN_BCHAIN_VER_SS58_POLKADOT (0x00)
2333#define DN_BCHAIN_VER_SS58_GEN_SUBST (0x2A)
2334#define DN_BCHAIN_VER_TON_MN_BWORK (0x01)
2335#define DN_BCHAIN_VER_TON_MN_MCHAIN (0x02)
2336#define DN_BCHAIN_VER_TON_TN_BWORK (0x03)
2337#define DN_BCHAIN_VER_TON_TN_MCHAIN (0x04)
2339// HRP
2340#define DN_BCHAIN_HRP_UNUSED ""
2341#define DN_BCHAIN_HRP_BTC_MAIN_NET "bc"
2342#define DN_BCHAIN_HRP_BTC_TEST_NET "tb"
2343#define DN_BCHAIN_HRP_LTC_MAINNET "ltc"
2344#define DN_BCHAIN_HRP_LTC_TESTNET "tltc"
2345#define DN_BCHAIN_HRP_TON_BNCBLE "bounceable"
2346#define DN_BCHAIN_HRP_TON_NBNCBLE "non-bounceable"
2348/* DBchainSignHash */
2349
2350#define DN_BCHAIN_MAX_SIG_LEN (128)
2352// Type
2353#define DN_BCHAIN_SIG_DER_ECDSA (1)
2354#define DN_BCHAIN_SIG_RAW_ECDSA (2)
2355#define DN_BCHAIN_SIG_BIP340 (3)
2356#define DN_BCHAIN_DER_RFC_6979_ECDSA (4)
2357#define DN_BCHAIN_RAW_RFC_6979_ECDSA (5)
2359#define DN_BCHAIN_SIG_RAW_ECDSA_R_LEN (32)
2360#define DN_BCHAIN_SIG_RAW_ECDSA_S_LEN (32)
2361#define DN_BCHAIN_SIG_RAW_ECDSA_V_LEN (1)
2363#define DN_BCHAIN_SIG_RAW_ECDSA_R_LEN (32)
2364#define DN_BCHAIN_SIG_RAW_ECDSA_S_LEN (32)
2365#define DN_BCHAIN_SIG_RAW_ECDSA_V_LEN (1)
2367// Hash mode
2368#define DN_BCHAIN_HASH_BTC_H160 (1)
2369#define DN_BCHAIN_HASH_RIPEMD160 (2)
2370#define DN_BCHAIN_HASH_SHA256 (3)
2371#define DN_BCHAIN_HASH_BTC_SHA256_2X (4)
2372#define DN_BCHAIN_HASH_KECCAK256 (5)
2373#define DN_BCHAIN_HASH_BLAKE2B224 (6)
2374#define DN_BCHAIN_HASH_BLAKE2B256 (7)
2376// Hash length
2377#define DN_BCHAIN_HASH_BTC_H160_LEN (20)
2378#define DN_BCHAIN_HASH_RIPEMD160_LEN (20)
2379#define DN_BCHAIN_HASH_SHA256_LEN (32)
2380#define DN_BCHAIN_HASH_BTC_SHA256_2X_LEN (32)
2381#define DN_BCHAIN_HASH_KECCAK256_LEN (32)
2382#define DN_BCHAIN_HASH_BLAKE2B224_LEN (28)
2383#define DN_BCHAIN_HASH_BLAKE2B256_LEN (32)
2385#define DN_BCHAIN_MAX_HASH_LEN (DN_BCHAIN_HASH_KECCAK256_LEN)
2387/* DBchainEdDsaSign and DBchainEdDsaVerify */
2388
2389#define DN_BCHAIN_EDDSA_MAX_CSTRL (255)
2390#define DN_BCHAIN_EDDSA_CSTR_UNUSED ""
2391#define DN_BCHAIN_EDDSA_MAX_DATA_LEN (4 * 1024 * 1024)
2393#define DN_BCHAIN_EDDSA_SIG_PURE (254)
2394#define DN_BCHAIN_EDDSA_SIG_ALGORAND (253)
2395#define DN_BCHAIN_EDDSA_SIG_XRP (252)
2396#define DN_BCHAIN_EDDSA_SIG_SOL (251)
2397#define DN_BCHAIN_EdDSA_SIG_XLM (250)
2398#define DN_BCHAIN_EdDSA_SIG_ADA (249)
2399#define DN_BCHAIN_EdDSA_SIG_DOT (248)
2400#define DN_BCHAIN_EdDSA_SIG_XTZ (247)
2401#define DN_BCHAIN_EdDSA_SIG_XTZ_PH (246)
2403/* DBchainPkImport and DBchainPkExport */
2404#define DN_BCHAIN_KEY_WIF (1)
2405#define DN_BCHAIN_KEY_MINI (2)
2406#define DN_BCHAIN_KEY_HEX (3)
2407#define DN_BCHAIN_KEY_SEC1 (4)
2408#define DN_BCHAIN_KEY_XPRIV (5)
2409#define DN_BCHAIN_KEY_ED25519_B64 (6)
2410#define DN_BCHAIN_KEY_ED25519_XPRIV (7)
2411#define DN_BCHAIN_KEY_Ed25519_SKPK (8)
2412#define DN_BCHAIN_KEY_Ed25519_SK (9)
2413#define DN_BCHAIN_KEY_Ed25519_XTZ (10)
2414#define DN_BCHAIN_KEY_P256_XPRIV (11)
2416// Version
2417#define DN_BCHAIN_VER_WIF_MAIN_NET (0x80)
2418#define DN_BCHAIN_VER_WIF_TEST_NET (0xEF)
2419#define DN_BCHAIN_VER_WIF_LTC_MAINNET (0xB0)
2422/* DBchainGetPubKey and DBchainVerify */
2423#define DN_BCHAIN_PBK_SEC1_UNCOMP (1)
2424#define DN_BCHAIN_PBK_SEC1_COMP (2)
2425#define DN_BCHAIN_PBK_BIP340 (3)
2426#define DN_BCHAIN_PBK_ED25519 (4)
2427#define DN_BCHAIN_PBK_AT_ALGORAND (5)
2428#define DN_BCHAIN_PBK_BIP32_XPUB (6)
2429#define DN_BCHAIN_PBK_AT_SOL (7)
2430#define DN_BCHAIN_PBK_AT_XLM (8)
2431#define DN_BCHAIN_PBK_ADA_VK (9)
2432#define DN_BCHAIN_PBK_AT_SS58 (10)
2433#define DN_BCHAIN_PBK_TON (11)
2434#define DN_BCHAIN_PBK_E_UNCOMP (12)
2436#define DN_BCHAIN_X_LEN (32)
2437#define DN_BCHAIN_Y_LEN (32)
2438#define DN_BCHAIN_MAX_PBK_LEN (128)
2441/* DBchainHashData */
2442
2443#define DN_BCHAIN_MAX_HDATA_LEN (2 * 1024 * 1024)
2445/*
2446 *
2447 * Unaligned structures
2448 *
2449 */
2450
2454typedef struct tag_SVAULT_GEN_TOKEN
2455{
2486 char szSecret[D_SVAULT_MAX_TL + 1];
2489
2494typedef struct tag_HSM_ADDR
2495{
2496 char szAddr[MAX_ADDR_LEN];
2497 int nPort;
2498 time_t tmNow;
2499 int nqtdcache; /* Amount of sessions in cache.*/
2500}HSM_ADDR;
2501
2506typedef struct tag_LOAD_BALANCE_LIST
2507{
2511
2517typedef struct tag_SLP_SRVR_INFO
2518{
2519 int nPort;
2520 char szIP[MAX_IP_LEN + 1];
2521 char szId[MAX_HSM_ID_NAME + 1];
2522 char szModel[MAX_HSM_MODEL_NAME + 1];
2524
2529typedef struct tag_DBLOB
2530{
2531 void *pvData;
2533} DBLOB;
2534
2535/* DCert2CertInfo */
2536
2537typedef struct tag_SPB_CERT_X509_INFO
2538{
2540
2541 char szAlgId[ND_SPB_MAX_ALG_ID];
2542
2543 char szISPB[ND_SPB_ISPB_LEN+1];
2544 char szCA[ND_SPB_CA_LEN+1];
2545 char szSN[ND_SPB_SN_MAX_LEN+1];
2546
2547 char szSubject[ND_SPB_MAX_SUBJECT];
2548 char szIssuer[ND_SPB_MAX_ISSUER];
2549
2550 struct tm tmNotBefore;
2551 struct tm tmNotAfter;
2552
2555
2556typedef struct tag_CERT_X509_BASIC_INFO
2557{
2559
2560 char szAlgId[DN_MAX_ALG_ID];
2561
2562 char szSubject[DN_MAX_SUBJECT];
2563 char szIssuer[DN_MAX_ISSUER];
2564 char szSN[DN_MAX_SN];
2565
2566 struct tm tmNotBefore;
2567 struct tm tmNotAfter;
2568
2571 char szEmail[DN_MAX_EMAIL];
2573
2574
2575typedef struct tag_IP_FILTER_INFO
2576{
2577 char szUser[MAX_USR_LEN + 1];
2578 char szIp[MAX_IP_LEN + 1];
2580
2581
2582/* DECPrivateKey2Info and DECPublicKey2Info */
2583
2584#define DN_EC_MAX_BIG_NUM (1024)
2585
2586//Field type definitions
2587#define DN_EC_KEY_FIELD_TYPE_NOT_DEFINED (0)
2588#define DN_EC_KEY_FIELD_TYPE_PRIME_FIELD (1)
2589#define DN_EC_KEY_FIELD_TYPE_BINARY_FIELD (2)
2590
2591//Out format options
2592#define DN_BN_2_ARRAY_OUT_BIN (1)
2593#define DN_BN_2_ARRAY_OUT_HEX (2)
2594#define DN_EC_KEY_PUB_X962_EC_POINT (3)
2595#define DN_EC_KEY_OUT_SPKI (4)
2596
2597//In format options
2598#define DN_EC_KEY_IN_FORMAT_DER (1)
2599#define DN_EC_KEY_IN_FORMAT_RAW_OCTET (2)
2600#define DN_EC_KEY_IN_FORMAT_EC_PUB_KEY_PARTS (3)
2601
2602typedef struct tag_DN_EC_BIG_NUMBER
2603{
2607
2608typedef struct tag_DN_EC_POINT_INFO
2609{
2610 DN_EC_BIG_NUMBER bnX;//Point's x-coordinate
2611 DN_EC_BIG_NUMBER bnY;//Point's y-coordinate
2613
2614typedef struct tag_DN_EC_GROUP_INFO
2615{
2616 int nFieldType; //See definitions above
2617
2618 DN_EC_BIG_NUMBER bnP;//In Fp fields this is p for F2M fields it's m
2619
2620 DN_EC_BIG_NUMBER bnA;//Parameter a of the equation
2621 DN_EC_BIG_NUMBER bnB;//Parameter b of the equation
2622
2624
2625 DN_EC_BIG_NUMBER bnOrder;//Order n of the generator g
2626 DN_EC_POINT_INFO stGeneratorPoint;//Generator g / base point
2628
2629typedef struct tag_DN_EC_PUB_KEY_INFO
2630{
2634
2635typedef struct tag_DN_EC_PRIV_KEY_INFO
2636{
2640
2652
2656typedef struct tag_RSA_PUB_KEY_PARTS
2657{
2661
2665typedef struct tag_EC_PUB_KEY_PARTS
2666{
2670
2674typedef struct tag_DN_RSA_BIG_NUMBER
2675{
2679
2688
2689#define DN_USER_INFO_CERT_OP_ASSOCIATE (1)
2690#define DN_USER_INFO_CERT_OP_UNASSOCIATE (2)
2691
2695typedef struct tag_USER_INFO_CERT
2696{
2697 char szUserId[MAX_USR_LEN + 1];
2705
2709typedef struct tag_TLS_BUNDLE_INFO
2710{
2712 char szCERT[MAX_OBJ_ID_FQN_LEN];
2714
2718typedef struct tag_DN_EFTD_CONF
2719{
2724
2729typedef struct tag_DN_EFTD_KEY_ALIAS
2730{
2732 char szAlias[DN_EFTD_MAX_KEY_ALIAS_LEN + 1];
2734
2750
2754typedef struct tag_GET_USR_KEY_OFFLINE
2755{
2756 char szKeyId[MAX_OBJ_ID_LEN];
2763
2791
2796typedef struct tag_DN_OBJ_COUNT
2797{
2800} DN_OBJ_COUNT;
2801
2806typedef struct tag_DN_USER_OBJ_COUNT
2807{
2808 char szUserId[MAX_OBJ_ID_FQN_LEN];
2812
2813#define DN_MAX_PRIVATE_KEY_ATTR_LEN (RSA_8192_LEN + 1)
2814
2834
2835
2836#define DN_SC_MAX_ATR_LEN (255)
2837#define DN_SC_MAX_CARD_FAMILY_LEN (128)
2838#define DN_SC_MAX_CARD_PRODUCT_NAME_LEN (128)
2839#define DN_SC_MAX_CARD_OS_VERSION_LEN (64)
2869
2870#ifdef _WIN32
2871 #pragma pack(push, 1) /* Align by 1 for portability issues.*/
2872#else
2873 #pragma pack(1)
2874#endif
2875
2876/* Aligned structures */
2877
2882typedef struct tag_DN_LIC_INFO
2883{
2888 char szLicName[DN_LIC_MAX_NAME + 1];
2889} DN_LIC_INFO;
2890
2891typedef struct tag_OBJ_HDR_V1
2892{
2897} OBJ_HDR_V1;
2898
2899/*
2900 Estrutura contendo os atributos SP80057 de um objeto do HSM.
2901*/
2917
2918
2919/*
2920 Estados de objetos KMIP/SP.800-57.
2921*/
2922#define DN_SL_SP80057_STATE_UNKNOWN (0)
2923#define DN_SL_SP80057_STATE_PRE_ACTIVE (1)
2924#define DN_SL_SP80057_STATE_ACTIVE (2)
2925#define DN_SL_SP80057_STATE_DEACTIVATED (3)
2926#define DN_SL_SP80057_STATE_COMPROMISED (4)
2927#define DN_SL_SP80057_STATE_DESTROYED (5)
2928#define DN_SL_SP80057_STATE_DESTROYED_C (6)
2929
2930/*
2931 Máscara de uso de objetos SP.800-57.
2932*/
2933#define DN_SP80057_UM_SIGN (0x00000001)
2934#define DN_SP80057_UM_VERIFY (0x00000002)
2935#define DN_SP80057_UM_ENCRYPT (0x00000004)
2936#define DN_SP80057_UM_DECRYPT (0x00000008)
2937#define DN_SP80057_UM_WRAP_KEY (0x00000010)
2938#define DN_SP80057_UM_UNWRAP_KEY (0x00000020)
2939#define DN_SP80057_UM_EXPORT (0x00000040)
2940#define DN_SP80057_UM_MAC_GENERATE (0x00000080)
2941#define DN_SP80057_UM_MAC_VERIFY (0x00000100)
2942#define DN_SP80057_UM_DERIVE_KEY (0x00000200)
2943#define DN_SP80057_UM_CONTENT_COMMITMENT (0x00000400)
2944#define DN_SP80057_UM_KEY_AGREEMENT (0x00000800)
2945#define DN_SP80057_UM_CERTIFICATE_SIGN (0x00001000)
2946#define DN_SP80057_UM_CRL_SIGN (0x00002000)
2947#define DN_SP80057_UM_GENERATE_CRYPTOGRAM (0x00004000)
2948#define DN_SP80057_UM_VALIDATE_CRYPTOGRAM (0x00008000)
2949#define DN_SP80057_UM_TRANSLATE_ENCRYPT (0x00010000)
2950#define DN_SP80057_UM_TRANSLATE_DECRYPT (0x00020000)
2951#define DN_SP80057_UM_TRANSLATE_WRAP (0x00040000)
2952#define DN_SP80057_UM_TRANSLATE_UNWRAP (0x00080000)
2953
2954
2955/* DListObjsFilter */
2956
2957typedef struct tag_OBJ_LIST_FILTER
2958{
2962
2963#define OBJ_LIST_VERB_VERSION ( 1 << 0 )
2964#define OBJ_LIST_VERB_TYPE ( 1 << 1 )
2965#define OBJ_LIST_VERB_ATTRIB ( 1 << 2 )
2966#define OBJ_LIST_OBJS_OR ( 1 << 31 )
2967
2982
3017
3052
3083
3087typedef struct tag_ISSUE_OATH_BLOB_t_v1
3088{
3090 DWORD pad_cks_tag[3];
3092
3096typedef struct tag_ISSUE_OATH_BLOB_t_v2
3097{
3102
3106typedef struct tag_OATH_PSKC_TRANSLATE_OUTPUT
3107{
3109 char szKeyId[OATH_MAX_PSK_LEN+1];
3111
3128
3129typedef struct tag_MOD_OATH_SA_v2
3130{
3140} OATH_SA_v2;
3141
3142
3143typedef struct tag_STAT_CLUSTER_IP
3144{
3145 char szIp[MAX_IP_LEN + 1];
3147
3148
3149//GMT
3150typedef struct tag_P11_DATE{
3151 char year[4]; /* the year ("1900" - "9999") */
3152 char month[2]; /* the month ("01" - "12") */
3153 char day[2]; /* the day ("01" - "31") */
3154} P11_DATE;
3155
3167
3168typedef struct tag_HOTP_INFO_EX
3169{
3170 DWORD dwStructId; //Structure identifier -> SA_ST_ID_HOTP_INFO_EX
3171 char szObjId[MAX_OBJ_NAME_LEN + 1]; //HSM HOTP object name
3172 DWORD dwObjAttr; //HSM object attributes
3173 DWORD dwObjHotpFlags; //SoftToken type -> SA_ATTR_OATH_USE_IMEI, SA_ATTR_OATH_USE_TIME ...
3174 char szStPin[MAX_HOTP_PIN + 1]; //SoftToken PIN
3175 char szStIMEI[MAX_HOTP_IMEI + 1]; //SoftToken related device's serial number
3176 char szStAppName[MAX_HOTP_APP_NAME + 1]; //SoftToken application name
3177 DBLOB *pdbStLogoImage; //SoftToken logo image
3178}HOTP_INFO_EX; //DESCONTINUADO!
3179
3180
3181//DGetNetInfo
3182typedef struct tag_SYS_NET_INFO
3183{
3184 BYTE pbMac[6];
3185 char szIp[MAX_IP_LEN + 1];
3186 char szMask[MAX_IP_LEN + 1];
3187 char szDefGateway[MAX_IP_LEN + 1];
3190 char szName[MAX_NET_NAME + 1];
3191} SYS_NET_INFO;
3192
3193typedef struct tag_SYS_NET_INFO_1
3194{
3197
3199 char szCommunity[NET_INFO_MAX_SNMP_C_STR + 1];
3200 char szSysContact[NET_INFO_MAX_SNMP_SC_STR + 1];
3201 char szSyaLocation[NET_INFO_MAX_SNMP_SL_STR + 1];
3204
3209typedef struct tag_SYS_HEALTH
3210{
3213}SYS_HEALTH;
3214
3221
3236
3249
3250
3251#define DN_MAX_HSM_ALIAS (128)
3252#define DN_UPACK_MAX_DESCRIPTION (255 + 1)
3253
3258typedef struct tag_SYS_PENDING_INFO
3259{
3261 char szPendingUpackDescription[DN_UPACK_MAX_DESCRIPTION];
3262 char szHsmAlias[DN_MAX_HSM_ALIAS+1];
3264
3265
3266typedef struct tag_SYS_HW_STR_INFO
3267{
3268 char szSerialNumber[GET_INFO_MAX_SN_LEN + 1];
3269 char szHardwareString[GET_INFO_MAX_HW_STR_LEN + 1];
3270 char szTpKey[GET_INFO_MAX_TPKEY_LEN + 1];
3272
3273typedef struct tag_SYS_NTP_SVR_INFO
3274{
3275 char szAddr[MAX_IP_LEN + 1];
3276 char szNtpqInfo[GET_INFO_MAX_NTPQ_LEN + 1];
3279 char szKeyType[GET_INFO_MAX_NTP_KT_LEN + 1];
3280 char szKeyMat[GET_INFO_MAX_NTP_KM_LEN + 1];
3282
3283typedef struct tag_SYS_NTP_INFO
3284{
3288
3289
3290
3291typedef struct tag_SYS_REPL_INFO
3292{
3299 DWORD dwaPeers[GET_INFO_MAX_REPL_NODES + 1]; //Zero terminated IPv4 array. Last item == 0x00000000
3300 DWORD dwaPendingAcks[GET_INFO_MAX_REPL_NODES + 1]; //Zero terminated IPv4 array. Last item == 0x00000000
3307 DWORD dwaNodes[GET_INFO_MAX_REPL_NODES + 1]; //Zero terminated IPv4 array. Last item == 0x00000000
3309
3310
3328
3329
3330typedef struct tag_REPL_NODE_MSG
3331{
3332 BYTE bOP; //RNM_PROBE, RNM_DOWN...
3335
3336
3337typedef struct tag_HOTP_CHAP
3338{
3339 DWORD dwStructId; //Structure Id -> SA_ST_ID_HOTP_CHAP
3340 char szChallenge[SA_HOTP_CHAP_LEN + 1]; //Server created challenge
3341}HOTP_CHAP;//DEPRECATED!
3342
3343typedef struct tag_HOTP_SYNC
3344{
3345 DWORD dwStructId; //Structure Id -> SA_ST_ID_HOTP_SYNC
3346 char szObjId[MAX_OBJ_NAME_LEN + 1]; //HOTPToken to synchronize
3347 char szOTP1[SA_TP_MAX_OTP_LEN]; //Expected response from HOTPToken
3348 char szOTP2[SA_TP_MAX_OTP_LEN]; //Server Counter Response
3349}HOTP_SYNC;
3350
3351typedef struct tag_HIP_PARAM
3352{
3356}HIP_PARAM; //DEPRECATED!
3357
3358typedef struct tag_HIP_OUTPUT
3359{
3360 char szHipChallenge[1];
3362 BYTE pbImage[1];
3363}HIP_OUTPUT; //DEPRECATED!
3364
3368typedef struct tag_USER_BLOCK
3369{
3370 char szUserId[MAX_USR_LEN+1];
3373}USER_BLOCK;
3374
3378typedef struct tag_DN_A_TOKEN
3379{
3380 char pcUserName[MAX_USR_LEN];
3382}DN_A_TOKEN;
3383
3388typedef struct tag_DN_A_TOKEN_FULL
3389{
3393
3405
3426
3427/* HTTP session parameters */
3428
3429#define MAX_HTTP_ADDR_LEN (2048)
3430#define MAX_HTTP_API_TOKEN_LEN (128)
3431
3441
3446typedef struct tag_AUTH_ATOKEN
3447{
3448 char szAddr[MAX_ADDR_LEN];
3449 int nPort;
3452
3457typedef struct tag_AUTH_WIN_CREDENTIAL
3458{
3459 char szAddr[MAX_ADDR_LEN];
3460 int nPort;
3462
3474
3484
3485/*
3486 Estados de autorização de partição do usuário.
3487*/
3488
3489#define ND_PA_ACL_OBJ_OPEN (ACL_OBJ_READ)
3490#define ND_PA_ACL_OBJ_EXPORT (ACL_OBJ_CREATE)
3491#define ND_PA_ACL_OBJ_DEL (ACL_OBJ_DEL)
3492#define ND_PA_ACL_OBJ_BLOCK (ACL_OBJ_UPDATE)
3493#define ND_PA_ACL_NS_DEL (ACL_USR_DELETE)
3494
3495#define NSAUTH_ACL_FULL (~0)
3496
3497/*
3498 Estados de autorização de partição do usuário.
3499*/
3500#define ND_PA_STATE_Unknown (0)
3501#define ND_PA_STATE_Absent (1)
3502#define ND_PA_STATE_Null (2)
3503#define ND_PA_STATE_Associated (3)
3504#define ND_PA_STATE_Authorized (4)
3505
3509typedef struct tag_USER_PA_INFO
3510{
3511 char szUserId[MAX_USR_LEN + 1];
3530
3538
3539typedef struct tab_EXT_MAP_2_OBJ_INFO
3540{
3542 char szObjId1[MAX_OBJ_ID_FQN_LEN];
3544 char szObjId2[MAX_OBJ_ID_FQN_LEN];
3546
3547
3553
3554typedef struct tag_PKCS11_OBJ_MAP
3555{
3558
3559 DWORD Class; // CKO_DATA, etc;
3560
3564
3565 //The three BYTEs below are overloaded
3566 //must use the MACROs to set the desired parameters.
3567 //Macros defined below.
3568
3569 BYTE Trusted; // boolean/overloaded
3570 BYTE WrapWithTrusted; // boolean/overloaded
3571 BYTE Local; // boolean/overloaded
3572
3577
3578//Trusted -> CKA_TRUSTED, CKA_DERIVE, CKA_ENCRYPT,
3579//CKA_DECRYPT, CKA_WRAP, CKA_UNWRAP
3580#define PKCS11_SET_FLAG(x, p) ((x) |= (1 << (p)))
3581#define PKCS11_UNSET_FLAG(x, p) ((x) &= ~(1 << (p)))
3582#define PKCS11_GET_FLAG(x, p) ((x) & (1 << (p)))
3583
3584//Enable driven option. Disabled by default.
3585#define PKCS11_SET_OBJ_MAP_CKA_TRUSTED(x) PKCS11_SET_FLAG(x, 7)
3586#define PKCS11_UNSET_OBJ_MAP_CKA_TRUSTED(x) PKCS11_UNSET_FLAG(x, 7)
3587#define PKCS11_GET_OBJ_MAP_CKA_TRUSTED(x) PKCS11_GET_FLAG(x, 7)
3588
3589//Disable driven option. Enabled by default.
3590#define PKCS11_SET_OBJ_MAP_CKA_DERIVE(x) PKCS11_UNSET_FLAG(x, 6)
3591#define PKCS11_UNSET_OBJ_MAP_CKA_DERIVE(x) PKCS11_SET_FLAG(x, 6)
3592#define PKCS11_GET_OBJ_MAP_CKA_DERIVE(x) (!PKCS11_GET_FLAG(x, 6))
3593
3594#define PKCS11_SET_OBJ_MAP_CKA_ENCRYPT(x) PKCS11_UNSET_FLAG(x, 5)
3595#define PKCS11_UNSET_OBJ_MAP_CKA_ENCRYPT(x) PKCS11_SET_FLAG(x, 5)
3596#define PKCS11_GET_OBJ_MAP_CKA_ENCRYPT(x) (!PKCS11_GET_FLAG(x, 5))
3597
3598#define PKCS11_SET_OBJ_MAP_CKA_DECRYPT(x) PKCS11_UNSET_FLAG(x, 4)
3599#define PKCS11_UNSET_OBJ_MAP_CKA_DECRYPT(x) PKCS11_SET_FLAG(x, 4)
3600#define PKCS11_GET_OBJ_MAP_CKA_DECRYPT(x) (!PKCS11_GET_FLAG(x, 4))
3601
3602#define PKCS11_SET_OBJ_MAP_CKA_WRAP(x) PKCS11_UNSET_FLAG(x, 3)
3603#define PKCS11_UNSET_OBJ_MAP_CKA_WRAP(x) PKCS11_SET_FLAG(x, 3)
3604#define PKCS11_GET_OBJ_MAP_CKA_WRAP(x) (!PKCS11_GET_FLAG(x, 3))
3605
3606#define PKCS11_SET_OBJ_MAP_CKA_UNWRAP(x) PKCS11_UNSET_FLAG(x, 2)
3607#define PKCS11_UNSET_OBJ_MAP_CKA_UNWRAP(x) PKCS11_SET_FLAG(x, 2)
3608#define PKCS11_GET_OBJ_MAP_CKA_UNWRAP(x) (!PKCS11_GET_FLAG(x, 2))
3609
3610//WrapWithTrusted
3611
3612//Enable driven option. Disabled by default.
3613#define PKCS11_SET_OBJ_MAP_CKA_WRAP_WITH_TRUSTED(x) PKCS11_SET_FLAG(x, 7)
3614#define PKCS11_UNSET_OBJ_MAP_CKA_WRAP_WITH_TRUSTED(x) PKCS11_UNSET_FLAG(x, 7)
3615#define PKCS11_GET_OBJ_MAP_CKA_WRAP_WITH_TRUSTED(x) PKCS11_GET_FLAG(x, 7)
3616
3617//Local
3618//Enable driven option. Disabled by default.
3619#define PKCS11_SET_OBJ_MAP_CKA_LOCAL(x) PKCS11_SET_FLAG(x, 7)
3620#define PKCS11_UNSET_OBJ_MAP_CKA_LOCAL(x) PKCS11_UNSET_FLAG(x, 7)
3621#define PKCS11_GET_OBJ_MAP_CKA_LOCAL(x) PKCS11_GET_FLAG(x, 7)
3622
3623//DAdmOperation options - AO_SET_PWD_SEC_POLICY/AO_GET_PWD_SEC_POLICY
3624
3625#define PWD_SEC_POLICY_USE_MIN_PWD_LEN (8)
3626#define PWD_SEC_POLICY_USE_MAX_PWD_LEN (16)
3628typedef struct tag_PWD_SEC_POLICY
3629{
3630 //USE
3631 BYTE bMaxInvalidLogins; //Number of attempts. 0 == sets to HSM internal default.
3632 BYTE bExpiration; //Number of days. 0 == disable policy.
3633 BYTE bHistory; //Number of passwords to track. 0 == disable policy.
3634 //FORMAT
3635 BYTE bMinLength; //Minimal number of chars (ASCII).
3636 BYTE bMinSpecial; //Minimal number of non-alpha chars.
3637 BYTE bUpper; //Minimal number of upper-case chars.
3638 BYTE bLower; //Minimal number of lower-case chars.
3640
3644typedef struct tag_EFT_VISA_KEY_PARTS
3645{
3646 BYTE pbKeyPart1[3 * DES_BLOCK];
3647 BYTE pbKeyPart1Checksum[EFT_VISA_KEY_CHECKSUM_LEN];
3648 BYTE pbKeyPart2[3 * DES_BLOCK];
3649 BYTE pbKeyPart2Checksum[EFT_VISA_KEY_CHECKSUM_LEN];
3650 BYTE pbKeyPart3[3 * DES_BLOCK];
3651 BYTE pbKeyPart3Checksum[EFT_VISA_KEY_CHECKSUM_LEN];
3654
3658typedef struct tag_EFT_AES_KEY_PARTS
3659{
3660 BYTE pbKeyPart1[ALG_AES_256_LEN];
3661 BYTE pbKeyPart2[ALG_AES_256_LEN];
3662 BYTE pbKeyPart3[ALG_AES_256_LEN];
3665
3669typedef struct tag_EFT_AES_KEY_PARTS_DATA
3670{
3674
3678typedef struct tag_EFT_FULL_CKS_KEY_PARTS
3679{
3680 BYTE pbKeyPart1[3 * DES_BLOCK];
3681 BYTE pbKeyPart1Checksum[DES_BLOCK];
3682 BYTE pbKeyPart2[3 * DES_BLOCK];
3683 BYTE pbKeyPart2Checksum[DES_BLOCK];
3684 BYTE pbKeyPart3[3 * DES_BLOCK];
3685 BYTE pbKeyPart3Checksum[DES_BLOCK];
3686 BYTE pbMKCheckSum[DES_BLOCK];
3688
3693typedef struct tag_DN_CALC_ARPC_EMV_METHOD_1
3694{
3695 char szIssuerMK[MAX_OBJ_ID_BIN_LEN];
3696 char szPAN[MAX_PAN_LEN];
3698 BYTE pbARQC[DES_BLOCK];
3700 BYTE pbNONCE[DES_BLOCK];
3703
3704typedef struct tag_DN_CALC_ARPC_EMV_METHOD_2
3705{
3706 char szIssuerMK[MAX_OBJ_ID_BIN_LEN];
3707 char szPAN[MAX_PAN_LEN];
3709 BYTE pbNONCE[DES_BLOCK];
3712 BYTE pbARQC[DES_BLOCK];
3718
3719
3733
3749
3755typedef struct tag_DS_BIND_INFO
3756{
3759 char szHSM[D_MAX_DS_BIND_B62_ID + 1];
3762 char szAccount[D_MAX_DS_BIND_B62_ID + 1];
3767 char szURL[D_MAX_DS_BIND_URL + 1];
3769} DS_BIND_INFO;
3770
3771#define DN_RCC_MAX_NODE_COUNT (16)
3772#define DN_RCC_MAX_REPL_MC_VER (256)
3773
3778typedef struct tag_CROSS_CHECK_NODE
3779{
3784 char szVersion[DN_RCC_MAX_REPL_MC_VER];
3786
3787/*
3788 Blockchain module
3789*/
3790
3791/* DBchainCreateCkd */
3792
3793// Key Derivation Types
3794#define DN_BCHAIN_BIP32_Ed_KDT_SLIP10 (1)
3795#define DN_BCHAIN_BIP32_Ed_KDT_FPRV1 (2)
3797#define DN_BCHAIN_BIP32_P256_KDT_SLIP10 (1)
3799/* DBchainCreateXPrv */
3800
3801// Types
3802#define DN_BCHAIN_BTC_MINIKEY (1)
3803#define DN_BCHAIN_BIP32_SEED_XPRV (2)
3804#define DN_BCHAIN_BIP39_SEED_XPRV (3)
3805#define DN_BCHAIN_BIP32_XPRV (4)
3806#define DN_BCHAIN_BIP32_ED25519_XPRV (5)
3807#define DN_BCHAIN_BIP32_P256_XPRV (6)
3809// Version
3810#define DN_BCHAIN_VER_BIP32_MAINNET (DN_BCHAIN_VER_WIF_MAIN_NET)
3811#define DN_BCHAIN_VER_BIP32_TESTNET (DN_BCHAIN_VER_WIF_TEST_NET)
3812#define DN_BCHAIN_VER_BIP32_HTR_MAINNET (1)
3813#define DN_BCHAIN_VER_BIP32_HTR_TESTNET (2)
3814#define DN_BCHAIN_VER_BIP32_FPRV1 (3)
3817#define DN_BCHAIN_BIP32_SEED_LEN_MAX (765)
3821typedef struct tag_DN_BCHAIN_BIP32_SEED_XPRV_DATA
3822{
3827
3828#define DN_BCHAIN_BIP39_SEED_LEN_MAX (765)
3829#define DN_BCHAIN_BIP39_PWD_LEN_MAX (255)
3834typedef struct tag_DN_BCHAIN_BIP39_SEED_XPRV_DATA
3835{
3840
3841#define DN_BCHAIN_KEY_INFO_ST_SL (0)
3842#define DN_BCHAIN_KEY_INFO_ST_BLKC (1)
3844/* DBchainCreateBip32Ckd */
3845
3849typedef struct tag_DN_BCHAIN_KEY_INFO
3850{
3853 BYTE pbBip32Ver[4];
3855 BYTE pbParentFingerprint[4];
3856 BYTE pbChildNumber[4];
3858
3859/* DBchainVerify */
3860
3864typedef struct tag_DN_BCHAIN_PBK
3865{
3870
3871/*
3872 DMofNSplit
3873*/
3874
3875#define DN_M_OF_N_S_LEN (24)
3876#define DN_M_OF_N_ES_LEN (32)
3877#define DN_M_OF_N_S_MIN (2)
3878#define DN_M_OF_N_S_MAX (16)
3879#define DN_M_OF_N_PART_LEN (3 + DN_M_OF_N_S_LEN)
3884typedef struct tag_DN_M_OF_N_PART_DETAILS
3885{
3891
3895typedef struct tag_DN_M_OF_N_PART
3896{
3899
3903typedef struct tag_DN_M_OF_N_SPLIT_INFO
3904{
3910
3921
3925typedef struct tag_DN_OBJ_STATS
3926{
3929} DN_OBJ_STATS;
3930
3936#define DN_GLOBAL_OBJ_STATS_COUNT (39)
3938#define DN_GLOBAL_OBJ_STATS_INDEX_RSA (0)
3939#define DN_GLOBAL_OBJ_STATS_INDEX_DSA (1)
3940#define DN_GLOBAL_OBJ_STATS_INDEX_ECC (2)
3941#define DN_GLOBAL_OBJ_STATS_INDEX_ECX (3)
3942#define DN_GLOBAL_OBJ_STATS_INDEX_AES (4)
3943#define DN_GLOBAL_OBJ_STATS_INDEX_DES (5)
3944#define DN_GLOBAL_OBJ_STATS_INDEX_CSP (6)
3945#define DN_GLOBAL_OBJ_STATS_INDEX_BCHAIN (7)
3946#define DN_GLOBAL_OBJ_STATS_INDEX_X509 (8)
3947#define DN_GLOBAL_OBJ_STATS_INDEX_PKCS7 (9)
3948#define DN_GLOBAL_OBJ_STATS_INDEX_ML_DSA (10)
3949#define DN_GLOBAL_OBJ_STATS_INDEX_ML_KEM (11)
3950#define DN_GLOBAL_OBJ_STATS_INDEX_SLH_DSA (12)
3955typedef struct tag_DN_GLOBAL_OBJ_STATS
3956{
3960
3961/* DSKeepProbeSecret */
3962
3966typedef struct tag_SKeepProbeInfo
3967{
3971
3972/* DSKeepSplitSecret e outros */
3973#define DN_SKEEP_M_OF_N_S_MIN (2)
3974#define DN_SKEEP_M_OF_N_S_MAX (16)
3975#define DN_SKEEP_M_OF_N_S_LEN (64)
3980typedef struct tag_SKeepRecoverInfo
3981{
3983 char szSecret[DN_SKEEP_M_OF_N_S_LEN + 1];
3985
3989typedef struct tag_SKeepShare
3990{
3991 char szShare[DN_SKEEP_M_OF_N_S_LEN + 1];
3992} SKeepShare;
3993
3994// DSCReadShadow
3995#define DN_SC_M_OF_N_SHADOW_MATERIAL_V1_LEN (24)
3996#define DN_SC_M_OF_N_SHADOW_MATERIAL_V2_LEN (56)
3997#define DN_SC_M_OF_N_SHADOW_EXTRA_DATA_LEN (3)
3999#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)
4000#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)
4002#define DN_SC_M_OF_N_SHADOW_MATERIAL_MAX_LEN (DN_SC_M_OF_N_SHADOW_MATERIAL_V2_LEN)
4003#define DN_SC_M_OF_N_SHADOW_MAX_LEN (DN_SC_M_OF_N_SHADOW_V2_MAX_LEN)
4005#define DN_SC_MAX_PIN_LEN (8)
4007#define DN_SC_M_OF_N_SHADOW_V1_TYPE (1)
4008#define DN_SC_M_OF_N_SHADOW_V2_TYPE (2)
4013typedef struct tag_DN_SC_M_OF_N_SHADOW_DETAILS
4014{
4020
4024typedef struct tag_DN_SC_M_OF_N_SHADOW
4025{
4029
4039
4040/* DKemEncaps/DKemDecaps */
4041
4042#define DN_KEM_D_ML_KEM_SS_LEN (32)
4043#define DN_KEM_D_MAX_CTX_LEN (255)
4044#define DN_KEM_MAX_C_LEN (8192)
4045#define DN_KEM_MAX_SS_LEN (64)
4047#define DN_KEM_OP_SHARED_SECRET (1)
4048#define DN_KEM_OP_DIRECT_KEY (2)
4049#define DN_KEM_OP_X9_63_SHA256 (3)
4070
4071#define DN_ML_KEM_512_C_LEN (768)
4072#define DN_ML_KEM_768_C_LEN (1088)
4073#define DN_ML_KEM_1024_C_LEN (1568)
4079typedef struct tag_DN_KEM_ENCAPS_RESULT
4080{
4081 BYTE pbSharedSecret[DN_KEM_MAX_SS_LEN];
4082 BYTE pbCiphertext[DN_KEM_MAX_C_LEN];
4086
4091typedef struct tab_DN_KEM_DECAPS_RESULT
4092{
4093 BYTE pbSharedSecret[DN_KEM_MAX_SS_LEN];
4096
4101typedef struct DN_BCHAIN_BIP32_CKD_IN_INFO_tag
4102{
4117
4122typedef struct DN_BCHAIN_BIP32_ED25519_CKD_IN_INFO_tag
4123{
4131
4136typedef struct DN_BCHAIN_BIP32_P256_CKD_IN_INFO_tag
4137{
4144
4145#ifdef _WIN32
4146 #pragma pack(pop)
4147#else
4148 #pragma pack()
4149#endif
4150
4151/* Library exported functions */
4152
4153#ifdef __cplusplus
4154extern "C" {
4155#endif /* __cplusplus */
4156
4162#define DN_INIT_PARAM_CONF_FAST_FAIL (128)
4174 DWORD dwReserved
4175);
4176
4193 void *pvList,
4194 DWORD dwListCount,
4195 DWORD dwReserved);
4196
4212 void *pvList,
4213 DWORD *pdwListCount,
4214 DWORD dwReserved);
4215
4252 HSESSIONCTX * phSession,
4253 DWORD dwParam,
4254 BYTE * pbData,
4255 DWORD dwDataLen,
4256 DWORD dwFlags
4257);
4258
4277 HSESSIONCTX hSession,
4278 DWORD dwParam,
4279 BYTE * pbData,
4280 DWORD dwDataLen,
4281 DWORD dwFlags
4282);
4283
4305 HSESSIONCTX hSession,
4306 DWORD dwParam,
4307 BYTE* pbData,
4308 DWORD* pdwDataLen,
4309 DWORD dwFlags
4310);
4311
4320
4335 HSESSIONCTX * phSession,
4336 DWORD dwFlags
4337);
4338
4347
4363typedef int (AAP_API * funcListKeyCallback)(char *szKeyName, void *pParam, BOOL bFinal);
4364
4369 HSESSIONCTX hSession,
4370 funcListKeyCallback fncallback,
4371 void *pParam
4376);
4377
4382 HSESSIONCTX hSession,
4383 funcListKeyCallback fncallback,
4384 void *pParam
4389);
4390
4413 HSESSIONCTX hSession,
4414 char * szBackupFile,
4415 char * szPin,
4416 int nDirection
4417);
4418
4446 DWORD dwOP,
4447 char *szObjectId,
4448 char *szPin,
4449 BYTE *pbData,
4450 DWORD *pdwDataLen,
4451 DWORD dwReserved );
4452
4460typedef int (AAP_API * funcLogEventCallback)(char *szEvent, void *pParam, BOOL bFinal);
4461
4474 HSESSIONCTX hSession,
4475 funcLogEventCallback fncallback,
4476 void *pParam
4477);
4478
4529 HSESSIONCTX hSession,
4530 DWORD dwParam,
4531 BYTE * pbData,
4532 DWORD dwDataLen,
4533 DWORD dwFlags
4534);
4535
4552int AAP_API DGetHSMTLSCert(char *szAddress,
4553 int nPort,
4554 DWORD dwOutFormat,
4555 BYTE **ppbOutCert,
4556 DWORD *pdwOutCertLen,
4557 DWORD dwFlags);
4558
4559#define DN_NT_MAX_TARGET_LEN (255)
4560#define DN_NTOOL_PING (1)
4561#define DN_NTOOL_TRACERT (2)
4562#define DN_NTOOL_CROSS_CHECK (100)
4563
4582 DWORD dwOption,
4583 const char *szTarget,
4584 void **pvResult,
4585 DWORD *pdwResultLen,
4586 DWORD dwFlags);
4587
4588#define DN_WRITE_FILE_OPT_CERT_CHAIN (1)
4589#define DN_WRITE_FILE_OPT_NO_CONVERSION (2)
4590
4615 const char *szFileId,
4616 BYTE *pbFile,
4617 DWORD dwFileSize,
4618 DWORD dwOptions);
4619
4630typedef int (AAP_API * funcReadLocalFileCallback)(BYTE *pbData, DWORD * pdwDataLen, void *pParam, BOOL *pbFinal);
4631
4654 HSESSIONCTX hSession,
4655 char * szFileId,
4656 DWORD dwFileSize,
4657 funcReadLocalFileCallback fncallback,
4658 void *pParam
4659);
4660
4671typedef int (AAP_API * funcWriteLocalFileCallback)(BYTE *pbData, DWORD dwDataLen, void *pParam, BOOL bFinal);
4672
4686 HSESSIONCTX hSession,
4687 char * szFileId,
4688 funcWriteLocalFileCallback fncallback,
4689 void *pParam
4690);
4691
4706 const char *szFileId,
4707 BYTE **ppbData,
4708 DWORD *pdwDataLen,
4709 DWORD dwReserved);
4710
4720 HSESSIONCTX hSession,
4721 char *szObjId);
4722
4737 HSESSIONCTX hSession,
4738 DWORD dwStart,
4739 DWORD dwOffset,
4740 DWORD *pdwLogSize,
4741 BYTE **ppbLog
4742);
4743
4754 HSESSIONCTX hSession
4755);
4756
4781int AAP_API DFindHSM( DWORD dwServiceType,
4782 DWORD dwFilter,
4783 void **ppvOutputData,
4784 DWORD *pdwOutputDataLen,
4785 DWORD dwFlags );
4786
4795typedef int (AAP_API * funcListAKeysCallback)(void *pvToken, void *pParam, BOOL bFinal);
4796
4844 BYTE bOP,
4845 DN_A_TOKEN_FULL *pstATokenFull,
4846 funcListAKeysCallback fnCallBack,
4847 void *pvCallbackParam,
4848 DWORD dwParam);
4849
4850#define DN_ATOKEN_CACHE_GET_COUNT (0)
4851#define DN_ATOKEN_CACHE_GC (1)
4852
4879 DWORD dwOP,
4880 void *pOutData,
4881 DWORD dwParam);
4882
4892 const char *szBindKey,
4893 DWORD dwReserved);
4902 DWORD dwReserved);
4903
4912int AAP_API DSCReadShadow(const char *szPin, DN_SC_M_OF_N_SHADOW *pstShadow, DWORD dwReserved);
4913
4914
4922int AAP_API DSCGetInfo(DN_SC_INFO *pstInfo, DWORD dwReserved);
4923
4931
4941int AAP_API DSCChangePIN(const char *szCurrentPIN, const char *szNewPIN, DWORD dwReserved);
4942
4953int AAP_API DSCWriteShadow(DN_SC_M_OF_N_SHADOW *pstShadow, const char *szPIN,
4954 BOOL bOverwrite, DWORD dwReserved);
4955
4963int AAP_API DSCErase(const char *szPIN, DWORD dwReserved);
4964
4965#define DN_SC_MAX_LABEL_LEN (32)
4976int AAP_API DSCSetLabel(const char *pin, const char *label, DWORD reserved);
4977
4987int AAP_API DSCGetLabel(const char *pin, char *label, DWORD reserved);
4988
4989// DNSAuthSetState
4990#define DN_S_NSAUTH_ASSOC (1)
4991#define DN_S_NSAUTH_RESET (2)
4992#define DN_S_NSAUTH_AUTH (3)
4993#define DN_S_NSAUTH_eAUTH (4)
4994#define DN_S_NSAUTH_CHECK (5)
5024int AAP_API DNSAuthSetState(HSESSIONCTX hSession, DWORD dwAcl, BYTE bState,
5025 DN_SC_M_OF_N_SHADOW *pstShadows, DWORD dwShadowsCount,
5026 DWORD dwReserved);
5027
5028/* Error codes */
5029
5033int AAP_API DGetErrorString(int nErrorValue,
5034 char *szErrorCode,
5035 char *szErrorDesc);
5036
5040typedef enum tag_RetCodeMsgType
5041{
5043 DESC_MSG
5045
5059const char *AAP_API DGetReturnCodeString(int nErrorValue,
5060 RetCodeMsgType eErrorType);
5061
5065 BYTE bOP,
5066 char *szUser,
5067 char *szIP,
5068 int(AAP_API *ListIpFilterCallback)(void *pInData, DWORD dwInDataLen, void *pParam, BOOL bFinal),
5069 void *pParam,
5070 DWORD *pdwStatus,
5071 DWORD dwReserved);
5072
5074 char *szOldObjName,
5075 char *szNewObjName,
5076 DWORD dwFlags);
5077
5078int AAP_API DUPackPush(HSESSIONCTX hSession, DWORD dwPackSize,
5079 BYTE *pbPack);
5080
5081int AAP_API DUPackInfo(DWORD dwPackSize, BYTE *pbPack,
5082 DWORD *pdwUPackVersion, BYTE **ppbUPackDescr,
5083 BYTE **ppbUPackSignature);
5084
5085int AAP_API DGetObjInfo(const HSESSIONCTX hSession, const char *szObjId,
5086 const int nAlgId, const BYTE *pbData,
5087 DWORD *pdwDataLen);
5088
5089int AAP_API DGenerateMapObj(const HSESSIONCTX hSession, const char *szMapId,
5090 const char *szObj1Id, const int nObj1AlgId,
5091 const char *szObj2Id, const int nObj2AlgId);
5092
5093int AAP_API DRemoveMapObj(const HSESSIONCTX hSession, const char *szMapObjId);
5094
5096 int(AAP_API *ListUserSessionsCallback)(DWORD dwStartTime, char *szInfo, void *pParam, BOOL bFinal),
5097 void *pParam);
5098
5100 DWORD dwFilterType,
5101 void *pvFilter,
5102 int(AAP_API *ListObjCallback)(void *pvIN, void *pParam, BOOL bFinal),
5103 void *pParam);
5104
5106 int(AAP_API *ListLoadedModulesCallback)(char *szModuleInfo,
5107 void *pParam,
5108 BOOL bFinal),
5109 void *pParam);
5110
5141 HSESSIONCTX hSession,
5142 struct USER_INFO userInfo);
5143
5157 HSESSIONCTX hSession,
5158 char *szUserId);
5159
5183 HSESSIONCTX hSession,
5184 DWORD dwParam,
5185 BYTE *pbData,
5186 DWORD dwDataLen,
5187 DWORD dwFlags);
5188
5207 HSESSIONCTX hSession,
5208 DWORD dwParam,
5209 BYTE *pbData,
5210 DWORD *pdwDataLen,
5211 DWORD dwFlags);
5212
5222typedef int(AAP_API *funcListUsersCallback)(char *szUserName, void *pParam, BOOL bFinal);
5223
5234 HSESSIONCTX hSession,
5235 funcListUsersCallback fncallback,
5236 void *pParam);
5237
5238// OATH SA
5239
5260 const char *szUserId,
5261 const DWORD dwParam,
5262 BYTE *pbData,
5263 const DWORD dwDataLen);
5264
5278 const DWORD dwParam,
5279 const char *szUserId);
5280
5294 char *szUser,
5295 char *szOTP1,
5296 char *szOTP2,
5297 DWORD dwParam);
5298
5301/* PKCS#11 */
5302
5303int AAP_API DGeneratePkcs11Map(HSESSIONCTX hSession, char *szP11MapId,
5304 BYTE bTemporary, DWORD dwBlobType,
5305 DWORD dwFlags, BYTE *pbData,
5306 DWORD dwDataLen);
5307
5308int AAP_API DUpdatePkcs11Map(HSESSIONCTX hSession, char *szP11MapId,
5309 DWORD dwBlobType, DWORD dwFlags,
5310 DWORD dwUpdateMask, BYTE *pbData,
5311 DWORD dwDataLen);
5312
5313int AAP_API DGetPkcs11Map(HSESSIONCTX hSession, char *szP11MapId,
5314 DWORD dwBlobType, DWORD dwFlags,
5315 BYTE **ppbData, DWORD *pdwDataLen);
5316
5318 int(AAP_API *ListKeyCallback)(char *szKeyName,
5319 void *pParam,
5320 BOOL bFinal),
5321 void *pParam);
5322
5323
5324#define MNG_OBJ_META_A_KEY_TYPE (1)
5325#define MNG_OBJ_META_A_CLASS (2)
5326#define MNG_OBJ_META_A_EXTRACTABLE (3)
5327#define MNG_OBJ_META_A_SENSITIVE (4)
5328#define MNG_OBJ_META_A_N_EXTRACTABLE (5)
5329#define MNG_OBJ_META_A_LOCAL (6)
5330#define MNG_OBJ_META_A_CERT_TYPE (7)
5331#define MNG_OBJ_META_A_RSA_MODULUS (8)
5332#define MNG_OBJ_META_A_RSA_PUB_EXP (9)
5333#define MNG_OBJ_META_A_PUB_KEY_INFO (10)
5334#define MNG_OBJ_META_A_EC_PARAMS (11)
5335#define MNG_OBJ_META_A_SUBJECT (12)
5336#define MNG_OBJ_META_A_ISSUER (13)
5337#define MNG_OBJ_META_A_SN (14)
5338#define MNG_OBJ_META_A_TOKEN (15)
5339#define MNG_OBJ_META_A_MODIFIABLE (16)
5340#define MNG_OBJ_META_A_DERIVE (17)
5341#define MNG_OBJ_META_A_WRAP (18)
5342#define MNG_OBJ_META_A_UNWRAP (19)
5343#define MNG_OBJ_META_A_SIGN (20)
5344#define MNG_OBJ_META_A_VERIFY (21)
5345#define MNG_OBJ_META_A_ENCRYPT (22)
5346#define MNG_OBJ_META_A_DECRYPT (23)
5347#define MNG_OBJ_META_A_OBJ_ID (24)
5348#define MNG_OBJ_META_A_MODULUS_BITS (25)
5349#define MNG_OBJ_META_A_PRIVATE (26)
5350#define MNG_OBJ_META_A_LABEL (27)
5351#define MNG_OBJ_META_A_ID (28)
5352#define MNG_OBJ_META_A_APPLICATION (29)
5353#define MNG_OBJ_META_A_TRUSTED (30)
5354#define MNG_OBJ_META_A_JMIDP_SEC_DOMAIN (31)
5355#define MNG_OBJ_META_A_CERT_CATEGORY (32)
5356#define MNG_OBJ_META_A_KEY_GEN_MECHANISM (33)
5357#define MNG_OBJ_META_A_WRAP_WITH_TRUSTED (34)
5358#define MNG_OBJ_META_A_HSM_ASSOCIATE (35)
5359#define MNG_OBJ_META_A_SIGN_RECOVER (36)
5360#define MNG_OBJ_META_A_VERIFY_RECOVER (37)
5361
5362#define MNG_OBJ_META_A_HSM_OBJ_VERSION (502)
5363#define MNG_OBJ_META_A_HSM_OBJ_TYPE (503)
5364#define MNG_OBJ_META_A_HSM_OBJ_ATTR (504)
5365#define MNG_OBJ_META_A_HSM_OBJ_LEN (505)
5366#define MNG_OBJ_META_A_HSM_OBJ_ID (506)
5367#define MNG_OBJ_META_A_HSM_OBJ_PVALUE (507)
5368#define MNG_OBJ_META_A_HSM_OBJ_CNG_UTF8_ID (508) // Client side attribute
5369
5370#define MNG_OBJ_META_READ_ONLY_ATTR(a) ((MNG_OBJ_META_A_KEY_TYPE == (a)) || \
5371 (MNG_OBJ_META_A_CLASS == (a)) || \
5372 (MNG_OBJ_META_A_EXTRACTABLE == (a)) || \
5373 (MNG_OBJ_META_A_SENSITIVE == (a)) || \
5374 (MNG_OBJ_META_A_N_EXTRACTABLE == (a)) || \
5375 (MNG_OBJ_META_A_LOCAL == (a)) || \
5376 (MNG_OBJ_META_A_CERT_TYPE == (a)) || \
5377 (MNG_OBJ_META_A_RSA_MODULUS == (a)) || \
5378 (MNG_OBJ_META_A_RSA_PUB_EXP == (a)) || \
5379 (MNG_OBJ_META_A_PUB_KEY_INFO == (a)) || \
5380 (MNG_OBJ_META_A_EC_PARAMS == (a)) || \
5381 (MNG_OBJ_META_A_ISSUER == (a)) || \
5382 (MNG_OBJ_META_A_SN == (a)) || \
5383 (MNG_OBJ_META_A_TOKEN == (a)) || \
5384 (MNG_OBJ_META_A_MODIFIABLE == (a)) || \
5385 (MNG_OBJ_META_A_MODULUS_BITS == (a)) || \
5386 (MNG_OBJ_META_A_PRIVATE == (a)) || \
5387 (MNG_OBJ_META_A_HSM_OBJ_VERSION == (a)) || \
5388 (MNG_OBJ_META_A_HSM_OBJ_TYPE == (a)) || \
5389 (MNG_OBJ_META_A_HSM_OBJ_ATTR == (a)) || \
5390 (MNG_OBJ_META_A_HSM_OBJ_LEN == (a)) || \
5391 (MNG_OBJ_META_A_HSM_OBJ_ID == (a)) || \
5392 (MNG_OBJ_META_A_HSM_OBJ_PVALUE == (a)) || \
5393 (MNG_OBJ_META_A_DERIVE == (a)) || \
5394 (MNG_OBJ_META_A_WRAP == (a)) || \
5395 (MNG_OBJ_META_A_UNWRAP == (a)) || \
5396 (MNG_OBJ_META_A_SIGN == (a)) || \
5397 (MNG_OBJ_META_A_VERIFY == (a)) || \
5398 (MNG_OBJ_META_A_ENCRYPT == (a)) || \
5399 (MNG_OBJ_META_A_DECRYPT == (a)) || \
5400 (MNG_OBJ_META_A_SIGN_RECOVER == (a)) || \
5401 (MNG_OBJ_META_A_VERIFY_RECOVER == (a)))
5402
5403/* DManageObjMetadata */
5404
5405#define MNG_OBJ_META_GET (1)
5406#define MNG_OBJ_META_UPDATE (3)
5407#define MNG_OBJ_META_DEL (4)
5408
5409
5411 DWORD dwParam );
5412
5414 DWORD dwParam );
5415
5417 DWORD dwOption,
5418 void *pvOptionData,
5419 DWORD dwOptionDataLen,
5420 DWORD dwParam );
5421
5423 DWORD dwOption,
5424 DWORD dwParam );
5425
5427 DWORD dwOption,
5428 void *pvOptionData,
5429 DWORD *pdwOptionDataLen,
5430 DWORD dwParam );
5431
5433 char *szData,
5434 DWORD dwDataLen,
5435 DWORD dwParam);
5436
5438 char *szData,
5439 DWORD *pdwDataLen,
5440 DWORD dwParam);
5441
5443 BYTE bOP,
5444 char *szObjName,
5445 HOBJMETACTX hInMeta,
5446 HOBJMETACTX *phOutMeta,
5447 DWORD dwParam );
5448
5450 HOBJMETACTX hInMeta,
5451 HOBJMETASEARCHCTX *phMetaSearchCtx,
5452 DWORD dwParam );
5453
5455 HOBJMETACTX *phOutMeta,
5456 DWORD dwOutMetaMaxCount,
5457 DWORD *pdwOutMetaDataCount,
5458 DWORD dwParam );
5459
5461 DWORD dwParam );
5462
5463#define MNG_OBJ_META_TYPE_ULONG (1)
5464#define MNG_OBJ_META_TYPE_STR (2)
5465#define MNG_OBJ_META_TYPE_BOOL (3)
5466#define MNG_OBJ_META_TYPE_INT_BOOL (4)
5467
5468typedef struct tag_OBJ_MET_ATTR
5469{
5471 const char *pszString;
5474
5476 void *pvData,
5477 DWORD *pdwDataLen,
5478 DWORD dwReserved );
5479
5481
5482
5483#define DN_MAX_OBJ_JSON_STRING (15 * 1024)
5485#define DN_JSON_OUT_TYPE_PRETTY (0)
5486#define DN_JSON_OUT_TYPE_RAW (1)
5487#define DN_JSON_OUT_TYPE_COMPACT (2)
5506 const char *szId,
5507 DWORD dwOutType,
5508 char **pszOutJson,
5509 DWORD *pdwOutJsonLen);
5510
5523 const char *szId,
5524 const char *szJson,
5525 DWORD dwJsonLen,
5526 DWORD dwReserved);
5527/* P11 HSM Info */
5528
5530 HP11ATTRCTX *phOutMeta,
5531 DWORD dwParam );
5532
5533#define MNG_HSM_P11_INFO_SLOT_DESC (1)
5534#define MNG_HSM_P11_INFO_MANUFACTURER_ID (2)
5535#define MNG_HSM_P11_INFO_SLOT_FLAGS (3)
5536#define MNG_HSM_P11_INFO_HDW_VERSION (4)
5537#define MNG_HSM_P11_INFO_FMW_VERSION (5)
5538#define MNG_HSM_P11_INFO_LABEL (6)
5539#define MNG_HSM_P11_INFO_MODEL (7)
5540#define MNG_HSM_P11_INFO_SERIAL_NUMBER (8)
5541#define MNG_HSM_P11_INFO_TOKEN_FLAGS (9)
5542#define MNG_HSM_P11_INFO_UTC_TIME (10)
5543#define MNG_HSM_P11_INFO_MAX_SESSION_COUNT (11)
5544#define MNG_HSM_P11_INFO_SESSION_COUNT (12)
5545#define MNG_HSM_P11_INFO_MAX_RW_SESS_COUNT (13)
5546#define MNG_HSM_P11_INFO_RW_SESS_COUNT (14)
5547#define MNG_HSM_P11_INFO_MAX_PIN_LEN (15)
5548#define MNG_HSM_P11_INFO_MIN_PIN_LEN (16)
5549#define MNG_HSM_P11_INFO_TOTAL_PUB_MEMORY (17)
5550#define MNG_HSM_P11_INFO_FREE_PUB_MEMORY (18)
5551#define MNG_HSM_P11_INFO_TOTAL_PRIV_MEMORY (19)
5552#define MNG_HSM_P11_INFO_FREE_PRIV_MEMORY (20)
5553#define MNG_HSM_P11_INFO_SVMK_FINGERPRINT (21)
5554#define MNG_HSM_INFO_TAMPERED_HSM (22)
5555#define MNG_HSM_INFO_OP_MODE (23)
5556#define MNG_HSM_INFO_DS_BOUND (24)
5557#define MNG_HSM_INFO_DS_HSM (25)
5558#define MNG_HSM_INFO_DS_ACCOUNT (26)
5559#define MNG_HSM_INFO_DS_URL (27)
5560#define MNG_HSM_INFO_DNS1 (28)
5561#define MNG_HSM_INFO_DNS2 (29)
5562#define MNG_HSM_INFO_REMOOT (30)
5563#define MNG_HSM_INFO_SCREADER (31)
5564#define MNG_HSM_INFO_TPOEM (32)
5565#define MNG_HSM_INFO_UNLSH (33)
5566#define MNG_HSM_INFO_KB_PLUGGED (34)
5567#define MNG_HSM_INFO_SC_READER_ON (35)
5568#define MNG_HSM_INFO_ALIAS (36)
5569
5571 DWORD dwOption,
5572 void *pvOptionData,
5573 DWORD *pdwOptionDataLen,
5574 DWORD dwParam );
5575
5577 DWORD dwParam );
5578
5580
5581
5582
5583/* Users */
5584
5585
5586int AAP_API DGetUserAcl ( HSESSIONCTX hSession, char *szUser,
5587 DWORD *pdwUserAcl );
5588
5589int AAP_API DListUserTrusts(HSESSIONCTX hSession, char *szUserId,
5590 BYTE bType,
5591 int (AAP_API * ListUserTrustCallback)(char *szUserName,
5592 DWORD dwACL,
5593 void *pParam,
5594 BOOL bFinal),
5595 void *pParam);
5596
5597
5598/* Statistics */
5599
5600int AAP_API DGetHsmInfo(HSESSIONCTX hSession, BOOL *pbFinal,
5601 DWORD dwParam, BYTE * pbData,
5602 DWORD* pdwDataLen, DWORD dwFlags);
5603
5604
5605/* Local operations */
5606
5608 BYTE * pbData, DWORD dwDataLen,
5609 DWORD dwFlags);
5610
5612 BYTE * pbData, DWORD *pdwDataLen,
5613 DWORD dwFlags);
5614
5615int AAP_API DGetLibVersion(HSESSIONCTX hSession, char * szVersion,
5616 DWORD *pdwVersionLen, DWORD dwFlags);
5617
5618
5619/* Key management */
5620
5621int AAP_API DECParam2AlgId(BYTE *pbECParam, DWORD dwECParamLen,
5622 int *pnAlgId, DWORD dwFlags);
5623
5624int AAP_API DECPubKeyDER2AlgId( BYTE *pbECPubKeyDER,
5625 DWORD dwECPubKeyDERLen,
5626 int *pnAlgId,
5627 DWORD dwFlags );
5628
5629int AAP_API DECPrivKeyDER2AlgId(const BYTE *pbDER, DWORD dwDERLen, int *pnAlgId,
5630 DWORD dwFlags);
5631
5835 HSESSIONCTX hSession,
5836 char *szKeyId,
5837 int nAlgId,
5838 DWORD dwFlags,
5839 HKEYCTX * phKey
5840);
5841
5855 int nAlgId,
5856 BYTE *pbData,
5857 DWORD *pdwDataLen,
5858 DWORD dwReserved);
5859
5878 HSESSIONCTX hSession,
5879 char *szKeyId,
5880 DWORD dwFlags,
5881 HKEYCTX * phKey
5882);
5883
5884
5885
5886#define D_IMPORT_ALG_PRIV_KEY_RSA (0xFFFFFFE1) /* Importa uma chave privada RSA. */
5887#define D_IMPORT_ALG_PRIV_KEY_ECC (0xFFFFFFE0) /* Importa uma chave privada ECC(Curvas Elípticas com exceção de ECX). */
5888#define D_IMPORT_ALG_PRIV_KEY_P8 (0xFFFFFFDF) /* Importa uma chave no formato P8 */
5889#define D_IMPORT_ALG_PRIV_KEY_ECX (0xFFFFFFDE) /* Importa uma chave privada ECX */
5890#define D_IMPORT_ALG_PRIV_KEY_DSA (0xFFFFFFDD) /* Importa uma chave privada DSA */
5891#define D_IMPORT_ALG_PRIV_KEY_DH (0xFFFFFFDC) /* Importa uma chave privada DH */
5892#define D_IMPORT_ALG_PRIV_KEY_ML_DSA (0xFFFFFFDA) /* Importa uma chave privada ML-DSA */
5893#define D_IMPORT_ALG_PRIV_KEY_ML_KEM (0xFFFFFFD9) /* Importa uma chave privada ML-KEM */
5894#define D_IMPORT_ALG_PRIV_KEY_SLH_DSA (0xFFFFFFD8) /* Importa uma chave privada SLH-DSA */
5895
5896
5985 HSESSIONCTX hSession,
5986 char *szKeyId,
5987 HKEYCTX hKEKey,
5988 DWORD dwBlobType,
5989 int nAlgId,
5990 DWORD dwFlags,
5991 BYTE * pbData,
5992 DWORD dwDataLen,
5993 HKEYCTX * phKey
5994);
5995
6011 HKEYCTX hKey,
6012 HKEYCTX hKEKey,
6013 DWORD dwBlobType,
6014 DWORD dwFlags,
6015 BYTE * pbData,
6016 DWORD * pdwDataLen
6017);
6018
6052 HSESSIONCTX hSession,
6053 char *szKeyId,
6054 char *szSecret,
6055 DWORD dwKeyAlg,
6056 DWORD dwAttrib,
6057 BYTE *pbKeyEnvelope,
6058 DWORD dwKeyEnvelopeLen
6059);
6060
6074 HSESSIONCTX hSession,
6075 char *szKeyId,
6076 char *szSecret,
6077 BYTE **ppbKeyEnvelope,
6078 DWORD *pdwKeyEnvelopeLen
6079);
6080
6106 HKEYCTX hKey,
6107 DWORD dwParam,
6108 BYTE * pbData,
6109 DWORD dwDataLen,
6110 DWORD dwFlags
6111);
6112
6137 HKEYCTX hKey,
6138 DWORD dwParam,
6139 BYTE * pbData,
6140 DWORD *pdwDataLen,
6141 DWORD dwFlags
6142);
6143
6156 HHASHCTX hHash,
6157 char * szKeyId,
6158 int nAlgId,
6159 DWORD dwFlags,
6160 HKEYCTX * phKey
6161);
6162
6175 HKEYCTX hKey,
6176 DWORD dwFlags,
6177 HKEYCTX * phKey
6178);
6179
6192 HKEYCTX hKey,
6193 HHASHCTX hHash,
6194 DWORD dwFlags
6195);
6196
6209 HKEYCTX * phKey,
6210 DWORD dwFlags
6211);
6212
6254 char *szPrivateKeyName,
6255 BYTE bVersion,
6256 char *szDN,
6257 DWORD dwOutType,
6258 DWORD *pdwCSRLen,
6259 BYTE **ppbCSR,
6260 DWORD dwParam);
6261
6286 char *szPriKey,
6287 char *szPubKey,
6288 char *szCert,
6289 void *pvReserved,
6290 DWORD dwReserved);
6291
6314 const char *szPkcs12Pwd,
6315 const char *szKeyId,
6316 const char *szCertId,
6317 const char *szReserved,
6318 BYTE **ppbPkcs12,
6319 DWORD *pdwPkcs12Len,
6320 DWORD dwFlags);
6321
6340 BYTE *pbPkcs12,
6341 DWORD dwPkcs12Len,
6342 const char *szPkcs12Pwd,
6343 const char *szKeyId,
6344 DWORD dwKeyAttr,
6345 const char *szCertId,
6346 const char *szPubKeyId,
6347 DWORD dwFlags);
6348
6364 const char *szPkcs12File,
6365 const char *szPkcs12Pwd,
6366 const char *szKeyId,
6367 const DWORD dwKeyAttr,
6368 const char *szCertId);
6369
6370#define DN_FORM_DER (1)
6387int AAP_API DRSAPublicKey2Info(BYTE *pbKey, DWORD dwKeyLen, DWORD dwInForm,
6388 void *pvPubKeyInfo, DWORD dwReserved);
6389
6406int AAP_API DRSAPrivateKey2Info(const BYTE *pbRsa, DWORD dwRsaLen, DWORD dwInForm,
6407 DN_RSA_PRIVATE_KEY_INFO *stRsaInfo, DWORD dwReserved);
6408
6410typedef struct tag_DN_EXPORT_BYOK_AZURE{
6411 char *szKeKKid;
6415
6416#define DN_BYOK_TYPE_AZURE (1)
6417#define DN_BYOK_TYPE_AWS (2)
6437int AAP_API DByokExport(HSESSIONCTX hSession, const char *cszKeyId,
6438 const char *cszKekId, DWORD dwType,
6439 const void *pvData, BYTE **ppbOutData,
6440 DWORD *pdwOutDataLen, DWORD dwReserved);
6441
6465 DWORD dwOp,
6466 BYTE *pbInData,
6467 BYTE *pbTokenBlob,
6468 DWORD *pdwTokenBlobLen,
6469 char *szToken,
6470 DWORD dwReserved);
6471
6517 DWORD dwOp,
6518 const char *szMK,
6519 const char *szMask,
6520 BYTE *pbTokenBlob,
6521 DWORD dwTokenBlobLen,
6522 char *szData,
6523 DWORD *pdwDataLen,
6524 DWORD dwReserved);
6525
6528int AAP_API DRemoveKey(HSESSIONCTX hSession, char *szKeyId);
6529
6531 DWORD dwCertLen,
6532 DWORD dwOutType,
6533 void *pvCertInfo,
6534 DWORD dwFlags );
6535
6536/* Symmetric/Asymmetric operations */
6537
6567 HKEYCTX hKey,
6568 HHASHCTX hHash,
6569 BOOL bFinal,
6570 DWORD dwFlags,
6571 BYTE* pbData,
6572 DWORD* pdwDataLen,
6573 DWORD dwBufLen
6574);
6575
6597 HKEYCTX hKey,
6598 HHASHCTX hHash,
6599 BOOL bFinal,
6600 DWORD dwFlags,
6601 BYTE* pbData,
6602 DWORD* pdwDataLen
6603);
6604
6638 HSESSIONCTX hSession,
6639 int nAlgId,
6640 HKEYCTX hKey,
6641 DWORD dwFlags,
6642 HHASHCTX *hHash
6643);
6644
6656 HHASHCTX hHash,
6657 BYTE* pbData,
6658 DWORD dwDataLen,
6659 DWORD dwFlags
6660);
6661
6678 HHASHCTX hHash,
6679 DWORD dwParam,
6680 BYTE * pbData,
6681 DWORD dwDataLen,
6682 DWORD dwFlags
6683);
6684
6702 HHASHCTX hHash,
6703 DWORD dwParam,
6704 BYTE* pbData,
6705 DWORD* pdwDataLen,
6706 DWORD dwFlags
6707);
6708
6741 HHASHCTX hHash,
6742 HKEYCTX hKey,
6743 DWORD dwFlags,
6744 BYTE* pbSignature,
6745 DWORD* pdwSigLen
6746);
6747
6748
6757 HHASHCTX * phHash
6758);
6759
6782 HHASHCTX hHash,
6783 BYTE* pbSignature,
6784 DWORD dwSigLen,
6785 HKEYCTX hPubKey,
6786 DWORD dwFlags
6787);
6788
6801 HHASHCTX hHash,
6802 DWORD dwFlag,
6803 HHASHCTX * phHash
6804);
6805
6816 HSESSIONCTX hSession,
6817 BYTE *pbData,
6818 DWORD dwDataLen
6819);
6820
6840 HSESSIONCTX hSession,
6841 DWORD dwOP,
6842 char *szPriKey,
6843 void *pvInData,
6844 DWORD dwInDataLen,
6845 BYTE *pbOutData,
6846 DWORD *pdwOutDataLen,
6847 DWORD dwFlags
6848);
6849
6871 HSESSIONCTX hSession,
6872 DWORD dwOP,
6873 char *szPriKey,
6874 void *pvInData,
6875 DWORD dwInDataLen,
6876 BYTE *pbOutData,
6877 DWORD *pdwOutDataLen,
6878 DWORD dwFlags
6879);
6880
6893 char *szCRL,
6894 char *szCertId,
6895 char *szCertOrChain);
6896
6915 BYTE bM,
6916 BYTE bN,
6917 BYTE *pbSecret,
6918 DWORD dwSecretLen,
6919 DN_M_OF_N_SPLIT_INFO *pstSplitInfo,
6920 DWORD dwReserved);
6921
6938 DN_M_OF_N_PART *pstParts,
6939 DWORD dwPartsCount,
6940 BYTE *pbSecret,
6941 DWORD dwReserved);
6942
6961int AAP_API DGenerateSVMK(HSESSIONCTX hSession, int nVersion, const BYTE *pbKey,
6962 BYTE bM, BYTE bN, DN_SC_M_OF_N_SHADOW *pstShadows,
6963 DWORD dwReserved);
6964
6981 BYTE bShadowsCount, BYTE *pbKey, DWORD dwReserved);
6982
6983#define DN_KEM_ENCAPS_OPT_ML_KEM (1)
6984#define DN_KEM_MAX_PUB_LEN (8192)
7004int AAP_API DKemEncaps(HSESSIONCTX hSession, DWORD dwOpt, const void *pvDataIn,
7005 const BYTE *pbEncapsKey, DWORD dwEncapsKeyLen,
7006 void *pvDataOut, DWORD dwReserved);
7007
7008#define DN_KEM_DECAPS_OPT_ML_KEM (1)
7033int AAP_API DKemDecaps(HSESSIONCTX hSession, DWORD dwOpt, const void *pvDataIn,
7034 const char *szDecapsKey, const BYTE *pbCiphertext,
7035 DWORD dwCiphertextLen, void *pvDataOut, DWORD dwReserved);
7036
7039/* PIN - CVV */
7040
7070 HSESSIONCTX hSession,
7071 char *szSrcPEK,
7072 char *szDstPEK,
7073 BYTE bTransBlockType,
7074 char *szPAN,
7075 BYTE *pbInPinBlock,
7076 BYTE *pbOutPinBlock,
7077 DWORD dwParam);
7078
7097 HSESSIONCTX hSession,
7098 char *szKeyId,
7099 char *szPAN,
7100 char *szExpirationDate,
7101 char *szServiceCode,
7102 char *szCVV,
7103 DWORD dwParam
7104);
7105
7120 HSESSIONCTX hSession,
7121 char *szKeyId,
7122 char *szPAN,
7123 char *szExpirationDate,
7124 char *szServiceCode,
7125 char *szCVV,
7126 DWORD dwParam
7127);
7128
7150 HSESSIONCTX hSession,
7151 char *szPGK,
7152 char *szPAN,
7153 DWORD dwOperation,
7154 int nPinLen,
7155 char *szInPin,
7156 char *szOffset,
7157 char *szOutPin,
7158 DWORD dwParam
7159);
7160
7175 HSESSIONCTX hSession,
7176 char *szPTK,
7177 char *szPGK,
7178 char *szPAN,
7179 char *szOffset,
7180 BYTE *pbInPinBlock,
7181 DWORD dwParam
7182);
7183
7196 int nKeyAlgId,
7197 EFT_VISA_KEY_PARTS *pstKeyParts,
7198 DWORD dwParam
7199);
7200
7222 HSESSIONCTX hSession,
7223 BYTE *pbKSI,
7224 BYTE *pbDID_CTR,
7225 char *szDUKPT,
7226 DWORD dwParam
7227);
7228
7239 BYTE *pbKSI,
7240 char *szBDKName,
7241 DWORD dwParam
7242);
7243
7255 BYTE *pbKSI,
7256 BYTE *pbDID_CTR,
7257 char *szDUKPTName,
7258 DWORD dwParam
7259);
7260
7275 HSESSIONCTX hSession,
7276 char *szPGK,
7277 BYTE bPVKI,
7278 char *szPAN,
7279 char *szPIN,
7280 char *szPVV,
7281 DWORD dwParam
7282);
7283
7297 HSESSIONCTX hSession,
7298 char *szIMKDAC,
7299 char *szPAN,
7300 BYTE *pbSEQ,
7301 BYTE *pbDAC,
7302 DWORD dwParam
7303);
7304
7318 HSESSIONCTX hSession,
7319 char *szIMKDAC,
7320 char *szPAN,
7321 BYTE *pbSEQ,
7322 BYTE *pbDAC,
7323 DWORD dwParam
7324);
7325
7341 HSESSIONCTX hSession,
7342 char *szIK,
7343 BYTE *pbDAC,
7344 DWORD dwSDA_DATALen,
7345 BYTE *pbSDA_DATA,
7346 DWORD *pdwSigLen,
7347 BYTE *pbSig,
7348 DWORD dwParam
7349);
7350
7370 HSESSIONCTX hSession,
7371 BYTE bOP,
7372 char *szIK,
7373 char *szPAN,
7374 DWORD dwDDA_DATALen,
7375 BYTE *pbDDA_DATA,
7376 DWORD *pdwSigLen,
7377 BYTE *pbSig,
7378 DWORD dwParam
7379);
7380
7401 HSESSIONCTX hSession,
7402 BYTE bOP,
7403 char *szIK,
7404 char *szKeK,
7405 char *szPAN,
7406 BYTE *pbSEQ,
7407 DWORD *pdwEnvelopeLen,
7408 BYTE *pbEnvelope,
7409 DWORD dwParam
7410);
7411
7417 HSESSIONCTX hSession,
7418 BYTE bOP,
7419 char *szIK,
7420 char *szPAN,
7421 BYTE *pbSEQ,
7422 BYTE *pbNONCE,
7423 DWORD dwDataLen,
7424 BYTE *pbData,
7425 BYTE *pbMAC,
7426 DWORD dwParam
7427);
7428
7471 HSESSIONCTX hSession,
7472 BYTE bOP,
7473 char *szIK,
7474 char *szPAN,
7475 BYTE *pbSEQ,
7476 BYTE *pbNONCE,
7477 DWORD dwDataLen,
7478 BYTE *pbData,
7479 BYTE *pbMAC,
7480 DWORD dwParam
7481);
7482
7498 HSESSIONCTX hSession,
7499 char *szIK,
7500 char *szPAN,
7501 BYTE *pbSEQ,
7502 BYTE *pbATC,
7503 BYTE *pbUN,
7504 BYTE *pbIDN,
7505 DWORD dwParam
7506);
7507
7546 HSESSIONCTX hSession,
7547 BYTE bEncOP,
7548 char *szEncIK,
7549 BYTE *pbEncNONCE,
7550 BYTE bMacOP,
7551 char *szMacIK,
7552 BYTE *pbMacNONCE,
7553 char *szPAN,
7554 BYTE *pbSEQ,
7555 DWORD dwDataLen,
7556 BYTE *pbData,
7557 DWORD *pdwEncDataLen,
7558 BYTE *pbEncData,
7559 BYTE *pbMAC,
7560 DWORD dwParam
7561);
7562
7587 HSESSIONCTX hSession,
7588 BYTE bOP,
7589 char *szIK,
7590 BYTE *pbTrackNum,
7591 BYTE *pbServiceID,
7592 BYTE *pbIssuerID,
7593 BYTE *pbExpDate,
7594 DWORD *pdwCSRLen,
7595 BYTE *pbCSR,
7596 DWORD dwParam
7597);
7598
7622 HSESSIONCTX hSession,
7623 BYTE bOP,
7624 char *szIK,
7625 BYTE *pbTrackNum,
7626 BYTE *pbServiceID,
7627 BYTE *pbIssuerID,
7628 BYTE *pbExpDate,
7629 DBLOB *pdbCSR,
7630 BYTE *pbHash,
7631 DWORD dwParam
7632);
7633
7674 HSESSIONCTX hSession,
7675 BYTE bOP,
7676 BYTE *pbNONCE,
7677 char *szTransportKey,
7678 char *szISSUER_MK,
7679 char *szISSUER_SMC_MK,
7680 char *szPAN,
7681 BYTE *pbSEQ,
7682 BYTE *pbOLD_PB,
7683 BYTE *pbNEW_PB,
7684 BYTE *pbOutBlock,
7685 DWORD *pdwOutBlockLen,
7686 DWORD dwParam
7687);
7688
7694 HSESSIONCTX hSession,
7695 char *szSrcKey,
7696 WORD wBufferLen,
7697 BYTE *pbBuffer,
7698 BYTE bOP,
7699 DWORD dwAttrib,
7700 char *szDstKey,
7701 HKEYCTX *phKey,
7702 DWORD dwParam
7703);
7704
7722 HSESSIONCTX hSession,
7723 char *szIssuerMK,
7724 char *szPAN,
7725 BYTE *pbSEQ,
7726 BYTE *pbARQC,
7727 BYTE *pbARC,
7728 BYTE *pbARPC,
7729 DWORD dwParam
7730);
7731
7732
7733#define DN_CALC_ARPC_EMV_4_2_M1_ICC (1)
7734#define DN_CALC_ARPC_EMV_4_2_M1_SK (2)
7735#define DN_CALC_ARPC_EMV_4_2_M2 (3)
7736
7756 DWORD dwOp,
7757 void *pvInData,
7758 BYTE *pbARPC,
7759 DWORD dwParam );
7760
7774 DWORD dwType,
7775 BYTE *pbKey,
7776 DWORD dwAlg,
7777 const BYTE *pbMsg,
7778 DWORD dwMsgLen,
7779 BYTE *pbMAC
7780);
7781
7782#define DN_EFT_AES_KCV_TYPE_CMAC (1)
7806int AAP_API DEFTImportKey(HSESSIONCTX hSession, char *szKeyId,
7807 int nKeyAlgId, void *pstKeyParts,
7808 DWORD dwParam);
7809
7826#define DN_EFT_GET_KCV_TYPE_X9_24 (1)
7827#define DN_EFT_GET_KCV_TYPE_CMAC (2)
7830 const char *szKeyId, void *pvKeyParts,
7831 DWORD dwReserved);
7832
7833int AAP_API DEFTExportKey(HSESSIONCTX hSession, BYTE bExportMode,
7834 char *szKEKId, char *szKeyId,
7835 BYTE *pbEncryptedBlock, DWORD *pdwEncryptedBlockLen,
7836 BYTE *pbKeyCheckValue, DWORD dwParam);
7837
7838int AAP_API DEFTKeKImport( HSESSIONCTX hSession, BYTE bOP, DWORD dwAlgId,
7839 char *szKeKName, char *szKeyName, DWORD dwAttr,
7840 BYTE *pbKCV1, BYTE *pbKCV2, BYTE *pbKCV3,
7841 BYTE *pbKCVFinal, BYTE *pbBlob, DWORD dwFlags );
7842
7843/* DEFTExportZPK */
7844
7845#define DN_EXP_ZPK_FLAG_FULL_CKS (1)
7865int AAP_API DEFTExportZPK(HSESSIONCTX hSession, char *szKeyId,
7866 int *pnKeyAlg, int *pnKeySize,
7867 EFT_VISA_KEY_PARTS *pstKeyParts, DWORD dwParam);
7868
7869#define DN_EFT_GET_KCV_MAX_LEN (3)
7884int AAP_API DEFTGetKcv(HSESSIONCTX hSession, BYTE bType, const char *szKeyId,
7885 BYTE *pbKcv, DWORD *pdwKcvLen, DWORD dwReserved);
7886
7887
7888#define DN_EFT_GEN_OFFLINE_KCV_TYPE_X9_24 (1)
7889#define DN_EFT_GEN_OFFLINE_KCV_TYPE_CMAC (2)
7891#define DN_EFT_KCV_TYPE_X9_24_LEN (3)
7892#define DN_EFT_KCV_TYPE_CMAC_LEN (3)
7894#define DN_EFTD_MAX_KEK_LEN (159)
7913int AAP_API DEFTGenKCVOffline(DWORD dwType, int nAlgId, const BYTE *pbKey,
7914 DWORD dwKeyLen, BYTE *pbKCV, DWORD *pdwKCVLen,
7915 DWORD reserved);
8000 const char *szKBPK,
8001 const char *szKey,
8002 void *pvReserved,
8003 WORD wUsage,
8004 BYTE bMode,
8005 BYTE bExport,
8006 BYTE *pbOutBlock,
8007 DWORD *pdwOutBlockLen,
8008 DWORD dwParam);
8009
8030 const char *szKBPK,
8031 const char *szKey,
8032 DWORD dwKeyAttributes,
8033 BYTE *pbKeyBlock,
8034 DWORD dwKeyBlockLen,
8035 DWORD dwParam);
8060 const char *szDestKey,
8061 DWORD dwAttributes,
8062 const char *szPart1,
8063 const char *szPart2,
8064 const char *szPart3,
8065 const BYTE *pbExpectedKcv,
8066 DWORD dwKcvLen,
8067 DWORD dwReserved);
8068
8088 const char *szLmk,
8089 BYTE bVariant,
8090 const char *szKey,
8091 BYTE bKs,
8092 char *szOut,
8093 DWORD *pdwOutLen,
8094 DWORD dwParam);
8095
8098/* Digital signature */
8099
8100int AAP_API DPowerSignHash(HSESSIONCTX hSession, char *szKeyId,
8101 int nHashAlgId, DWORD dwDataLen,
8102 BYTE *pbDataBuffer, DWORD *pdwSignLen,
8103 BYTE **ppbSignData);
8104
8139 HSESSIONCTX hSession,
8140 const char *szKeyName,
8141 const char *szKeyCert,
8142 const char *szCerts,
8143 DWORD dwAttrib,
8144 BYTE *pbContent,
8145 DWORD dwContentLen,
8146 DWORD *pdwSignatureLen,
8147 BYTE **ppbSignature,
8148 DWORD dwParam
8149);
8150
8154/* (CNS) Social Connectivity */
8156 char *szKeyID, char *szUsrID, char *szUsrName,
8157 WORD wModulusLen, BYTE *pbModulus,
8158 BYTE bExponentLen, BYTE *pbExponent,
8159 DWORD *pdwCertLen, BYTE *pbCert, DWORD dwParam );
8160
8161/* Hash */
8162int AAP_API DSignHashedData( HKEYCTX hKey, BYTE *pbData, DWORD dwDataLen,
8163 int nHashId, DWORD dwFlags, BYTE* pbSignature,
8164 DWORD* pdwSigLen );
8165
8167 DWORD dwPadding,
8168 BYTE*pbBlock,
8169 BYTE *pbData,
8170 DWORD* pdwDataLen,
8171 DWORD dwBlockSize,
8172 DWORD dwFlag );
8173
8175 BYTE *pbBlock,
8176 DWORD dwBlockCount,
8177 DWORD dwFlags );
8178
8179/* Base64 */
8180
8182 DWORD dwDataLen,
8183 char *szBase64,
8184 DWORD *pdwBase64Len,
8185 BOOL bNoNewLines );
8186
8188 DWORD dwBase64Len,
8189 BYTE *pbData,
8190 DWORD *pdwDataLen);
8191
8192
8227 HKEYCTX hKey,
8228 HHASHCTX hHash,
8229 char *szCertId,
8230 DWORD dwSizeUnsignedXml,
8231 BYTE *pbUnsignedXml,
8232 DWORD dwFilterLen,
8233 BYTE *pbFilter,
8234 DWORD *pdwSizeSignedXml,
8235 BYTE **ppbSignedXml
8236);
8237
8298 BYTE bHashMode,
8299 DWORD dwFlags,
8300 const char *szKeyId,
8301 const char *szCertId,
8302 DWORD dwSizeUnsignedXml,
8303 BYTE *pbUnsignedXml,
8304 DWORD dwFilterLen,
8305 BYTE *pbFilter,
8306 DWORD *pdwSizeSignedXml,
8307 BYTE **ppbSignedXml);
8308
8314int AAP_API DVerifySignedXml ( HSESSIONCTX hSession, char *szCertsId,
8315 DWORD dwSizeSignedXml, BYTE *pbSignedXml,
8316 DWORD dwFilterLen, BYTE *pbFilter);
8317
8338 HSESSIONCTX hSession,
8339 char *szCertsId,
8340 DWORD dwSizeSignedXml,
8341 BYTE *pbSignedXml,
8342 DWORD dwFilterLen,
8343 BYTE *pbFilter,
8344 char *szCRL
8345);
8346
8382 const char *szKeyId,
8383 const char *szCertId,
8384 DWORD dwFlags,
8385 DWORD dwSizeUnsignedPIXEnvelope,
8386 BYTE *pbUnsignedPIXEnvelope,
8387 DWORD *pdwSizeSignedPIXEnvelope,
8388 BYTE **ppbSignedPIXEnvelope);
8389
8390
8405 const char *szChainId,
8406 const char *szCRL,
8407 DWORD dwFlags,
8408 DWORD dwSizeSignedPIXEnvelope,
8409 BYTE* pbSignedPIXEnvelope);
8410
8431 const char *szKeyId,
8432 const char *szCertId,
8433 DWORD dwFlags,
8434 DWORD dwSizeUnsignedDictEnvelope,
8435 BYTE *pbUnsignedDictEnvelope,
8436 DWORD *pdwSizeSignedDictEnvelope,
8437 BYTE **ppbSignedDictEnvelope);
8438
8439
8454 const char *szChainId,
8455 const char *szCRL,
8456 DWORD dwFlags,
8457 DWORD dwSizeSignedDictEnvelope,
8458 BYTE* pbSignedDictEnvelope);
8459
8493 const char *szKeyId,
8494 DWORD dwFlags,
8495 DWORD dwHeaderLen,
8496 BYTE *pbHeader,
8497 DWORD dwPayloadLen,
8498 BYTE *pbPayload,
8499 DWORD *pdwJWSLen,
8500 BYTE *pbJWS);
8501
8520 const char *szChain,
8521 const char *szCRL,
8522 DWORD dwJWSLen,
8523 BYTE *pbJWS,
8524 DWORD dwFlags,
8525 DWORD *pdwHeaderLen,
8526 BYTE *pbHeader,
8527 DWORD *pdwPayloadLen,
8528 BYTE *pbPayload);
8529
8569 const char * szKeyId,
8570 const char * szCertId,
8571 const char * szPIXCertChainId,
8572 const char * szURL,
8573 DWORD dwCountRequestHeaderList,
8574 const char * pszRequestHeaderList[],
8575 DWORD dwSizeRequestData,
8576 BYTE* pbRequestData,
8577 DWORD dwTimeOut,
8578 DWORD * pdwSizeResponseHeaders,
8579 BYTE ** ppbResponseHeaders,
8580 DWORD * pdwSizeResponseBody,
8581 BYTE ** ppbResponseBody,
8582 DWORD dwParam);
8583
8584
8624 const char * szKeyId,
8625 const char * szCertId,
8626 const char * szPIXCertChainId,
8627 const char * szURL,
8628 DWORD dwCountRequestHeaderList,
8629 const char * pszRequestHeaderList[],
8630 DWORD dwSizeRequestData,
8631 BYTE* pbRequestData,
8632 DWORD dwTimeOut,
8633 DWORD * pdwSizeResponseHeaders,
8634 BYTE ** ppbResponseHeaders,
8635 DWORD * pdwSizeResponseBody,
8636 BYTE ** ppbResponseBody,
8637 DWORD dwParam);
8638
8675 const char * szKeyId,
8676 const char * szCertId,
8677 const char * szPIXCertChainId,
8678 const char * szURL,
8679 DWORD dwCountRequestHeaderList,
8680 const char * pszRequestHeaderList[],
8681 DWORD dwTimeOut,
8682 DWORD * pdwSizeResponseHeaders,
8683 BYTE ** ppbResponseHeaders,
8684 DWORD * pdwSizeResponseBody,
8685 BYTE ** ppbResponseBody,
8686 DWORD dwParam);
8687
8724 const char * szKeyId,
8725 const char * szCertId,
8726 const char * szPIXCertChainId,
8727 const char * szURL,
8728 DWORD dwCountRequestHeaderList,
8729 const char * pszRequestHeaderList[],
8730 DWORD dwTimeOut,
8731 DWORD * pdwSizeResponseHeaders,
8732 BYTE ** ppbResponseHeaders,
8733 DWORD * pdwSizeResponseBody,
8734 BYTE ** ppbResponseBody,
8735 DWORD dwParam);
8736
8739/* Library version */
8740
8741int AAP_API DVersion ( DWORD dwType, DWORD *pdwMajor,
8742 DWORD *pdwMinor, DWORD *pdwRevision,
8743 DWORD *pdwBuild );
8744
8763 DWORD dwsize
8764);
8765
8774 void *p
8775);
8776
8779//Free and clean CERT_X509_INFO structure members
8781
8782
8783/* Logs and monitoring */
8784
8785int AAP_API DLogLineFormat ( char *szIn, char *szOut );
8786
8788 HSESSIONCTX hSession,
8789 DWORD *pdwLogLen
8790);
8791
8793 DWORD dwStart,
8794 DWORD dwOffset,
8795 HLOGCTX *phLogCtx,
8796 DWORD dwParam );
8797
8799 BYTE *pbLog,
8800 DWORD *pdwLogSize );
8801
8803
8804
8805int AAP_API DGetStatInfo ( HSESSIONCTX hSession, DWORD *pdwSessions,
8806 DWORD *pdwCPU, DWORD *pdwUnit,
8807 DWORD *pdwMemTotal, DWORD *pdwMemUsed,
8808 DWORD *pdwSwapTotal, DWORD *pdwSwapUsed );
8809
8810int AAP_API DGetNetInfo ( HSESSIONCTX hSession, BYTE **ppbNetInfo, DWORD *pdwNetInfoCount, DWORD dwFlags );
8811
8812
8813/* Digital certificate */
8814
8816 DWORD dwCertLen,
8817 DWORD dwOutFormat,
8818 BYTE **ppbOutCert,
8819 DWORD *pdwOutCertLen,
8820 DWORD dwReserved );
8821
8822
8824 DWORD dwECLen,
8825 DWORD dwInForm,
8826 void *pvPrivKeyInfo,
8827 DWORD dwOutForm,
8828 DWORD dwReserved );
8829
8830
8832 DWORD dwECLen,
8833 DWORD dwInForm,
8834 void *pvPubKeyInfo,
8835 DWORD dwOutForm,
8836 DWORD dwReserved );
8837
8864 HSESSIONCTX hSession,
8865 char *szMasterKeyId,
8866 DWORD dwParamBlobType,
8867 void *pvParamBlob,
8868 DWORD dwParamBlobLen,
8869 BYTE *pbOTPBlob,
8870 DWORD *pdwOTPBlobLen,
8871 DWORD dwFlags
8872);
8873
8874
8875
8876
8906 HSESSIONCTX hSession,
8907 char *szMasterKeyId,
8908 char *szOTP,
8909 BYTE *pbOATHBlob,
8910 DWORD *pdwOATHBlobLen,
8911 DWORD dwFlags
8912);
8913
8928 HSESSIONCTX hSession,
8929 char *szMasterKeyId,
8930 BYTE bOTPLen,
8931 BYTE *pbOATHBlob,
8932 DWORD dwOATHBlobLen,
8933 char *szOTP,
8934 DWORD dwFlags
8935);
8936
8966 HSESSIONCTX hSession,
8967 DWORD dwSetup,
8968 BYTE bOTPLen,
8969 const char *szSK,
8970 const char *szSuite,
8971 const BYTE *pbCounter,
8972 const BYTE *pbQuestion,
8973 BYTE bQuestionLen,
8974 const BYTE *pbPinHash,
8975 const char *szSession,
8976 const BYTE *pbTimestamp,
8977 char *szOTP,
8978 DWORD dwFlags
8979);
8980
9001 const HSESSIONCTX hSession,
9002 char *szMasterKey,
9003 BYTE *pbInBlob,
9004 DWORD dwInBlobLen,
9005 DWORD dwOutBlobType,
9006 BYTE *pbOutInfo,
9007 DWORD *pdwOutInfoLen,
9008 DWORD dwParam
9009);
9010
9034 HSESSIONCTX hSession,
9035 char *szMasterKeyId,
9036 char *szOTP1,
9037 char *szOTP2,
9038 BYTE *pbOATHBlob,
9039 DWORD *pdwOATHBlobLen,
9040 DWORD dwFlags
9041);
9042
9059 HSESSIONCTX hSession,
9060 char *szMasterKey,
9061 BYTE *pbPSK,
9062 BYTE bPSKLen,
9063 BYTE *pbPSKC,
9064 DWORD dwPSKCLen,
9065 void **pvBlobList,
9066 DWORD *pdwBlobListQuantity,
9067 DWORD dwParam
9068);
9069
9072//DOATHIssueHOTPBlob is DEPRECATED. Use DOATHIssueBlob instead.
9074 HSESSIONCTX hSession,
9075 char *szMasterKeyId,
9076 DWORD dwParamBlobType,
9077 void *pvParamBlob,
9078 DWORD dwParamBlobLen,
9079 BYTE *pbOTPBlob,
9080 DWORD *pdwOTPBlobLen,
9081 DWORD dwFlags
9082);
9083
9084//DOATHCheckHOTP is DEPRECATED. Use DOATHCheckOTP instead.
9086 char *szMasterKeyId,
9087 char *szOTP,
9088 BYTE *pbOATHBlob,
9089 DWORD *pdwOATHBlobLen,
9090 DWORD dwFlags );
9091
9092//Users
9094 DWORD dwSecretLen,
9095 ND_OATH_uint64_t nuiMovingFactor,
9096 int nCodeDigits,
9097 BOOL bAddChecksum,
9098 int nTruncOff,
9099 char *szResult);
9100
9101
9135 HSESSIONCTX hSession,
9136 char *szSrcISPB,
9137 char *szDstISPB,
9138 DWORD dwTotalDataLen,
9139 BYTE bErrorCode,
9140 BYTE bSpecialTreatment,
9141 HSPBCTX *hSPBCtx,
9142 DWORD dwFlags
9143);
9144
9160 HSPBCTX hSPBCtx,
9161 BYTE *pbDataIn,
9162 DWORD dwDataInLen,
9163 BYTE *pbDataOut,
9164 DWORD *pdwDataOutLen
9165);
9166
9179 HSPBCTX *hSPBCtx,
9180 BYTE *pbSPBHeader,
9181 DWORD *pdwSPBHeaderLen
9182);
9183
9224 HSESSIONCTX hSession,
9225 char *szSrcISPB,
9226 char *szDstISPB,
9227 BYTE *pbHeader,
9228 DWORD dwHeaderLen,
9229 BYTE bAcceptExpiredCert,
9230 BYTE bAutoUpdateCert,
9231 DWORD dwMessageDataLen,
9232 HSPBCTX *hSPBCtx,
9233 DWORD dwFlags
9234);
9235
9253 HSPBCTX hSPBCtx,
9254 BYTE *pbDataIn,
9255 DWORD dwDataInLen,
9256 BYTE **ppbDataOut,
9257 DWORD *pdwDataOutLen
9258);
9259
9270 HSPBCTX *hSPBCtx
9271);
9272
9287 HSESSIONCTX hSession,
9288 char *szID,
9289 char *szPrivateKeyName,
9290 DWORD dwKeyParam,
9291 DWORD dwParam
9292);
9293
9329 HSESSIONCTX hSession,
9330 char *szPrivateKeyName,
9331 BYTE bVersion,
9332 char *szSPBSubject,
9333 DWORD dwOutType,
9334 DWORD *pdwCSRLen,
9335 BYTE **ppbCSR,
9336 DWORD dwParam
9337);
9338
9364 HSESSIONCTX hSession,
9365 BYTE bActivate,
9366 const char *szUser,
9367 BYTE *pbCertificate,
9368 DWORD dwCertificateLen,
9369 const char *szDomain,
9370 DWORD dwParam);
9371
9391 BYTE bActivate,
9392 const char *szUser,
9393 const char *szPkcs12File,
9394 const char *szPkcs12Pwd,
9395 const char *szDomain,
9396 DWORD dwKeyAttr);
9397
9415 const char *szPkcs12Pwd,
9416 const char *szISPB,
9417 const char *szReserved,
9418 BYTE **ppbPkcs12,
9419 DWORD *pdwPkcs12Len,
9420 DWORD dwReserved);
9421
9435 HSESSIONCTX hSession,
9436 const char *szIdCert,
9437 const char *szDomain,
9438 DWORD dwParam
9439);
9440
9453 HSESSIONCTX hSession,
9454 const char *szIdCert,
9455 DWORD dwReserved
9456);
9457
9472 HSESSIONCTX hSession,
9473 const char *szIdCert,
9474 BYTE **ppbCertificate,
9475 DWORD *pdwCertificateLen,
9476 DWORD dwParam
9477);
9478
9497 char *szISPB,
9498 char *szDomain,
9499 DWORD dwKeyType,
9500 char *szOutObjName,
9501 DWORD dwParam
9502);
9503
9518 HSESSIONCTX hSession,
9519 const char *szIdCert,
9520 EXT_MAP_2_OBJ_INFO *pstExtMap,
9521 DWORD dwParam
9522);
9523
9543 HSESSIONCTX hSession,
9544 char *szISPB,
9545 char *szKeyId,
9546 char *szCertId,
9547 DWORD dwParam
9548);
9549
9552/* Esta API pertence ao grupo SPB, mas precisa da documentacao*/
9554 HSESSIONCTX hSession,
9555 char *szDomain,
9556 BOOL bActive,
9557 DBLOB **pdbList,
9558 DWORD *pdwListLen,
9559 DWORD dwParam
9560);
9561
9599int AAP_API DBchainCreateXPrv(HSESSIONCTX hSession, BYTE bType, DWORD dwAttributes,
9600 const char *szId, const BYTE *pcbData, DWORD dwDataLen,
9601 DWORD dwReserved);
9602
9625int AAP_API DBchainCreateBip32Ckd(HSESSIONCTX hSession, BYTE bVersion, DWORD dwIndex,
9626 DWORD dwAttributes, const char *cszPar,
9627 const char *cszDst, DN_BCHAIN_KEY_INFO *pKeyInfo,
9628 DWORD dwReserved);
9629
9630#define DN_BCHAIN_CKD_OPT_BIP32_XPRV (1)
9631#define DN_BCHAIN_CKD_OPT_BIP32_ED25519_XPRV (2)
9632#define DN_BCHAIN_CKD_OPT_BIP32_P256_XPRV (3)
9653int AAP_API DBchainCreateCkd(HSESSIONCTX hSession, DWORD dwOpt, const BYTE *pbIn,
9654 BYTE *pbOut, DWORD dwReserved);
9655
9742 const char *cszHrp, const char *cszPk,
9743 BYTE *pbAddress, DWORD *pdwAddressLen,
9744 DWORD dwReserved);
9745
9776int AAP_API DBchainSignHash(HSESSIONCTX hSession, BYTE bType, BYTE bHashMode,
9777 BYTE *pbHash, DWORD dwHashLen, const char *cszPk,
9778 BYTE *pbSig, DWORD *pdwSigLen, DWORD dwReserved);
9779
9818int AAP_API DBchainVerify(HSESSIONCTX hSession, BYTE bSigType, BYTE bHashMode,
9819 const BYTE *pbHash, DWORD dwHashLen, const BYTE *pbSig,
9820 DWORD dwSigLen, BYTE bInPbkType, const BYTE *pbInPbk,
9821 BYTE bInPbkLen, DWORD dwReserved);
9822
9850int AAP_API DBchainEdDsaSign(HSESSIONCTX hSession, BYTE bType, const char *cszCtxStr,
9851 BYTE *pbData, DWORD dwDataLen, const char *cszPk,
9852 BYTE *pbSig, DWORD *pdwSigLen, DWORD dwReserved);
9853
9895int AAP_API DBchainEdDsaVerify(HSESSIONCTX hSession, BYTE bType, const char *cszCtxStr,
9896 BYTE *pbData, DWORD dwDataLen, BYTE bPbkType,
9897 BYTE *pbPbk, DWORD dwPbkLen, BYTE *pbSig,
9898 DWORD dwSigLen, DWORD dwReserved);
9926int AAP_API DBchainPkImport(HSESSIONCTX hSession, BYTE bFormat, DWORD dwAttributes,
9927 const char *cszId, const BYTE *pcbData, DWORD dwDataLen,
9928 DWORD dwReserved);
9929
9964int AAP_API DBchainPkExport(HSESSIONCTX hSession, BYTE bFormat, BYTE bVersion,
9965 BYTE bCompressed, const char *cszId, BYTE **ppbData,
9966 DWORD *pdwDataLen, DWORD dwReserved);
9967
9996 const char *cszId, BYTE *pbData,
9997 DWORD *pdwDataLen, DWORD dwReserved);
9998
10028 BYTE bHashMode, const BYTE *pbHash,
10029 DWORD dwHashLen, const BYTE *pbSig,
10030 DWORD dwSigLen, DN_BCHAIN_PBK *pPbk,
10031 DWORD dwReserved);
10032
10044 const char *cszId, void *pvData,
10045 DWORD *pdwDataLen);
10046
10069int AAP_API DBchainHashData(HSESSIONCTX hSession, BYTE bMode, BYTE *pbData,
10070 DWORD dwDataLen, BYTE *pbHash, DWORD *pdwHashLen,
10071 DWORD dwReserved);
10072
10085int AAP_API DBchainEd2X(HSESSIONCTX hSession, const char *cszPk,
10086 const char *cszTo, DWORD dwAttr, DWORD dwReserved);
10087
10095/* DSKeepNewSecret e DSKeepProbeSecret */
10096// Security level
10097#define DN_SKEEP_LEVEL_UNKNOWN (0)
10098#define DN_SKEEP_SEC_LEVEL_64b (1)
10099#define DN_SKEEP_SEC_LEVEL_96b (2)
10100#define DN_SKEEP_SEC_LEVEL_112b (3)
10101#define DN_SKEEP_SEC_LEVEL_128b (4)
10102#define DN_SKEEP_SEC_LEVEL_160b (5)
10104// Type
10105#define DN_SKEEP_TYPE_NMIND (0)
10106#define DN_SKEEP_TYPE_SCRD (1)
10107#define DN_SKEEP_TYPE_2FA (2)
10108#define DN_SKEEP_TYPE_CRT (4)
10137int AAP_API DSKeepNewSecret(HSESSIONCTX hSession, const char *cszId,
10138 BYTE bSecLevel, WORD wAuthType, DWORD dwReserved);
10139
10154int AAP_API DSKeepSplitSecret(HSESSIONCTX hSession, const char *cszId,
10155 BYTE bSecLevel, WORD wAuthType, BYTE bM, BYTE bN,
10156 SKeepShare *pstShares, DWORD dwReserved);
10157
10167int AAP_API DSKeepProbeSecret(HSESSIONCTX hSession, const char *cszId,
10168 SKeepProbeInfo *pstInfo, DWORD dwReserved);
10169
10181int AAP_API DSKeepMatchSecret(HSESSIONCTX hSession, const char *cszId,
10182 const SKeepShare *cpstShares, DWORD dwSharesCount,
10183 DWORD dwReserved);
10184
10196int AAP_API DSKeepRecoverSecret(HSESSIONCTX hSession, const char *cszId,
10197 const SKeepShare *cpstShares, DWORD dwSharesCount,
10198 SKeepRecoverInfo *pstRecoverInfo, DWORD dwReserved);
10199
10210int AAP_API DSKeepRemoveSecret(HSESSIONCTX hSession, const char *cszId,
10211 BYTE bSecLevel, WORD wAuthType, DWORD dwReserved);
10212
10213#define DN_SKEEP_SHARE_CKS_LEN (4)
10215#define DN_SKEEP_GEN_SHARE_CKS (1)
10228int AAP_API DSKeepCalcShareCks(DWORD dwType, const char *cszShare, char *szCks);
10229
10232#ifdef __cplusplus
10233 }
10234#endif
10235
10236#endif /* #ifndef DINAMO_H_INCLUDED */
#define MAX_IP_LEN
Definição dinamo.h:1825
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:1854
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:764
#define GET_INFO_MAX_NTP_KM_LEN
Definição dinamo.h:833
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:2121
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:2138
#define DN_SC_MAX_CARD_PRODUCT_NAME_LEN
Definição dinamo.h:2838
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:1826
#define RSA_8192_LEN
Definição dinamo.h:1401
int AAP_API DDestroyHSMP11Info(HP11ATTRCTX *phMeta, DWORD dwParam)
#define DN_SC_MAX_CARD_FAMILY_LEN
Definição dinamo.h:2837
int AAP_API DGetUserAcl(HSESSIONCTX hSession, char *szUser, DWORD *pdwUserAcl)
#define DN_BCHAIN_MAX_PBK_LEN
Definição dinamo.h:2438
int AAP_API DRemoveMapObj(const HSESSIONCTX hSession, const char *szMapObjId)
#define DN_SC_MAX_ATR_LEN
Definição dinamo.h:2836
#define MAX_P11_OBJ_ID
Definição dinamo.h:1831
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:648
#define DN_MAX_SUBJECT
Definição dinamo.h:2117
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:1859
int AAP_API DGetNetInfo(HSESSIONCTX hSession, BYTE **ppbNetInfo, DWORD *pdwNetInfoCount, DWORD dwFlags)
#define DN_M_OF_N_PART_LEN
Definição dinamo.h:3879
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:2244
#define DN_RCC_MAX_REPL_MC_VER
Definição dinamo.h:3772
#define SA_TP_MAX_OTP_LEN
Definição dinamo.h:2023
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:3878
#define DN_SC_M_OF_N_SHADOW_MATERIAL_MAX_LEN
Definição dinamo.h:4002
#define ND_SPB_ISPB_LEN
Definição dinamo.h:2007
int AAP_API DGetHSMP11InfoAttr(HP11ATTRCTX hInMeta, DWORD dwOption, void *pvOptionData, DWORD *pdwOptionDataLen, DWORD dwParam)
#define ND_SPB_MAX_SUBJECT
Definição dinamo.h:2013
#define GET_INFO_MAX_REPL_NODES
Definição dinamo.h:826
#define OATH_MAX_PSK_LEN
Definição dinamo.h:2057
#define NET_INFO_MAX_SROUTE_LEN
Definição dinamo.h:2139
int AAP_API DCert2CertInfo(BYTE *pbCert, DWORD dwCertLen, DWORD dwOutType, void *pvCertInfo, DWORD dwFlags)
#define DN_GLOBAL_OBJ_STATS_COUNT
Definição dinamo.h:3936
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:2119
#define ND_SPB_MAX_ALG_ID
Definição dinamo.h:2015
#define DN_KEM_MAX_SS_LEN
Definição dinamo.h:4045
#define DN_KEM_D_MAX_CTX_LEN
Definição dinamo.h:4043
#define DN_USR_A_TOKEN_KLEN
Definição dinamo.h:2213
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:3251
#define MAX_OBJ_ID_LEN
Definição dinamo.h:1837
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:827
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:1827
int AAP_API DGetHSMLogInit(HSESSIONCTX hSession, DWORD dwStart, DWORD dwOffset, HLOGCTX *phLogCtx, DWORD dwParam)
#define DN_LIC_MAX_NAME
Definição dinamo.h:735
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:2143
void * HCERTCTX
Definição dinamo.h:70
#define DN_SC_M_OF_N_SHADOW_MAX_LEN
Definição dinamo.h:4003
#define GET_INFO_MAX_REPL_DOMAIN_NAME
Definição dinamo.h:825
#define MAX_HSM_ID_NAME
Definição dinamo.h:1849
int AAP_API DGetHSMLogEnd(HLOGCTX *phLogCtx)
unsigned long DN_ULONG
Definição dinamo.h:65
#define DN_MAX_ISSUER
Definição dinamo.h:2118
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:832
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:3828
#define EFT_EMV_ARC_LEN
Definição dinamo.h:1861
#define DES_BLOCK
Definição dinamo.h:1363
#define DN_BCHAIN_BIP39_PWD_LEN_MAX
Definição dinamo.h:3829
#define MAX_OATH_HMAC_LEN
Definição dinamo.h:876
#define SA_HOTP_CHAP_LEN
Definição dinamo.h:2025
#define DN_MAX_EMAIL
Definição dinamo.h:2120
#define DN_SKEEP_M_OF_N_S_LEN
Definição dinamo.h:3975
#define DN_EC_MAX_BIG_NUM
Definição dinamo.h:2584
#define DN_M_OF_N_S_LEN
Definição dinamo.h:3875
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:3252
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:3876
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:3429
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:1815
#define D_MAX_DS_BIND_B62_ID
Definição dinamo.h:650
#define GET_INFO_MAX_NTPQ_LEN
Definição dinamo.h:831
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:829
#define MAX_HTTP_API_TOKEN_LEN
Definição dinamo.h:3430
#define MAX_MODULE_NAME_VERSION_LEN
Definição dinamo.h:1824
#define MAX_USR_PWD
Definição dinamo.h:1809
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:4044
#define MAX_OBJ_ID_FQN_LEN
Definição dinamo.h:1840
#define EFT_EMV_PAD_LEN
Definição dinamo.h:1863
#define EFT_VISA_KEY_CHECKSUM_LEN
Definição dinamo.h:1855
#define D_MAX_DS_BIND_URL
Definição dinamo.h:647
int AAP_API DRemoveKey(HSESSIONCTX hSession, char *szKeyId)
#define ND_SPB_MAX_ISSUER
Definição dinamo.h:2014
#define MAX_HSM_MODEL_NAME
Definição dinamo.h:1848
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:2140
#define GET_INFO_MAX_HW_STR_LEN
Definição dinamo.h:828
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:2141
void * HKEYCTX
Definição dinamo.h:69
#define MAX_HOTP_APP_NAME
Definição dinamo.h:1829
#define MAX_OBJ_NAME_LEN
Definição dinamo.h:1822
#define MAX_PAN_LEN
Definição dinamo.h:1713
int AAP_API DGetStatLogSize(HSESSIONCTX hSession, DWORD *pdwLogLen)
#define DN_BCHAIN_BIP32_SEED_LEN_MAX
Definição dinamo.h:3817
#define ALG_AES_256_LEN
Definição dinamo.h:1356
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:830
#define DN_SC_MAX_CARD_OS_VERSION_LEN
Definição dinamo.h:2839
#define MAX_HOTP_IMEI
Definição dinamo.h:1828
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:1832
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:1810
#define ISSUE_OATH_BLOB_V2_IV_LEN
Definição dinamo.h:2080
#define NET_INFO_MAX_SNMP_SL_STR
Definição dinamo.h:2142
#define DN_MAX_PRIVATE_KEY_ATTR_LEN
Definição dinamo.h:2813
unsigned long long ND_uint64_t
Definição dinamo.h:36
#define EFT_EMV_CSU_LEN
Definição dinamo.h:1862
int AAP_API DECPrivKeyDER2AlgId(const BYTE *pbDER, DWORD dwDERLen, int *pnAlgId, DWORD dwFlags)
#define ND_SPB_SN_MAX_LEN
Definição dinamo.h:2010
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:3771
#define ND_SPB_CA_LEN
Definição dinamo.h:2008
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:4795
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:4630
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:4363
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:4460
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:4671
int AAP_API DSCGetInfo(DN_SC_INFO *pstInfo, DWORD dwReserved)
RetCodeMsgType
Definição dinamo.h:5041
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:5043
@ CODE_MSG
Definição dinamo.h:5042
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:5222
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:3447
int nPort
Definição dinamo.h:3449
DN_A_TOKEN stAToken
Definição dinamo.h:3450
Definição dinamo.h:3436
char szAPIToken[MAX_HTTP_API_TOKEN_LEN+1]
Definição dinamo.h:3438
DWORD dwTimeout
Definição dinamo.h:3439
char szAddr[MAX_HTTP_ADDR_LEN+1]
Definição dinamo.h:3437
Definição dinamo.h:3411
int nPort
Definição dinamo.h:3413
char szUserId[MAX_USR_LEN]
Definição dinamo.h:3414
DWORD dwAuthType
Definição dinamo.h:3416
char szAddr[MAX_ADDR_LEN]
Definição dinamo.h:3412
char szPassword[MAX_USR_PWD]
Definição dinamo.h:3415
int nStrongAuthLen
Definição dinamo.h:3424
BYTE * pbStrongAuth
Definição dinamo.h:3423
Definição dinamo.h:3399
int nPort
Definição dinamo.h:3401
char szUserId[MAX_USR_LEN]
Definição dinamo.h:3402
char szAddr[MAX_ADDR_LEN]
Definição dinamo.h:3400
char szPassword[MAX_USR_PWD]
Definição dinamo.h:3403
Definição dinamo.h:3458
int nPort
Definição dinamo.h:3460
Definição dinamo.h:2557
int nPubKeyHSMAlgId
Definição dinamo.h:2570
DWORD dwVersion
Definição dinamo.h:2558
DBLOB dbPublicKey
Definição dinamo.h:2569
Definição dinamo.h:3157
int nVersion
Definição dinamo.h:3158
DBLOB dbIssuer
Definição dinamo.h:3161
DBLOB dbSubject
Definição dinamo.h:3160
P11_DATE dtNotBefore
Definição dinamo.h:3164
DBLOB dbSerialNumber
Definição dinamo.h:3162
P11_DATE dtNotAfter
Definição dinamo.h:3165
Definição dinamo.h:3779
DWORD dwIp
Definição dinamo.h:3781
DWORD dwRCode
Definição dinamo.h:3783
DWORD dwCount
Definição dinamo.h:3780
Definição dinamo.h:2530
void * pvData
Definição dinamo.h:2531
DWORD dwDataLen
Definição dinamo.h:2532
Definição dinamo.h:3389
DN_A_TOKEN stAToken
Definição dinamo.h:3390
QWORD qwExpiration
Definição dinamo.h:3391
Definição dinamo.h:3379
Definição dinamo.h:4102
DWORD dwAttributes
Definição dinamo.h:4113
DWORD dwIndex
Definição dinamo.h:4112
BYTE bVersion
Definição dinamo.h:4103
Definição dinamo.h:4123
BYTE bCkdType
Definição dinamo.h:4124
DN_BCHAIN_BIP32_CKD_IN_INFO stBaseInfo
Definição dinamo.h:4129
Definição dinamo.h:4137
BYTE bCkdType
Definição dinamo.h:4138
DN_BCHAIN_BIP32_CKD_IN_INFO stBaseInfo
Definição dinamo.h:4142
Definição dinamo.h:3822
DWORD dwSeedLen
Definição dinamo.h:3824
BYTE bVer
Definição dinamo.h:3823
Definição dinamo.h:3835
BYTE bVer
Definição dinamo.h:3836
Definição dinamo.h:3850
BYTE bStorageType
Definição dinamo.h:3851
BYTE bBip32Depth
Definição dinamo.h:3854
DWORD dwType
Definição dinamo.h:3852
Definição dinamo.h:3865
BYTE bLen
Definição dinamo.h:3867
BYTE bType
Definição dinamo.h:3866
Definição dinamo.h:3694
BYTE bOP
Definição dinamo.h:3701
Definição dinamo.h:3705
DWORD dwPADLen
Definição dinamo.h:3716
DWORD dwCSULen
Definição dinamo.h:3714
BYTE bOP
Definição dinamo.h:3710
Definição dinamo.h:2603
DWORD dwDataLen
Definição dinamo.h:2605
Definição dinamo.h:2615
DN_EC_BIG_NUMBER bnCofactor
Definição dinamo.h:2623
DN_EC_BIG_NUMBER bnOrder
Definição dinamo.h:2625
DN_EC_BIG_NUMBER bnP
Definição dinamo.h:2618
DN_EC_POINT_INFO stGeneratorPoint
Definição dinamo.h:2626
DN_EC_BIG_NUMBER bnA
Definição dinamo.h:2620
DN_EC_BIG_NUMBER bnB
Definição dinamo.h:2621
int nFieldType
Definição dinamo.h:2616
Definição dinamo.h:2609
DN_EC_BIG_NUMBER bnY
Definição dinamo.h:2611
DN_EC_BIG_NUMBER bnX
Definição dinamo.h:2610
Definição dinamo.h:2636
DN_EC_GROUP_INFO stGroupInfo
Definição dinamo.h:2637
DN_EC_BIG_NUMBER bnPrivatevalue
Definição dinamo.h:2638
Definição dinamo.h:2630
DN_EC_GROUP_INFO stGroupInfo
Definição dinamo.h:2631
DN_EC_POINT_INFO stPublicPoint
Definição dinamo.h:2632
Definição dinamo.h:2646
BYTE * pbRawOctetString
Definição dinamo.h:2647
DWORD dwHintSPKILen
Definição dinamo.h:2650
BYTE * pbHintSPKI
Definição dinamo.h:2649
DWORD dwRawOctetStringLen
Definição dinamo.h:2648
Definição dinamo.h:2742
BYTE bIsEftd0Active
Definição dinamo.h:2745
DWORD dwKeyAliasCount
Definição dinamo.h:2747
BYTE bMsgHeaderLen
Definição dinamo.h:2743
BYTE bPinLen
Definição dinamo.h:2744
BYTE bRestrictKcv
Definição dinamo.h:2746
DN_EFTD_KEY_ALIAS * pstKeyAlias
Definição dinamo.h:2748
Definição dinamo.h:2719
BYTE bIsEftd0Active
Definição dinamo.h:2722
BYTE bMsgHeaderLen
Definição dinamo.h:2720
BYTE bPinLen
Definição dinamo.h:2721
Definição dinamo.h:2730
Definição dinamo.h:6410
int nEphemeralKekAlg
Definição dinamo.h:6412
char * szKeKKid
Definição dinamo.h:6411
char * szGenerator
Definição dinamo.h:6413
Definição dinamo.h:3956
DN_OBJ_STATS stGlobal
Definição dinamo.h:3957
Definição dinamo.h:4031
QWORD dtLastHeal
Definição dinamo.h:4037
QWORD dtLastRun
Definição dinamo.h:4035
QWORD qwHealCounter
Definição dinamo.h:4034
QWORD qwCheckCounter
Definição dinamo.h:4033
QWORD qwRunCounter
Definição dinamo.h:4032
QWORD dtLastCheck
Definição dinamo.h:4036
Definição dinamo.h:4092
DWORD dwSharedSecretLen
Definição dinamo.h:4094
Definição dinamo.h:4080
DWORD dwCiphertextLen
Definição dinamo.h:4084
DWORD dwSharedSecretLen
Definição dinamo.h:4083
Definição dinamo.h:4057
DWORD dwAttr
Definição dinamo.h:4068
DWORD dwType
Definição dinamo.h:4067
BYTE bCtxLen
Definição dinamo.h:4065
BYTE bOp
Definição dinamo.h:4058
Definição dinamo.h:2883
INT nMax
Definição dinamo.h:2887
ND_uint64_t qwExpires
Definição dinamo.h:2885
INT nVal
Definição dinamo.h:2886
ND_uint64_t qwCreated
Definição dinamo.h:2884
Definição dinamo.h:3885
BYTE bN
Definição dinamo.h:3888
BYTE bM
Definição dinamo.h:3887
BYTE bPos
Definição dinamo.h:3886
Definição dinamo.h:3896
Definição dinamo.h:3904
DWORD dwPartCount
Definição dinamo.h:3908
Definição dinamo.h:2797
int nAlgId
Definição dinamo.h:2798
QWORD qwCount
Definição dinamo.h:2799
Definição dinamo.h:3915
ND_uint64_t uCount
Definição dinamo.h:3919
ND_uint64_t tFirst
Definição dinamo.h:3916
ND_uint64_t uLast
Definição dinamo.h:3918
ND_uint64_t uFirst
Definição dinamo.h:3917
Definição dinamo.h:3926
DN_OBJ_STAT_INFO stTouch
Definição dinamo.h:3927
DN_OBJ_STAT_INFO stUsage
Definição dinamo.h:3928
Definição dinamo.h:2675
DWORD dwDataLen
Definição dinamo.h:2677
Definição dinamo.h:2816
DWORD dwExponent2Len
Definição dinamo.h:2830
DWORD dwPrime2Len
Definição dinamo.h:2826
DWORD dwModulusLen
Definição dinamo.h:2818
DWORD dwPrime1Len
Definição dinamo.h:2824
DWORD dwCoefficientLen
Definição dinamo.h:2832
DWORD dwPrivExponentLen
Definição dinamo.h:2822
DWORD dwExponent1Len
Definição dinamo.h:2828
DWORD dwPubExponentLen
Definição dinamo.h:2820
Definição dinamo.h:2684
DN_RSA_BIG_NUMBER bnModulus
Definição dinamo.h:2685
DN_RSA_BIG_NUMBER bnPubExponent
Definição dinamo.h:2686
Definição dinamo.h:2845
BOOL bHasPINInfo
Definição dinamo.h:2862
BOOL bIsPINSMCOn
Definição dinamo.h:2863
BOOL bIsFormatted
Definição dinamo.h:2860
BYTE bLockByte1
Definição dinamo.h:2856
BYTE bPINMMPN
Definição dinamo.h:2864
BYTE bPINSCR
Definição dinamo.h:2865
BYTE bCardChipVersion
Definição dinamo.h:2855
BYTE bCardProgramVersion
Definição dinamo.h:2854
BOOL bIsPINLocked
Definição dinamo.h:2861
BOOL bIsOEMKeyAvailable
Definição dinamo.h:2859
BOOL bHasLegacyCard
Definição dinamo.h:2858
BYTE bPINUCR
Definição dinamo.h:2866
int nATRSize
Definição dinamo.h:2847
BYTE bPINCKS
Definição dinamo.h:2867
BYTE bLockByte2
Definição dinamo.h:2857
Definição dinamo.h:4014
BYTE bN
Definição dinamo.h:4017
BYTE bM
Definição dinamo.h:4016
BYTE bPos
Definição dinamo.h:4015
Definição dinamo.h:4025
int nVersion
Definição dinamo.h:4026
Definição dinamo.h:2807
DWORD dwObjCountCount
Definição dinamo.h:2810
DN_OBJ_COUNT * pstObjCount
Definição dinamo.h:2809
Definição dinamo.h:3756
BYTE bVersion
Definição dinamo.h:3757
Definição dinamo.h:2666
DBLOB dbEcPoint
Definição dinamo.h:2667
DBLOB dbEcParams
Definição dinamo.h:2668
Definição dinamo.h:3670
DWORD dwAttributes
Definição dinamo.h:3671
EFT_AES_KEY_PARTS stParts
Definição dinamo.h:3672
Definição dinamo.h:3659
Definição dinamo.h:3679
Definição dinamo.h:3645
Definição dinamo.h:3540
DWORD dwObjAlgId2
Definição dinamo.h:3543
DWORD dwObjAlgId1
Definição dinamo.h:3541
Definição dinamo.h:3740
DWORD dwTargetKeyAlg
Definição dinamo.h:3744
DWORD dwTargetKeyAttributes
Definição dinamo.h:3745
DBLOB dbPubKey
Definição dinamo.h:3746
DBLOB dbKDFData
Definição dinamo.h:3747
Definição dinamo.h:3724
DWORD dwTargetKeyAlg
Definição dinamo.h:3728
DWORD dwTargetKeyAttributes
Definição dinamo.h:3729
DBLOB dbPubKey
Definição dinamo.h:3730
DBLOB dbKDFData
Definição dinamo.h:3731
Definição dinamo.h:2755
BYTE * pbPubKey
Definição dinamo.h:2760
DWORD dwFlags
Definição dinamo.h:2758
BOOL bTempKey
Definição dinamo.h:2759
int nAlgId
Definição dinamo.h:2757
DWORD dwPubKeyLen
Definição dinamo.h:2761
Definição dinamo.h:3359
DWORD dwImageLen
Definição dinamo.h:3361
Definição dinamo.h:3352
DWORD dwParam
Definição dinamo.h:3353
DWORD dwHipFlags
Definição dinamo.h:3354
DWORD dwHipColor
Definição dinamo.h:3355
Definição dinamo.h:3338
DWORD dwStructId
Definição dinamo.h:3339
Definição dinamo.h:3169
DWORD dwObjAttr
Definição dinamo.h:3172
DWORD dwObjHotpFlags
Definição dinamo.h:3173
DBLOB * pdbStLogoImage
Definição dinamo.h:3177
DWORD dwStructId
Definição dinamo.h:3170
Definição dinamo.h:3344
DWORD dwStructId
Definição dinamo.h:3345
Definição dinamo.h:2495
int nPort
Definição dinamo.h:2497
time_t tmNow
Definição dinamo.h:2498
int nqtdcache
Definição dinamo.h:2499
Definição dinamo.h:2576
Definição dinamo.h:3088
ISSUE_OATH_INFO_t stInfo
Definição dinamo.h:3089
Definição dinamo.h:3097
ISSUE_OATH_INFO_t stInfo
Definição dinamo.h:3098
Definição dinamo.h:3022
BYTE seed_len
Definição dinamo.h:3023
ND_OATH_uint64_t T0
Definição dinamo.h:3043
WORD time_step
Definição dinamo.h:3038
ND_OATH_uint64_t moving_factor
Definição dinamo.h:3030
BYTE truncation_offset
Definição dinamo.h:3034
Definição dinamo.h:3057
BYTE seed_len
Definição dinamo.h:3058
ND_OATH_uint64_t T0
Definição dinamo.h:3078
WORD time_step
Definição dinamo.h:3073
ND_OATH_uint64_t moving_factor
Definição dinamo.h:3065
BYTE truncation_offset
Definição dinamo.h:3069
Definição dinamo.h:2987
WORD wTimeStep
Definição dinamo.h:2999
BYTE bUseDefaultMovingFactor
Definição dinamo.h:3008
ND_OATH_uint64_t otMovingFactor
Definição dinamo.h:3011
ND_OATH_uint64_t otT0
Definição dinamo.h:3004
BYTE bTruncationOffset
Definição dinamo.h:2995
BYTE bSeedLen
Definição dinamo.h:2988
Definição dinamo.h:2507
HSM_ADDR * pstLBList
Definição dinamo.h:2508
DWORD dwLBListCount
Definição dinamo.h:2509
Definição dinamo.h:3532
char szObj1Id[MAX_OBJ_NAME_LEN+1]
Definição dinamo.h:3534
char szObj2Id[MAX_OBJ_NAME_LEN+1]
Definição dinamo.h:3536
DWORD dwObj1AlgId
Definição dinamo.h:3533
DWORD dwObj2AlgId
Definição dinamo.h:3535
Definição dinamo.h:3549
DWORD dwModuleId
Definição dinamo.h:3550
char szModuleNameVersion[MAX_MODULE_NAME_VERSION_LEN]
Definição dinamo.h:3551
Definição dinamo.h:3107
ISSUE_OATH_BLOB_t stOATHBlob
Definição dinamo.h:3108
Definição dinamo.h:3116
BYTE key_len
Definição dinamo.h:3121
BYTE type
Definição dinamo.h:3117
BYTE truncation_offset
Definição dinamo.h:3123
Definição dinamo.h:3130
OATH_SA_v1 sa_v1
Definição dinamo.h:3131
ND_OATH_uint64_t T0
Definição dinamo.h:3136
WORD time_step
Definição dinamo.h:3132
Definição dinamo.h:2892
DWORD len
Definição dinamo.h:2896
DWORD type
Definição dinamo.h:2894
DWORD attrib
Definição dinamo.h:2895
DWORD version
Definição dinamo.h:2893
Definição dinamo.h:2969
OBJ_HDR_V1 stSlot2Header
Definição dinamo.h:2976
OBJ_HDR_V1 stObjectHeader
Definição dinamo.h:2970
BYTE bBlockedStatus
Definição dinamo.h:2979
ND_uint64_t stCreationTime
Definição dinamo.h:2980
OBJ_HDR_V1 stSlot1Header
Definição dinamo.h:2973
Definição dinamo.h:2958
OBJ_HDR_V1 stObjectHeader
Definição dinamo.h:2960
DWORD dwVERB
Definição dinamo.h:2959
Definição dinamo.h:5469
const char * pszString
Definição dinamo.h:5471
DWORD dwId
Definição dinamo.h:5470
DWORD dwType
Definição dinamo.h:5472
Definição dinamo.h:2903
QWORD qwOrig_creat
Definição dinamo.h:2913
QWORD qwDeactiv
Definição dinamo.h:2908
QWORD qwComprom
Definição dinamo.h:2910
QWORD qwLast_change
Definição dinamo.h:2912
QWORD qwC_occur
Definição dinamo.h:2909
QWORD qwProtect_s
Definição dinamo.h:2907
QWORD qwMask
Definição dinamo.h:2914
QWORD qwInit
Definição dinamo.h:2904
QWORD qwActiv
Definição dinamo.h:2905
QWORD qwProc_s
Definição dinamo.h:2906
BYTE bState
Definição dinamo.h:2915
QWORD qwArchive
Definição dinamo.h:2911
Definição dinamo.h:3150
Definição dinamo.h:2769
ND_uint64_t redirect_time
Definição dinamo.h:2776
ND_uint64_t upload_size
Definição dinamo.h:2783
ND_uint64_t upload_speed
Definição dinamo.h:2780
ND_uint64_t starttransfer_time
Definição dinamo.h:2774
ND_uint64_t content_length_upload
Definição dinamo.h:2778
ND_uint64_t connect_time
Definição dinamo.h:2771
ND_uint64_t request_size
Definição dinamo.h:2787
ND_uint64_t pretransfer_time
Definição dinamo.h:2773
ND_uint64_t num_connects
Definição dinamo.h:2786
ND_uint64_t download_size
Definição dinamo.h:2782
ND_uint64_t http_response_code
Definição dinamo.h:2789
ND_uint64_t redirect_count
Definição dinamo.h:2785
ND_uint64_t name_lookup_time
Definição dinamo.h:2770
ND_uint64_t received_header_size
Definição dinamo.h:2788
ND_uint64_t appconnect_time
Definição dinamo.h:2772
ND_uint64_t download_speed
Definição dinamo.h:2781
ND_uint64_t total_time
Definição dinamo.h:2775
ND_uint64_t content_length_download
Definição dinamo.h:2779
Definição dinamo.h:3555
BYTE Trusted
Definição dinamo.h:3569
BYTE Local
Definição dinamo.h:3571
BYTE WrapWithTrusted
Definição dinamo.h:3570
DWORD JavaMidpSecDomain
Definição dinamo.h:3574
DWORD CertificateCategory
Definição dinamo.h:3573
DWORD KeyGenMechanism
Definição dinamo.h:3575
DWORD Class
Definição dinamo.h:3559
Definição dinamo.h:3629
BYTE bMaxInvalidLogins
Definição dinamo.h:3631
BYTE bLower
Definição dinamo.h:3638
BYTE bHistory
Definição dinamo.h:3633
BYTE bUpper
Definição dinamo.h:3637
BYTE bMinLength
Definição dinamo.h:3635
BYTE bExpiration
Definição dinamo.h:3632
BYTE bMinSpecial
Definição dinamo.h:3636
Definição dinamo.h:3331
DWORD dwPeer
Definição dinamo.h:3333
BYTE bOP
Definição dinamo.h:3332
Definição dinamo.h:2657
DBLOB dbPubExponent
Definição dinamo.h:2659
DBLOB dbModulus
Definição dinamo.h:2658
Definição dinamo.h:3967
WORD wAuthType
Definição dinamo.h:3968
BYTE bSecLevel
Definição dinamo.h:3969
Definição dinamo.h:3981
BYTE bSecLevel
Definição dinamo.h:3982
Definição dinamo.h:3990
Definição dinamo.h:2518
int nPort
Definição dinamo.h:2519
Definição dinamo.h:2538
DWORD dwVersion
Definição dinamo.h:2539
DBLOB dbPublicKey
Definição dinamo.h:2553
Definição dinamo.h:3144
Definição dinamo.h:2455
BYTE bFrom
Definição dinamo.h:2474
BYTE bCKS
Definição dinamo.h:2463
BYTE bFlags
Definição dinamo.h:2456
BYTE bType
Definição dinamo.h:2473
BYTE bTo
Definição dinamo.h:2480
Definição dinamo.h:3315
SYS_NTP_INFO stNTPInfo
Definição dinamo.h:3323
int nFilledCount
Definição dinamo.h:3316
SYS_HW_STR_INFO stHardwareInfo
Definição dinamo.h:3322
SYS_REPL_INFO stReplicationInfo
Definição dinamo.h:3320
DWORD dwFIPSReturnCode
Definição dinamo.h:3325
SYS_STATUS_INFO stStatusInfo
Definição dinamo.h:3317
DWORD dwFIPSMode
Definição dinamo.h:3318
SYS_DISK_INFO stDiskInfo
Definição dinamo.h:3319
QWORD qwCurrentDateTime
Definição dinamo.h:3321
SYS_PENDING_INFO stPendingInfo
Definição dinamo.h:3326
SYS_COUNTER_INFO stCounterInfo
Definição dinamo.h:3324
Definição dinamo.h:3242
QWORD qwUsers
Definição dinamo.h:3243
QWORD qwSLBeFileSize
Definição dinamo.h:3245
QWORD qwVMSize
Definição dinamo.h:3247
QWORD qwTasks
Definição dinamo.h:3246
QWORD qwObjects
Definição dinamo.h:3244
Definição dinamo.h:3216
DWORD dwBlockSize
Definição dinamo.h:3217
DWORD dwFreeBlocks
Definição dinamo.h:3219
DWORD dwTotalBlocks
Definição dinamo.h:3218
Definição dinamo.h:3210
DWORD dwBatteryOK
Definição dinamo.h:3212
DWORD dwUptime
Definição dinamo.h:3211
Definição dinamo.h:3267
Definição dinamo.h:3194
DWORD dwSysNetInfoCount
Definição dinamo.h:3196
SYS_NET_INFO * pstSysNetInfo
Definição dinamo.h:3195
Definição dinamo.h:3183
DWORD dwSpeed
Definição dinamo.h:3189
BYTE bUp
Definição dinamo.h:3188
Definição dinamo.h:3284
BYTE bENABLED
Definição dinamo.h:3285
Definição dinamo.h:3274
DWORD dwKeyLen
Definição dinamo.h:3278
WORD wKeyIndex
Definição dinamo.h:3277
Definição dinamo.h:3259
BYTE bPendingBackup
Definição dinamo.h:3260
Definição dinamo.h:3292
DWORD dwDiscoveryPulse
Definição dinamo.h:3306
QWORD qwSpVal
Definição dinamo.h:3301
DWORD dwManagerPulse
Definição dinamo.h:3304
DWORD dwRecoveryPulse
Definição dinamo.h:3305
QWORD qwEventType
Definição dinamo.h:3297
DWORD dwBoundEth
Definição dinamo.h:3294
WORD wSpvv
Definição dinamo.h:3302
QWORD qwGuid
Definição dinamo.h:3295
QWORD qwDateTime
Definição dinamo.h:3296
DWORD dwDiscoveryReset
Definição dinamo.h:3303
DWORD dwState
Definição dinamo.h:3298
Definição dinamo.h:3227
DWORD dwMemTotal
Definição dinamo.h:3231
DWORD dwMemUsed
Definição dinamo.h:3232
DWORD dwCPU
Definição dinamo.h:3229
DWORD dwUnit
Definição dinamo.h:3230
DWORD dwSwapTotal
Definição dinamo.h:3233
DWORD dwSwapUsed
Definição dinamo.h:3234
DWORD dwSessions
Definição dinamo.h:3228
Definição dinamo.h:2710
Definição dinamo.h:3468
DBLOB dbHSMCert
Definição dinamo.h:3472
DBLOB dbPrivateKeyCert
Definição dinamo.h:3471
char * szPrivateKeyPwd
Definição dinamo.h:3470
DBLOB dbPrivateKey
Definição dinamo.h:3469
Definição dinamo.h:3369
DWORD dwAttempts
Definição dinamo.h:3372
int nBlocked
Definição dinamo.h:3371
Definição dinamo.h:2696
DBLOB dbCert
Definição dinamo.h:2703
BYTE bOP
Definição dinamo.h:2698
Definição dinamo.h:3479
DWORD dwAuthMask
Definição dinamo.h:3482
char szPassword[MAX_USR_PWD+1]
Definição dinamo.h:3481
char szUserId[MAX_USR_LEN+1]
Definição dinamo.h:3480
Definição dinamo.h:3510
DWORD dwACL
Definição dinamo.h:3520
DWORD dwState
Definição dinamo.h:3512