API C/C++
HSM Dinamo
Cargando...
Buscando...
No se han encontrado entradas
dinamo.h
Consulte la documentación de este archivo.
1/* Dinamo Networks. */
2/* Date: 20220930(AAAAMMDD) */
3
4#ifndef DINAMO_H_INCLUDED
5#define DINAMO_H_INCLUDED
6
13#ifdef _WIN32
14 #include <windows.h>
15#endif
16
17#include <time.h>
18
28#ifdef _WIN32
29 typedef unsigned __int64 ND_uint64_t;
30 typedef unsigned __int64 ND_OATH_uint64_t;
31 #define AAP_API __stdcall
32
33 typedef unsigned long long int QWORD;
34 #define DWORD_PRINT_TYPE "lu"
35 #define DWORD_PRINT "%" DWORD_PRINT_TYPE
36#else
37 typedef unsigned long long ND_uint64_t;
38 typedef unsigned long long ND_OATH_uint64_t;
39 #ifdef INTEL_GCC
40 #define AAP_API __attribute__((stdcall))
41 #else
42 #define AAP_API
43 #endif /* INTEL_GCC */
44
45 typedef unsigned char BYTE;
46 typedef unsigned int DWORD;
47 typedef unsigned long long int QWORD;
48 typedef unsigned short WORD;
49 typedef int BOOL;
50 typedef unsigned int UINT;
51 typedef signed int INT;
52 typedef signed char CHAR;
53
54 #define DWORD_PRINT_TYPE "u"
55 #define DWORD_PRINT "%" DWORD_PRINT_TYPE
56
57 #ifndef FALSE
58 #define FALSE (0)
59 #endif
60 #ifndef TRUE
61 #define TRUE (1)
62 #endif
63
64#endif
65
66typedef unsigned long DN_ULONG;
67
68typedef void *HSESSIONCTX;
69typedef void *HHASHCTX;
70typedef void *HKEYCTX;
71typedef void *HCERTCTX;
72typedef void *HSPBCTX;
73typedef void *HCHAPCTX;
74typedef void *HLOGCTX;
75typedef void *HOBJMETACTX;
76typedef void *HP11ATTRCTX;
77typedef void *HOBJMETASEARCHCTX;
78
79#define D_SOCKET_FAILED (-10)
80#define D_GETHOSTNAME_FAILED (-11)
81#define D_CONNECT_FAILED (-12)
82#define D_SEND_FAILED (-13)
83#define D_RECV_FAILED (-14)
84#define D_INVALID_PACKAGE_SIZE (-15)
85#define D_SETSOCKOPT_FAILED (-16)
86#define D_GETSOCKOPT_FAILED (-17)
87#define D_ALL_LOAD_BALANCE_HSM_FAILED (-18)
88#define D_SSL_CTX_NEW_FAILED (1)
89#define D_SSL_NEW_FAILED (2)
90#define D_SSL_CONNECT_FAILED (3)
91#define D_SSL_GENERAL_ERROR (4)
92#define D_CRL_GENERAL_ERROR (101)
93#define D_CRL_SSL_CACERT_BADFILE (102)
94#define D_CRL_COULDNT_RESOLVE_HOST (103)
95#define D_CRL_COULDNT_CONNECT (104)
96#define D_CRL_OPERATION_TIMEDOUT (105)
97#define D_CRL_PEER_FAILED_VERIFICATION (106)
98#define D_CRL_SSL_CONNECT_ERROR (107)
99#define D_CRL_SEND_ERROR (108)
100#define D_CRL_RECV_ERROR (109)
101#define D_CRL_SSL_CERTPROBLEM (110)
102#define D_CRL_SSL_ISSUER_ERROR (111)
103#define D_CRL_AUTH_ERROR (112)
104#define D_CRL_GOT_NOTHING (113)
105#define D_CRL_UNSUPPORTED_PROTOCOL (114)
106#define D_CRL_URL_MALFORMAT (115)
107#define D_CRL_WEIRD_SERVER_REPLY (116)
108#define D_CRL_REMOTE_ACCESS_DENIED (117)
109#define D_CRL_HTTP2 (118)
110#define D_CRL_WRITE_ERROR (119)
111#define D_CRL_READ_ERROR (120)
112#define D_CRL_HTTP_POST_ERROR (121)
113#define D_CRL_ABORTED_BY_CALLBACK (122)
114#define D_CRL_TOO_MANY_REDIRECTS (123)
115#define D_CRL_SSL_CIPHER (124)
116#define D_CRL_BAD_CONTENT_ENCODING (125)
117#define D_CRL_LOGIN_DENIED (126)
118#define D_CRL_INSTALL_SIGN_CALL_FAILED (127)
119#define D_CRL_CERT_LOAD_FAILED (128)
120#define D_CRL_CHAIN_LOAD_FAILED (129)
121#define D_CRL_PRIVATE_KEY_LOAD_FAILED (130)
122#define D_WSASTARTUP (2001)
123#define D_MEMORY_ALLOC (2002)
124#define D_INVALID_PARAM (1001)
125#define D_INVALID_TYPE (1002)
126#define D_INVALID_STATE (1003)
127#define D_LOGGING_NOT_STARTED (1004)
128#define D_MORE_DATA (1005)
129#define D_INVALID_RESPONSE (1006)
130#define D_INVALID_CONTEXT (1007)
131#define D_KEY_GEN_ERROR (1008)
132#define D_KEY_DEL_ERROR (1009)
133#define D_KEY_NOT_EXISTS (1010)
134#define D_INVALID_DATA_LENGTH (1011)
135#define D_INVALID_KEY_ALG (1012)
136#define D_INVALID_PADDING (1013)
137#define D_INVALID_KEY (1014)
138#define D_BAD_DATA (1015)
139#define D_INVALID_PUBKEY (1016)
140#define D_INVALID_ALG_ID (1017)
141#define D_INVALID_HASH (1018)
142#define D_INIT_HASH_FAILED (1019)
143#define D_INVALID_HASH_STATE (1020)
144#define D_END_HASH_FAILED (1021)
145#define D_GET_INFO_ERROR (1022)
146#define D_INVALID_PIN_LEN (1023)
147#define D_OPEN_FILE_FAILED (1025)
148#define D_BACKUP_FAILED (1026)
149#define D_RESTORE_FAILED (1027)
150#define D_INVALID_CALLBACK (1028)
151#define D_NOT_IMPLEMENTED (1029)
152#define D_AUTH_FAILED (1030)
153#define D_INVALID_CLEAR_OP (1031)
154#define D_CHANGE_PWD_ERROR (1032)
155#define D_PWD_SIZE_ERROR (1033)
156#define D_IMPORT_KEY_ERROR (1034)
157#define D_INVALID_KEY_ID (1035)
158#define D_INVALID_FLAG (1036)
159#define D_INVALID_SIGNATURE (1037)
160#define D_INVALID_PUB_KEY (1038)
161#define D_INVALID_KEY_STATE (1039)
162#define D_CREATE_USER_ERROR (1040)
163#define D_NO_MORE_OBJECT (1041)
164#define D_PUT_ENV_VAR_FAILED (1042)
165#define D_INVALID_FILE_SIZE (1043)
166#define D_INVALID_TEXT_SIZE (1044)
167#define D_FILE_ACCESS_ERROR (1045)
168#define D_INVALID_COUNTER (1046)
169#define D_INVALID_MODE (1047)
170#define D_INVALID_STRUCT_ID (1048)
171#define D_INVALID_IP_ADDRESS (1049)
172#define D_GET_PEER_IP_ERROR (1050)
173#define D_CERTIFICATE_PARSE_FAILED (1051)
174#define D_INVALID_KEY_PART_1 (1052)
175#define D_INVALID_KEY_PART_2 (1053)
176#define D_INVALID_KEY_PART_3 (1054)
177#define D_VERIFY_DAC_FAILED (1055)
178#define D_DEPRECATED (1056)
179#define D_NO_MATCHING_KEY_FOUND (1057)
180#define D_CALLBACK_ERROR (1058)
181#define D_INTERNAL_ERROR (1059)
182#define D_KEY_NOT_EXPORTABLE_ERROR (1060)
183#define D_INVALID_SPB_ID (1062)
184#define D_JSON_PARSE_ERROR (1063)
185#define D_JSON_PARSE_WRONG_TYPE_ERROR (1064)
186#define D_JSON_SET_VALUE_ERROR (1065)
187#define D_JSON_UNSET_VALUE_ERROR (1066)
188#define D_JSON_VALUE_NOT_FOUND (1067)
189#define D_JSON_OBJ_CREATE_ERROR (1068)
190#define D_SLP_PARSE_ERROR (1069)
191#define D_SLP_INTERNAL_ERROR (1070)
192#define D_SLP_TOO_MANY_SERVERS_ERROR (1071)
193#define D_INVALID_SERVER_VERSION (1072)
194#define D_GENERATE_PKCS12_ERROR (1073)
195#define D_SET_LOAD_BALANCE_LIST_ERROR (1074)
196#define D_OATH_BLOB_UPDATE (1075)
197#define D_GZIP_DEFLATE_ERROR (1076)
198#define D_HTTP_UNEXPECTED_STATUS_CODE (1077)
199#define D_BASE64_ERROR (1078)
200#define D_SC_READER_NOT_READY (1079)
201#define D_SC_NOT_FORMATTED (1080)
202#define D_SC_INVALID_PIN (1081)
203#define D_SC_READ_FAILED (1082)
204#define D_SC_UNEXPECTED_SVMK_STATUS (1083)
205#define D_SC_FAILED_USB_LIB_LOAD (1084)
206#define D_SC_INVALID_ATR_LEN (1085)
207#define D_SC_PIN_LOCKED (1086)
208#define D_SC_KATS_NEGOTIATION_FAILED (1087)
209#define D_SC_CHANGE_PIN_FAILED (1088)
210#define D_INVALID_DATA_FORMAT (1089)
211#define D_SC_FREEZE_FAILED (1090)
212#define D_SC_LEGACY_CARD_NOT_SUPPORTED (1091)
213#define D_SC_WOULD_OVERWRITE_SVMK (1092)
214#define D_SC_INVALID_SVMK_TYPE (1093)
215#define D_SC_WRITE_FAILED (1094)
216#define D_SC_ERASE_FAILED (1095)
217#define D_SC_SELECT_FAILED (1096)
218#define D_KEEP_ALIVE_ERROR (3001)
219#define D_RECEIVE_LOG_ERROR (3002)
220#define D_ERROR_NOTIFY (3003)
221
222// -------------------------------------------------------------------
223#define D_SUCCESS (0)
224#define D_ERR_UNKNOWN (5000)
225#define D_ERR_NET_FAIL (5001)
226#define D_ERR_ACCESS_DENIED (5002)
227#define D_ERR_CANNOT_CREATE_OBJ (5003)
228#define D_ERR_CANNOT_OPEN_OBJ (5004)
229#define D_ERR_CANNOT_DEL_OBJ (5005)
230#define D_ERR_CANNOT_ALLOC_RES (5006)
231#define D_ERR_INVALID_CTX (5007)
232#define D_ERR_INVALID_OPERATION (5008)
233#define D_ERR_INVALID_KEY (5009)
234#define D_ERR_NO_TLS_USED (5010)
235#define D_ERR_CANNOT_CHANGE_PWD (5011)
236#define D_ERR_OBJ_NOT_EXPORTABLE (5012)
237#define D_ERR_USR_ALREADY_EXISTS (5013)
238#define D_ERR_INVALID_USR_NAME (5014)
239#define D_ERR_CANNOT_CREATE_USR (5015)
240#define D_ERR_NO_MORE_LOG_SLOTS (5016)
241#define D_ERR_CANNOT_DELETE_USR (5017)
242#define D_ERR_CANNOT_DELETE_MASTER (5018)
243#define D_ERR_NOT_IMPLEMENTED (5019)
244#define D_ERR_USR_NOT_FOUND (5020)
245#define D_ERR_INVALID_PAYLOAD (5021)
246#define D_ERR_OBJ_ALREADY_EXISTS (5022)
247#define D_ERR_INVALID_OBJ_NAME (5023)
248#define D_ERR_OBJ_IN_USE (5024)
249#define D_ERR_CANNOT_WRITE_BACKUP_BLOB (5025)
250#define D_ERR_CANNOT_OPEN_BACKUP_BLOB (5026)
251#define D_ERR_CANNOT_RESTORE_BACKUP_BLOB (5027)
252#define D_ERR_INVALID_BACKUP_PIN_OR_LEN (5028)
253#define D_ERR_INVALID_XML_SIGNATURE (5029)
254#define D_ERR_INVALID_CERTIFICATE (5030)
255#define D_ERR_VERIFY_XML_FAILED (5031)
256#define D_ERR_INVALID_XML (5032)
257#define D_ERR_SIGN_XML_FAILED (5033)
258#define D_ERR_UPACK_VERIFY_FAILED (5034)
259#define D_ERR_CANNOT_TRUNCATE_LOG (5035)
260#define D_ERR_CANNOT_BACKUP_OLD_LOG (5036)
261#define D_ERR_CERTIFICATE_EXPIRED (5037)
262#define D_ERR_CERTIFICATE_FAILED (5038)
263#define D_ERR_CERTIFICATE_NOT_FOUND (5039)
264#define D_ERR_CERTIFICATE_REVOKED (5040)
265#define D_ERR_CERTIFICATE_ISSUER_FAILED (5041)
266#define D_ERR_CERTIFICATE_NOT_YET_VALID (5042)
267#define D_ERR_CERT_EXPIRED_SIGN_VALID (5043)
268#define D_ERR_CRL_EXPIRED (5044)
269#define D_ERR_INVALID_CRL_SIGN (5045)
270#define D_ERR_CRL_CERT_MISMATCH (5046)
271#define D_ERR_CERT_REVOKED (D_ERR_CERTIFICATE_REVOKED)
272#define D_ERR_CERT_REVOKED_LIBCLIENT_FIX1 (5047)
273#define D_ERR_ACCESS_DENIED_TOKEN_NOT_NEEDED (5048)
274#define D_ERR_ACCESS_DENIED_TOKEN_NEEDED (5049)
275#define D_ERR_CERT_REVOKED_CRL_VAL_UNUSED (5050)
276#define D_ERR_CERT_VALID_CRL_VAL_UNUSED (5051)
277#define D_ERR_CANNOT_PARSE_XML (5052)
278#define D_ERR_CANNOT_CREATE_XML_SIG_TEMPL (5053)
279#define D_ERR_CANNOT_ADD_XML_SIG_TEMPL_REF (5054)
280#define D_ERR_CANNOT_ADD_XML_SIG_TEMPL_TRANS (5055)
281#define D_ERR_CANNOT_ADD_XML_SIG_KEY_INFO (5056)
282#define D_ERR_CANNOT_ADD_XML_SIG_KEY_CERT (5057)
283#define D_ERR_CANNOT_ALLOC_XML_SIG_CTX (5058)
284#define D_ERR_CANNOT_PARSE_DER_PRIV_KEY (5059)
285#define D_ERR_XML_CANNOT_LOAD_PRIV_KEY (5060)
286#define D_ERR_XML_CANNOT_LOAD_CERT (5061)
287#define D_ERR_XML_CANNOT_CREATE_KEY_MNG (5062)
288#define D_ERR_XML_CANNOT_INIT_KEY_MNG (5063)
289#define D_ERR_XML_CANNOT_LOAD_TRUSTED_CERTS (5064)
290#define D_ERR_XML_SIG_NODE_NOT_FOUND (5065)
291#define D_ERR_XML_CERT_NODE_NOT_FOUND (5066)
292#define D_ERR_XML_CANNOT_DECODE_CERT_NODE (5067)
293#define D_ERR_CANNOT_PARSE_DER_CERT (5068)
294#define D_ERR_DEPRECATED_XML_COMPRESS (5069)
295#define D_ERR_INVALID_CERTIFICATE_NULL_RES (5070)
296#define D_ERR_CANNOT_RECREATE_MASTER (5071)
297#define D_ERR_CANNOT_CREATE_USR_STORAGE1 (5072)
298#define D_ERR_CANNOT_CREATE_USR_STORAGE2 (5073)
299#define D_ERR_CANNOT_CREATE_USR_DEFAULT_ACL (5074)
300#define D_ERR_CANNOT_ALLOC_CTX (5075)
301#define D_ERR_CANNOT_LOAD_PRIV_KEY (5076)
302#define D_ERR_CANNOT_DECODE_PUB_KEY (5077)
303#define D_ERR_CANNOT_GENERATE_RND_DATA (5078)
304#define D_ERR_CACHE_LAYER_EXHAUSTED (5079)
305#define D_ERR_RSA_POWER_SIGN_FAILED (5080)
306#define D_ERR_CANNOT_DEMOTE_MASTER (5081)
307#define D_ERR_CANNOT_GET_SYS_INFO (5100)
308#define D_ERR_CANNOT_ALLOC_UPACK_ID (5101)
309#define D_ERR_CANNOT_ALLOC_UPACK_PATH (5102)
310#define D_ERR_CANNOT_WRITE_UPACK_OBJ (5103)
311#define D_ERR_INVALID_CRL (5104)
312#define D_ERR_OPERATION_FAILED (5105)
313#define D_ERR_GET_USR_ACL_FAILED (5106)
314#define D_ERR_INVALID_SIGNATURE (5107)
315#define D_ERR_CANNOT_GENERATE_SOFT_TOKEN (5108)
316#define D_ERR_INVALID_SECRET (5109)
317#define D_ERR_ACCESS_DENIED_USR_BLOCKED (5120)
318#define D_ERR_INVALID_IMEI (5121)
319#define D_ERR_REPLAY_DETECTED (5122)
320#define D_ERR_NON_APPROVED_OPERATION (5123)
321#define D_ERR_ACCESS_DENIED_OBJ_BLOCKED (5124)
322#define D_ERR_DRBG_CONTINUOUS_TEST (5125)
323#define D_ERR_RSA_CONTINUOUS_TEST (5126)
324#define D_ERR_ECC_CONTINUOUS_TEST (5127)
325#define D_ERR_DES_CONTINUOUS_TEST (5128)
326#define D_ERR_AES_CONTINUOUS_TEST (5129)
327#define D_ERR_ALT_BN128_CONTINUOUS_TEST (5130)
328#define D_ERR_CANNOT_UPDATE_OBJ (5175)
329#define D_ERR_CANNOT_GET_PWD_POLICY (5176)
330#define D_ERR_PWD_BLOCKED_BY_POLICY (5177)
331#define D_ERR_PWD_EXPIRED (5178)
332#define D_ERR_CERT_VALID_CRL_VAL_UNUSED_CRL_EXPIRED (5179)
333#define D_ERR_CERT_VALID_CRL_EXPIRED (5180)
334#define D_ERR_INVALID_CERT_SIGN (5181)
335#define D_ERR_CANNOT_LOAD_CORRUPTED_OBJ (5200)
336#define D_ERR_INVALID_CERT_ISPB_MISMATCH (5230)
337#define D_ERR_INVALID_CA (5231)
338#define D_ERR_DEPRECATED_FUNCTION (5303)
339#define D_ERR_SERVER_BUSY (5304)
340#define D_ERR_SL_BE_BUSY (5305)
341#define D_ERR_SVMK_MISMATCH (5306)
342#define D_ERR_INVALID_CERT_SN_MISMATCH (5307)
343#define D_ERR_CANNOT_DEC_SYM_KEY (5308)
344#define D_ERR_CANNOT_REC_SYM_KEY (5309)
345#define D_SUCCESS_CANNOT_OPEN_OBJ_AT_REPL (5401)
346#define D_ERR_CANNOT_OPEN_INVALID_OBJ_AT_REPL (5402)
347#define D_ERR_CANNOT_SL_BE_CHECK_OBJ (5500)
348#define D_ERR_CANNOT_WRITE_AUTH_INFO_OBJ (5501)
349#define D_ERR_CANNOT_GEN_RSA_KEY (5502)
350#define D_ERR_CANNOT_GEN_ECC_CURVE (5503)
351#define D_ERR_CANNOT_GEN_ECC_KEY (5504)
352#define D_ERR_CANNOT_GEN_ECC_DER (5505)
353#define D_ERR_CANNOT_GEN_ECC_DER_KEY (5506)
354#define D_ERR_CANNOT_CREATE_UNKNOWN_OBJ (5507)
355#define D_ERR_CANNOT_WRITE_HSM_MODE (5508)
356#define D_ERR_CANNOT_WRITE_LOGIN_BLOCK_INFO (5509)
357#define D_ERR_CANNOT_SETUP_LIVE_SYNC_OBJ (5510)
358#define D_ERR_CANNOT_CREATE_LIVE_SYNC_OBJ (5511)
359#define D_ERR_CANNOT_OPEN_LOG (5512)
360#define D_ERR_COULD_NOT_OPEN_OBJ (5513)
361#define D_ERR_CANNOT_EXPORT_RAW_OBJ (5514)
362#define D_ERR_CANNOT_RENAME_OBJ (5515)
363#define D_ERR_REPLICATION_CANNOT_OPEN_OBJ (5516)
364#define D_ERR_CANNOT_SETUP_LIVE_SYNC_IMG (5517)
365#define D_ERR_CANNOT_LOAD_LIVE_SYNC_IMG (5518)
366#define D_ERR_CANNOT_SETUP_LIVE_SYNC_DEL_USR (5519)
367#define D_ERR_CANNOT_DEL_LIVE_SYNC_USR (5520)
368#define D_ERR_CANNOT_SETUP_LIVE_SYNC_DEL_CONFIG (5521)
369#define D_ERR_CANNOT_DEL_LIVE_SYNC_CONFIG (5522)
370#define D_ERR_CANNOT_SETUP_LIVE_SYNC_CONFIG (5523)
371#define D_ERR_CANNOT_CREATE_LIVE_SYNC_CONFIG (5524)
372#define D_ERR_CANNOT_SETUP_LIVE_SYNC_USER (5525)
373#define D_ERR_CANNOT_CREATE_LIVE_SYNC_USER (5526)
374#define D_ERR_CANNOT_SETUP_LIVE_SYNC_ACL (5527)
375#define D_ERR_CANNOT_CREATE_LIVE_SYNC_ACL (5528)
376#define D_ERR_CANNOT_DEL_AUTH_INFO_OBJ (5529)
377#define D_ERR_INVALID_KEY_NULL_RES (5530)
378#define D_ERR_INVALID_MSG_NULL_RES (5531)
379#define D_ERR_CANNOT_GEN_SYM_KEY (5532)
380#define D_ERR_CANNOT_SETUP_USR_AUTH_INFO (5533)
381#define D_ERR_CANNOT_BIND_USR_AUTH_INFO (5534)
382#define D_ERR_CANNOT_GET_CERT_SN (5535)
383#define D_ERR_CANNOT_GET_CERT_ISPB (5536)
384#define D_ERR_INVALID_HASH (5537)
385#define D_ERR_INVALID_SIG_LEN (5538)
386#define D_ERR_INVALID_PUBKEY_LEN (5539)
387#define D_ERR_INVALID_PSKC_XML (5540)
388#define D_ERR_CANNOT_FIND_PSKC_XML_NODE (5541)
389#define D_ERR_CANNOT_FIND_PSKC_XML_ATTR (5542)
390#define D_ERR_INVALID_PSKC_KEY_DERIVATION (5543)
391#define D_ERR_INVALID_PSKC_KEY_DERIVATION_IT (5544)
392#define D_ERR_INVALID_PSKC_KEY_DERIVATION_LEN (5545)
393#define D_ERR_INVALID_PSKC_KEY_DERIVATION_SALT_LEN (5546)
394#define D_ERR_PSKC_KEY_DERIVATION_FAILED (5547)
395#define D_ERR_INVALID_PSKC_KEY_ALG (5548)
396#define D_ERR_INVALID_PSKC_KEY_METHOD (5549)
397#define D_ERR_INVALID_OATH_EPOCH (5550)
398#define D_ERR_INVALID_OATH_TIMESTEP (5551)
399#define D_ERR_INVALID_OATH_DRIFT (5552)
400#define D_ERR_INVALID_PSKC_SECRET_LEN (5553)
401#define D_ERR_UNKNOWN_PADDING_TYPE (5554)
402#define D_ERR_DATA_TOO_LARGE_FOR_MODULUS (5555)
403#define D_ERR_DATA_GREATER_THAN_MODULUS_LEN (5556)
404#define D_ERR_PADDING_CHECK_FAILED (5557)
405#define D_ERR_DATA_TOO_LARGE_FOR_KEY_SIZE (5558)
406#define D_ERR_DATA_TOO_SMALL_FOR_KEY_SIZE (5559)
407#define D_ERR_INVALID_TYPE1_PADDING (5560)
408#define D_ERR_INVALID_TYPE2_PADDING (5561)
409#define D_ERR_BAD_FIXED_HDR_PADDING (5562)
410#define D_ERR_MISSING_NULL_PADDING (5563)
411#define D_ERR_BAD_PAD_BYTE_COUNT (5564)
412#define D_ERR_DATA_TOO_LARGE_FOR_PADDING (5565)
413#define D_ERR_BN_NO_INVERSE (5566)
414#define D_ERR_STATIC_BN_CANNOT_EXPAND (5567)
415#define D_ERR_BN_IS_NOT_PRIME (5568)
416#define D_ERR_TOO_MANY_BN_ITERATIONS (5569)
417#define D_ERR_BN_IS_NOT_A_SQUARE (5570)
418#define D_ERR_BN_DIV_BY_ZERO (5571)
419#define D_ERR_BN_NOT_INITIALIZED (5572)
420#define D_ERR_BN_INVALID_RANGE (5573)
421#define D_ERR_BN_BAD_RECIPROCAL (5574)
422#define D_ERR_BN_CALLED_WITH_EVEN_MODULUS (5575)
423#define D_ERR_BN_INPUT_NOT_REDUCED (5576)
424#define D_ERR_BN_TOO_MANY_TMP_VARIABLES (5577)
425#define D_ERR_BN_INVALID_LEN (5578)
426#define D_ERR_BN_ENCODING_ERROR (5579)
427#define D_ERR_INVALID_PUBLIC_EXP (5580)
428#define D_ERR_INVALID_SPB_HDR_LEN (5581)
429#define D_ERR_INVALID_SPB_HDR_VER (5582)
430#define D_ERR_INVALID_SPB_HDR_SPECIAL_TREATMENT (5583)
431#define D_ERR_INVALID_SPB_HDR_R0 (5584)
432#define D_ERR_INVALID_SPB_HDR_DST_ASYM_ALG (5585)
433#define D_ERR_INVALID_SPB_HDR_DST_SYM_ALG (5586)
434#define D_ERR_INVALID_SPB_HDR_SIGN_KEY_TYPE (5587)
435#define D_ERR_INVALID_SPB_HDR_DST_CA (5588)
436#define D_ERR_INVALID_SPB_HDR_SIGN_CA (5589)
437#define D_ERR_INVALID_SIGN_CERT_SN_MISMATCH (5590)
438#define D_ERR_INVALID_DST_CERT_SN_MISMATCH (5591)
439#define D_ERR_INVALID_SPB_MSG_LEN (5592)
440#define D_ERR_CANNOT_PARSE_JSON (5593)
441#define D_ERR_INVALID_SPB_CHARSET_SIG_OK (5594)
442#define D_ERR_JSON_MORE_DATA (5595)
443#define D_ERR_CANNOT_VIRTUALIZE_JSON (5596)
444#define D_ERR_CANNOT_CHANGE_OEM_JSON (5597)
445#define D_ERR_CANNOT_MERGE_JSON (5598)
446#define D_ERR_INVALID_SPB_CHARSET (5599)
447#define D_ERR_CANNOT_GET_JSON (5600)
448#define D_ERR_INVALID_SPB_CHARSET_SIG_ERR (5601)
449#define D_ERR_INVALID_SPB_DOMAIN (5602)
450#define D_ERR_CANNOT_GEN_DSA_KEY (5603)
451#define D_ERR_DSA_CONTINUOUS_TEST (5604)
452#define D_ERR_CANNOT_GEN_DH_KEY (5605)
453#define D_ERR_DH_CONTINUOUS_TEST (5606)
454#define D_ERR_KEY_CONTINUOUS_TEST (5699)
455#define D_ERR_SERVER_STARTED (5700)
456#define D_ERR_HSM_AUTO_TEST_FAILURE (5701)
457#define D_ERR_SERVER_NOT_STARTED (5702)
458#define D_ERR_UNAPPROVED_TSP_OPERATION (5703)
459#define D_ERR_INVALID_LCRYPTO_R_OPERATION (5704)
460#define D_ERR_OBJ_BLOCKED_BY_DS_POLICY (7000)
461#define D_ERR_TRUNCATING_DS_LOG (7001)
462#define D_ERR_THROTTLED_VM_SIZE (10000)
463#define D_ERR_THROTTLED_RAM (10001)
464#define D_ERR_CANNOT_ALLOC_SOCKET (11000)
465#define D_ERR_CANNOT_ALLOC_MEM (11001)
466#define D_ERR_CANNOT_ALLOC_KEY (11002)
467#define D_ERR_CANNOT_ALLOC_SL_BE_HANDLE (11003)
468#define D_ERR_CANNOT_ALLOC_IOM (11004)
469#define D_ERR_CANNOT_INIT_DRBG (11005)
470#define D_ERR_CANNOT_SEED_DRBG (11006)
471#define D_ERR_CANNOT_USE_IOM (11007)
472#define D_ERR_CANNOT_ALLOC_OBJ_HANDLE (11008)
473#define D_ERR_REPL_CANNOT_ALLOC_SL_BE_HANDLE (11009)
474#define D_ERR_CANNOT_ALLOC_TLS_CTX (11010)
475#define D_ERR_CANNOT_ALLOC_TLS_SOCKET (11011)
476#define D_ERR_CANNOT_SERIALIZE_XML (11012)
477#define D_ERR_CANNOT_ALLOC_BN (11013)
478#define D_ERR_CANNOT_ALLOC_JSON (11014)
479#define D_ERR_CRYPTOHW_OPEN_FAILURE (12001)
480#define D_ERR_CRYPTOHW_SETUP_FAILURE (12002)
481#define D_ERR_CRYPTOHW_READ_FAILURE (12003)
482#define D_ERR_CRYPTOHW_INVALID_CRC (12004)
483#define D_ERR_CRYPTOHW_WRITE_FAILURE (12005)
484#define D_ERR_CRYPTOHW_UNEXPECTED_MSG (12006)
485#define D_ERR_CRYPTOHW_CONNECT_FAILED (12007)
486#define D_ERR_CRYPTOHW_SEND_FAILED (12008)
487#define D_ERR_CRYPTOHW_RECV_FAILED (12009)
488#define D_ERR_REPLICATION_BUSY (36000)
489#define D_ERR_REPLICATION_D_BUSY (36001)
490#define D_ERR_REPLICATION_S_BUSY (36002)
491#define D_ERR_REPLICATION_STORAGE_LAYER_BUSY (36003)
492#define D_ERR_REPLICATION_SEC_LAYER_BUSY (36004)
493#define D_ERR_REPLICATION_PEER_NOT_SYNCED (36500)
494#define D_ERR_REPLICATION_CANNOT_PREPARE_TRANS (37001)
495#define D_ERR_REPLICATION_CANNOT_P2P_HANDSHAKE (37002)
496#define D_ERR_REPLICATION_CANNOT_P2P_FIND (37003)
497#define D_ERR_REPLICATION_CANNOT_P2P_CONNECT (37004)
498#define D_ERR_REPLICATION_CANNOT_P2P_SEND (37005)
499#define D_ERR_REPLICATION_CANNOT_P2P_RECV (37006)
500#define D_ERR_REPLICATION_CANNOT_P2P_SEND_ALL (37007)
501#define D_ERR_REPLICATION_CANNOT_P2P_RECV_ALL (37008)
502#define D_ERR_REPLICATION_CANNOT_P2P_SCONNECT (37009)
503#define D_ERR_REPLICATION_CANNOT_P2P_SSEND (37010)
504#define D_ERR_REPLICATION_CANNOT_P2P_SRECV (37011)
505#define D_ERR_REPLICATION_CANNOT_P2P_SSEND_ALL (37012)
506#define D_ERR_REPLICATION_CANNOT_P2P_SRECV_ALL (37013)
507#define D_ERR_REPLICATION_CANNOT_P2P_WORK (37014)
508#define D_ERR_REPLICATION_NOT_FOUND (37015)
509#define D_ERR_REPLICATION_ACK_NOT_FOUND (37016)
510#define D_ERR_REPLICATION_INVALID_OPERATION (37017)
511#define D_ERR_REPLICATION_INVALID_EVENT (37018)
512#define D_ERR_REPLICATION_OPERATION_FAILED (37019)
513#define D_ERR_REPLICATION_COMMIT_FAILED (37020)
514#define D_ERR_REPLICATION_ERASE_FAILED (37021)
515#define D_ERR_REPLICATION_INQUIRE_FAILED (37022)
516#define D_ERR_REPLICATION_UPDATE_ACK_FAILED (37023)
517#define D_ERR_REPLICATION_DISPATCH_FAILED (37024)
518#define D_ERR_REPLICATION_CANNOT_SL_BE_TRANSP (37025)
519#define D_ERR_REPLICATION_CANNOT_PRUNE_LOG (37026)
520#define D_ERR_REPLICATION_CANNOT_LOAD_LOG (37027)
521#define D_ERR_REPLICATION_CANNOT_WORK (37028)
522#define D_ERR_REPLICATION_CANNOT_VALIDATE_EVENT (37029)
523#define D_ERR_REPLICATION_TRANS_MISMATCH (37030)
524#define D_ERR_REPLICATION_CANNOT_SYNC_POINT (37031)
525#define D_ERR_REPLICATION_UNDEFINED_LIVE_SYNC (37032)
526#define D_ERR_REPLICATION_CONNECTED_LIVE_SYNC (37033)
527#define D_ERR_REPLICATION_SELF_LIVE_SYNC (37034)
528#define D_ERR_REPLICATION_OBJ_IN_USE (37035)
529#define D_ERR_REPLICATION_CANNOT_BEGIN_TRANS (37036)
530#define D_ERR_REPLICATION_MAX_NODE_COUNT_REACHED (37037)
531#define D_ERR_REPL_CANNOT_PREPARE_LS_TRANS (37038)
532#define D_ERR_REPL_PART_CANNOT_ADD_LOG (37039)
533#define D_ERR_REPL_COOR_CANNOT_ADD_LOG (37040)
534#define D_ERR_CANNOT_LOAD_DEPRECATED_LICENSE (47000)
535#define D_ERR_INVALID_DEPRECATED_LICENSE (47001)
536#define D_ERR_DEPRECATED_LICENSE_EXPIRED (47002)
537#define D_ERR_DEPRECATED_LICENSE_BLOCKED (47003)
538
539// -------------------------------------------------------------------
540
541
542/* Server error macros */
543
544#define D_IS_REPL_BUSY_ERR(dw) ( \
545 (DWORD)(dw) == (DWORD) D_ERR_REPLICATION_BUSY || \
546 (DWORD)(dw) == (DWORD) D_ERR_REPLICATION_D_BUSY || \
547 (DWORD)(dw) == (DWORD) D_ERR_REPLICATION_S_BUSY || \
548 (DWORD)(dw) == (DWORD) D_ERR_REPLICATION_STORAGE_LAYER_BUSY || \
549 (DWORD)(dw) == (DWORD) D_ERR_REPLICATION_SEC_LAYER_BUSY \
550 )
551
552
553
554
555#define NOT_LISTED_ERROR (-999999)
556
557/* DOpenSession - Options/parameters */
558
559/* dwParam */
560#define SS_ANONYMOUS (0x00000001) /*pbData == AUTH_PWD ou AUTH_PWD_EX*/
561#define SS_USER_PWD (0x00000002) /*pbData == AUTH_PWD*/
562#define SS_CERTIFICATE (0x00000004) /*pbData == SS_MEDIA_FILE*/
563#define SS_CLUSTER (0x00000008) /*pbData == NULL*/
564#define SS_USR_PWD_EX (0x00000010) /*pbData == AUTH_PWD_EX*/
565#define SS_ATOKEN (0x00000020) /*pbData == AUTH_ATOKEN*/
566#define SS_HTTP (0x00000040) /*pbData == AUTH_HTTP*/
567#define SS_WIN_CREDENTIAL (0x00000080) /*pbData == AUTH_WIN_CREDENTIAL*/
568
569/* dwFlags */
570#define ENCRYPTED_CONN (0x00000001) /* Encrypted communication */
571#define USER_INTERACTIVE (0x00000002) /* User interactive. Not implemented. */
572#define CLEAR_CONN (0x00000004) /* Not encrypted communication */
573#define LB_BYPASS (0x00000008) /* Load balance bypass */
574#define CACHE_BYPASS (0x00000010) /* Session Cache bypass */
575#define DS_BYPASS (0x00000020) /* Dinamo Services bypass */
576
577/* Strong authentication */
578
579#define SA_AUTH_NONE (0x00000000) /* No strong authentication */
580#define SA_AUTH_OTP (0x00000001) /* OTP authentication */
581#define SA_AUTH_CERTIFICATE (0x00000002) /* Certificate authentication */
582
583/* Modos de operação do HSM */
584
585#define DN_HSM_OP_NRM (0)
586#define DN_HSM_OP_RM1 (1)
587#define DN_HSM_OP_RM2 (2)
588#define DN_HSM_OP_RM3 (3)
590/* SetSessionParam/GetSessionParam */
591
592/* dwParam */
593#define SP_SESSION_TIMEOUT (0x00000001) /* Time-out sessao pbData == dwTimeout (ms) */
594#define SP_SEND_TIMEOUT (0x00000002) /* Time-out send pbData == dwTimeout (ms) */
595#define SP_RECV_TIMEOUT (0x00000004) /* Time-out recv pbData == dwTimeout (ms) */
596#define SP_ENCRYPTED (0x00000008) /* Read-only pbData == bSessionEncrypted (TRUE/FALSE) */
597#define SP_SESSION_ID (0x00000010) /* Read-only pbData == dwSessionId */
598#define SP_SESSION_CID (0x00000020) /* Read-only pbData == DWORD */
599#define SP_SESSION_TYPE (0x00000040) /* Read-only pbData == DWORD */
600#define SP_SESSION_CIPHER (0x00000080) /* Read-only pbData == char * */
601#define SP_SESSION_PIX_HTTP_RET (0x00000100) /* Read-only pbData == long */
602#define SP_SESSION_PIX_HTTP_REQ_DETAILS (0x00000200) /* Read-only pbData == PIX_HTTP_REQUEST_DETAILS */
603#define SP_HSM_OP_MODE (0x00000400) /* Read-only pbData == DWORD (DN_HSM_OP_NRM ...)*/
604
605/* SP_SESSION_TYPE */
606
607#define SP_SESSION_TYPE_CLEAR_CONN (1)
608#define SP_SESSION_TYPE_SSL2 (2)
609#define SP_SESSION_TYPE_SSL3 (3)
610#define SP_SESSION_TYPE_TLS1 (4)
611#define SP_SESSION_TYPE_TLS1_1 (5)
612#define SP_SESSION_TYPE_TLS1_2 (6)
613#define SP_SESSION_TYPE_TLS1_3 (7)
614#define SP_SESSION_TYPE_UNKNOWN (8)
615
616
617/* CloseSession */
618
619/* dwFlags */
620#define WAIT_OPERATIONS (0x00000004) /* Wait the end of all operations in progress. Not implemented. */
621#define CLOSE_PHYSICALLY (0x00000008) /* Force the end of the connection with the HSM. Session will not be cached. */
622
623/* DDSBindHSM */
624
625#define D_DS_BIND_VERSION (1)
626#define D_MAX_DS_BIND_URL (255)
627#define D_DS_BIND_PSK_LEN (16)
628#define D_MIN_DS_BIND_B62_ID (1)
629#define D_MAX_DS_BIND_B62_ID (22)
630
631/* DBackupObject */
632
633#define D_BACKUP_OBJ (1)
634#define D_RESTORE_OBJ (2)
635
636#define D_MAX_BACKUP_OBJ_LEN (1024*4)
637
638/* Backup */
639
640#define MAKE_BACKUP (0)
641#define MAKE_RESTORE (1)
642#define MAKE_RESTORE_WITH_NET_CONFIG MAKE_RESTORE
643#define MAKE_RESTORE_WITHOUT_NET_CONFIG (2)
644#define MAKE_USE_WIN_CREDENTIAL (0x80000000)
646/* GetHsmData/SetHsmData */
647
648/* dwParam */
649#define HD_AUDIT_START (0x00000001) /* Indicate that the connection will be used to retrieve logs. */
650#define HD_AUDIT_RECV (0x00000002) /* Receive logs from server. */
651
652/* dwFlags */
653#define DATA_ONLY (0x00000008) /* Backup/Restore only data */
654#define CONFIG_ONLY (0x00000010) /* Backup/Restore only configurations*/
655
656
657/* GetHsmConfig/SetHsmConfig */
658
659/* dwParam*/
660#define HC_PASS_PORT_VALUE (0x00000001) /* Monitoring port. pbData == wPortNumber */
661#define HC_PASS_PORT_ENABLE (0x00000002) /* Enable/disable monitoring port. pbData == bEnable */
662#define HC_MAX_CONNECT (0x00000004) /* Maximum connections (processing). pbData == dwMaxConnections */
663#define HC_MAX_MONITORING (0x00000008) /* Maximum connections (monitoring). pbData == dwMaxConnections */
664#define HC_PERMISSION_IP (0x00000010) /* Clients IP list. pbData == szIPList (xxx.xxx.xxx.xxx;xxx...) */
665
666/* dwFlags */
667#define ENABLE_VALUES (0x00000020) /* Enable values indicated by pbData. */
668#define DISABLE_VALUES (0x00000040) /* Disable values indicated by pbData. */
669
670
671/* DAdmOperation */
672
673/* dwParam */
674#define AO_SHUTDOWN (1) /* Shutdown HSM. pbData == NULL */
675#define AO_RESTART (2) /* Restart HSM services. pbData == NULL */
676#define AO_KEEPALIVE (4) /* Keep session alive. */
677#define AO_SET_DATE_TIME (8) /* Set the HSM's time and date. pbData == struct tm (time.h) */
678#define AO_ADD_CLUSTER_LIST (16) /* DEPRECATED! */
679#define AO_DEL_CLUSTER_LIST (18) /* DEPRECATED! */
680#define AO_GET_CLUSTER_LIST (20) /* DEPRECATED! */
681#define AO_RST_CLUSTER_LIST (24) /* DEPRECATED! */
682#define AO_SET_PWD_SEC_POLICY (25) /* Define password security policies. */
683#define AO_GET_PWD_SEC_POLICY (32) /* Recover password security policies. */
684#define AO_REPL_UPDATE (33) /* Process an update replication command. pbData == NULL */
685#define AO_REPL_NODE_MESSAGE (34) /* Send comands to the HSM's replication subsystem. pbData == *REPL_NODE_MSG */
686#define AO_LOG_CACHE_STATE (35) /* Get cache log state. pbData == *DWORD */
687#define AO_LOG_CACHE_ENABLE (36) /* Enable log cache. pbData == NULL */
688#define AO_LOG_CACHE_DISABLE (37) /* Disable log cache. pbData == NULL */
689#define AO_SET_TLS_BUNDLE (38) /* Set TLS bundle. pbData == TLS_BUNDLE_INFO */
690
691#define AO_EFTD_ACTIVATE (39)
692#define AO_EFTD_DEACTIVATE (40)
693#define AO_EFTD_RESET_CONF (41)
694#define AO_EFTD_GET_CONF (42)
695#define AO_EFTD_SET_MSG_HEADER_LEN (43)
696#define AO_EFTD_SET_PIN_LEN (44)
697#define AO_GET_GLOBAL_OBJ_STATS (45)
698#define AO_GET_SEC_POLICY_GFLAGS (46)
699#define AO_SET_SEC_POLICY_GFLAGS (47)
700#define AO_GET_HMON_INFO (48)
702#define AO_KEEPALIVE_FLAG_NOISELESS ((DWORD) -2371)
703
704#define AO_LOG_CACHE_STATE_ENABLED (11)
705#define AO_LOG_CACHE_STATE_DISABLED (22)
706
707
708/*
709 AO_GET_SEC_POLICY_GFLAGS and AO_SET_SEC_POLICY_GFLAGS supported GFLAGS.
710*/
711
712#define DN_SEPOL_GF_ENABLE_HTTP_X509_SA (1 << 0)
713#define DN_SEPOL_GF_ENABLE_NSA_API_AUTH (1 << 1)
715//
716// Replication operation messages
717// to be used with AO_REPL_NODE_MESSAGE.
718//
719#define RNM_PROBE (1)
720#define RNM_DOWN (2)
721#define RNM_SLP_BYPASS_ADD (3)
722#define RNM_SLP_BYPASS_DEL (4)
723
724#define DN_EFTD_DEFAULT_USER "eftd0"
725#define DN_EFTD_MIN_MSG_HEADER_LEN (1)
726#define DN_EFTD_MAX_MSG_HEADER_LEN (255)
727#define DN_EFTD_MIN_PIN_LEN (5)
728#define DN_EFTD_MAX_PIN_LEN (13)
730#define DN_EFTD_JSON_CONF_MSG_HDR_LEN "msg-hdr-len"
731#define DN_EFTD_JSON_CONF_PIN_LEN "pin-len"
732#define DN_EFTD_JSON_CONF_EFTD0_ACTIV "eftd0"
734/* SetUserParam/GetUserParam */
735
736/* dwParam */
737#define UP_USER_NAME (0x00000001) /* User name. pbData == szUserName */
738#define UP_AUTH_MASK (0x00000002) /* Authorization mask. pdData == dwAuthMask */
739#define UP_ACCESS_TYPE (0x00000004) /* Access type mask. pbData == dwAccessType */
740#define UP_CERTIFICATE (0x00000008) /* User certificate. pbData == pbCertificate */
741#define UP_PASSWORD (0x00000010) /* User password. pbData == pwd */
742#define UP_INVALID_LOGIN_ATTEMPTS (0x00000020) /* Amount of invalid login attempts. pbData == DWORD */
743#define UP_BLOCK_USR (0x00000040) /* Block user. == szUserName */
744#define UP_UNBLOCK_USR (0x00000080) /* Unblock user. == szUserName */
745#define UP_USR_PASSWORD (0x00000100) /* Re-define user password. == USER_INFO */
746#define UP_USR_PA_STATE (0x00000200) /* Partition autorization state. == USER_PA_INFO */
747#define UP_USR_OBJ_COUNT (0x00000400) /* User object count. == DN_USER_OBJ_COUNT */
748
749/* FindUser */
750
751/* dwFindType */
752#define FU_USER_ID (0x00000001) /* User ID pvFindParam == szUserId */
753#define FU_USER_NAME (0x00000002) /* User ID pvFindParam == szUserName */
754#define FU_AUTH_MASK (0x00000004) /* Authorization mask. pvFindParam == dwAuthMask */
755#define FU_ACCESS_TYPE (0x00000008) /* Access type. pvFindParam == dwAccessType */
756#define FU_ROOT_ID (0x00000010) /* Root certificate issuer. pvFindParam == szRootCN */
757
758/* dwFlags */
759#define PARTIAL_VALUE (0x00000080) /* pvFindParam contains part of the search value. */
760
761/* DGetHsmInfo */
762
763#define HI_BATTERY_LIFE (0x00000001) /* Battery remaining life time. pbData == tLife (time_t) */
764#define HI_PERFOMANCE_COUNT (0x00000002) /* Use percentage: CPU, Memory e disk. pbData == * PERFOMANCE_COUNT */
765#define HI_MODULE_INFO (0x00000004) /* Existing modules. pbData == * MODULE_INFO */
766#define HI_HSM_INFO (0x00000008) /* HSM's model and version. pbData == szHsmInfo */
767#define HI_OPERATIONS_COUNT (0x00000010) /* Operation counter. pbData == * OPERATIONS_INFO */
768#define HI_SYS_HEALTH (0x00000020) /* Elapsed time since last update and battery check. pbData == * SYS_HEALTH */
769#define HI_FIPS_MODE (0x00000040) /* Recover HSM's operation mode. pbData == *DWORD */
770#define HI_DISK_INFO (0x00000080) /* Recover HSM's disk usage information. pbData == *SYS_DISK_INFO */
771#define HI_REPL_INFO (0x00000100) /* Recover HSM's replication information. pbData == *SYS_REPL_INFO */
772#define HI_CURRENT_DATE (0x00000200) /* Recover HSM's date and time. pbData == *QWORD */
773#define HI_HW_STR (0x00000400) /* Recover HSM's date and time. pbData == *SYS_HW_STR_INFO */
774#define HI_NTP_INFO (0x00000800) /* Recover HSM's date and time. pbData == *SYS_NTP_INFO */
775#define HI_STATS_INFO (0x00001000) /* Recover HSM's statistics info. pbData == *SYS_STATUS_INFO */
776#define HI_COUNTER_INFO (0x00002000) /* Recover HSM's counter info. pbData == *SYS_COUNTER_INFO */
777#define HI_FIPS_RCODE_INFO (0x00004000) /* Recover HSM's Restrict Modes auto-test return code. pbData == *DWORD */
778#define HI_PENDING_INFO (0x00008000) /* Recover HSM's pending info. pbData == *SYS_PENDING_INFO */
779#define HI_ALL_INFO (0x00010000) /* Recover HSM's ALL info. pbData == *SYS_ALL_INFO */
780
781
782#define INVALID_OBJ_TYPE (0)
783
784#define MSGSH_NO_INFO (0xFFFFFFFF)
785
786
787#define GET_INFO_MAX_REPL_DOMAIN_NAME (1024)
788#define GET_INFO_MAX_REPL_NODES (255)
789#define GET_INFO_MAX_SN_LEN (255)
790#define GET_INFO_MAX_HW_STR_LEN (255)
791#define GET_INFO_MAX_TPKEY_LEN (16)
792#define GET_INFO_MAX_NTP_SVRS (16)
793#define GET_INFO_MAX_NTPQ_LEN (256)
794#define GET_INFO_MAX_NTP_KT_LEN (16)
795#define GET_INFO_MAX_NTP_KM_LEN (64)
796
797
798//Replication states returned by SYS_REPL_INFO structure.
799#define REPL_STATE_TWOPC_VIRTUAL (1)
800#define REPL_STATE_TWOPC_PREPARED (2)
801#define REPL_STATE_TWOPC_COMMITTED (3)
802#define REPL_STATE_TWOPC_COMMITTED_TM (4)
803
804//Replication events returned by SYS_REPL_INFO structure.
805#define REPL_EVENT_ET_NULL (1)
806#define REPL_EVENT_ET_CREATE_USR (2)
807#define REPL_EVENT_ET_DELETE_USR (3)
808#define REPL_EVENT_ET_CREATE_OBJ (4)
809#define REPL_EVENT_ET_DELETE_OBJ (5)
810#define REPL_EVENT_ET_DELETE_USR_OTP_AUTH_INFO (6)
811#define REPL_EVENT_ET_WRITE_USR_OTP_AUTH_INFO (7)
812#define REPL_EVENT_ET_UPDATE_USR_OTP_AUTH_INFO (8)
813#define REPL_EVENT_ET_CHANGE_USR_PWD (9)
814#define REPL_EVENT_ET_SET_USR_LOCK_COUNT (10)
815#define REPL_EVENT_ET_SET_GLOBAL_SEC_POLICY (11)
816#define REPL_EVENT_ET_SET_SYS_DATE_TIME (12)
817#define REPL_EVENT_ET_UPDATE_ACL (13)
818#define REPL_EVENT_ET_BLOCK_OBJ (14)
819#define REPL_EVENT_ET_UPDATE_OBJ (15)
820#define REPL_EVENT_ET_SET_USR_NS_AUTH_COOKIE (16)
821#define REPL_EVENT_ET_SET_USR_OTP_MOV_FACTOR (17)
822
823/* DListUserTrusts */
824
825#define OP_LST_USR_TRUSTERS (0x01) /* List users that permits the current logged user to access it's partition. */
826#define OP_LST_USR_TRUSTEES (0x02) /* List users that have permission to access the current logged user's partition. */
827
828
829/* DAssignToken/DUnassignToken */
830
831#define AT_GO3_TOKEN (1) /* DEPRECATED! */
832#define AT_OATH_TOKEN (2) /* Assign a OATH EVENT OTP token */
833#define AT_OATH_TOKEN_TOTP (3) /* Assign a OATH TIME OTP token */
834
835//
836// mod_OATH's NEW_SA; use with structure OATH_SA_v1.
837//
838#define MAX_OATH_HMAC_LEN (128) // up to hmac-sha512, in bytes
839
840#define OATH_SA_v1_type_SHA1 (0x01)
841#define OATH_SA_v1_HOTP_DYN_TRUNC_OFF (16)
842#define OATH_SA_v2_default_TIME_STEP (30)
843#define OATH_SA_v2_default_T0_Epoch (0)
844
845
846/* DOATHResync */
847
848#define OATH_MIN_HOTP_LEN (6 + 1) //plus 1 for the null terminator
849#define OATH_MAX_HOTP_LEN (16 + 1) //plus 1 for the null terminator
850
851/* DOATHGetBlobInfo */
852
853#define OATH_ISSUE_OATH_BLOB_t (1)
854#define OATH_ISSUE_OATH_INFO_t (2)
855
856
857/* DEncrypt/DDecrypt */
858
859#define D_NO_RSA_PADDING (3)
860#define D_FORCE_ACTUAL_RSA (4)
861
862
863/* DPKCS7Sign - Sign using PKCS#7 */
864
865#define TAC_MOD_CORE_P7_TEXT 0x0001
866#define TAC_MOD_CORE_P7_NOCERTS 0x0002
867#define TAC_MOD_CORE_P7_NOSIGS 0x0004
868#define TAC_MOD_CORE_P7_NOCHAIN 0x0008
869#define TAC_MOD_CORE_P7_NOINTERN 0x0010
870#define TAC_MOD_CORE_P7_NOVERIFY 0x0020
871#define TAC_MOD_CORE_P7_DETACHED 0x0040
872#define TAC_MOD_CORE_P7_BINARY 0x0080
873#define TAC_MOD_CORE_P7_NOATTR 0x0100
874#define TAC_MOD_CORE_P7_NOSMIMECAP 0x0200
875#define TAC_MOD_CORE_P7_NOOLDMIMETYPE 0x0400
876#define TAC_MOD_CORE_P7_CRLFEOL 0x0800
877#define TAC_MOD_CORE_P7_NOCRL 0x2000
878
879#define TAC_MOD_CORE_P7_COSIGN 0x80000000
880
881
882
883/* HASH algorithms */
884
885#define ALG_MD5 (1)
886#define ALG_SHA1 (2)
887#define ALG_SSL_SHA1_MD5 (3)
888#define ALG_SHA2_256 (4)
889#define ALG_SHA2_384 (5)
890#define ALG_SHA2_512 (6)
891#define ALG_SHA2_224 (7)
892#define ALG_SHA3_224 (8)
893#define ALG_SHA3_256 (9)
894#define ALG_SHA3_384 (10)
895#define ALG_SHA3_512 (11)
896
897#define ALG_IDENTITY_FUNC (255)
898
899/*
900 DSignXML/DSignXML2/DPIXSign hash mode options.
901*/
902#define ALG_MD5_InclC14N (1)
903#define ALG_SHA1_InclC14N (2)
904#define ALG_SHA256_InclC14N (3)
905#define ALG_SHA384_InclC14N (4)
906#define ALG_SHA512_InclC14N (5)
907#define ALG_SHA224_InclC14N (6)
908#define ALG_MD5_ExclC14N (31)
909#define ALG_SHA1_ExclC14N (32)
910#define ALG_MD5_InclC14NWithComments (33)
911#define ALG_SHA1_InclC14NWithComments (34)
912#define ALG_MD5_ExclC14NWithComments (35)
913#define ALG_SHA1_ExclC14NWithComments (36)
914#define ALG_SHA256_ExclC14N (37)
915#define ALG_SHA256_InclC14NWithComments (38)
916#define ALG_SHA256_ExclC14NWithComments (39)
917#define ALG_SHA384_ExclC14N (40)
918#define ALG_SHA384_InclC14NWithComments (41)
919#define ALG_SHA384_ExclC14NWithComments (42)
920#define ALG_SHA512_ExclC14N (43)
921#define ALG_SHA512_InclC14NWithComments (44)
922#define ALG_SHA512_ExclC14NWithComments (45)
923#define ALG_SHA224_ExclC14N (46)
924#define ALG_SHA224_InclC14NWithComments (47)
925#define ALG_SHA224_ExclC14NWithComments (48)
926
927/*
928 DSignXML2 flags
929*/
930
931
932#define XML_SIGN_FLAGS_FQN (1 << 31)
933#define XML_SIGN_FLAGS_NOL (1 << 30)
934#define XML_SIGN_FLAGS_NO_RNS (1 << 29)
935
936
937/*
938 DSignXML/DSignXML2 filter options
939*/
940
941#define XML_FILTER_NULL_URI "''"
942
943/*
944 DPIXSign flags
945*/
946
947#define PIX_SIGN_RNS (1)
948
949/* DPIXPost/DPIXGet/DPIXDelete */
950
951#define PIX_VERIFY_HOST_NAME (0x00000001)
952#define PIX_BASIC_HTTP_HEADER (0x00000002)
953#define PIX_GZIP (0x00000004)
954
955/*
956 DPIXJWSSign
957*/
958
959#define PIX_JWS_GEN_MAX_LEN (8*1024)
960
961#define MD5_LEN (16)
962#define SHA1_LEN (20)
963#define SSL_SHA1_MD5_LEN (36)
964#define SHA2_224_LEN (28)
965#define SHA2_256_LEN (32)
966#define SHA2_384_LEN (48)
967#define SHA2_512_LEN (64)
968#define CMAC_3DES_LEN (8)
969#define CMAC_AES_LEN (16)
970#define SHA3_224_LEN (28)
971#define SHA3_256_LEN (32)
972#define SHA3_384_LEN (48)
973#define SHA3_512_LEN (64)
974
975#define MAX_HASH_LEN (64)//SHA2_512_LEN
976
977/* Digital signature */
978
979#define NO_HASH_OID (1)
980#define MD5_HASH_OID (2)
981#define SHA_HASH_OID (3)
982#define SHA256_HASH_OID (4)
983#define SHA384_HASH_OID (5)
984#define SHA512_HASH_OID (6)
985#define SHA224_HASH_OID (7)
986
987#define MD5_HASH_OID_LEN (18)
988#define SHA_HASH_OID_LEN (15)
989#define SHA224_HASH_OID_LEN (19)
990#define SHA256_HASH_OID_LEN (19)
991#define SHA384_HASH_OID_LEN (19)
992#define SHA512_HASH_OID_LEN (19)
993
994/* DSignHash flags */
995
996#define DN_SIGN_NO_HASH_OID (0x01)
997#define DN_SIGN_DISABLE_LEGACY_OPERATION (0x02)
998#define DN_SIGN_ECC_P11_FMT (0x04)
999
1000/* DVerifySignature flags */
1001
1002#define DN_VERIFY_NO_HASH_OID (0x01)
1003#define DN_VERIFY_ECC_P11_FMT (0x02)
1004
1005#define DN_SIG_EDDSA_MAX_DATA_LEN (4 * 1024 * 1024)
1006
1007/* Symmetric cryptography algorithms */
1008
1009#define ALG_DES (1)
1010#define ALG_3DES_112 (2) /* EDE */
1011#define ALG_3DES_168 (3) /* EDE */
1012#define ALG_DESX (91)
1013
1014#define ALG_AES_128 (7)
1015#define ALG_AES_192 (8)
1016#define ALG_AES_256 (9)
1017
1018#define ALG_ARC4 (10)
1019#define ALG_ARC5 (89)
1020
1021/* Symmetric key sizes (bytes) */
1022
1023#define ALG_DES_LEN (8)
1024#define ALG_DES3_112_LEN (16)
1025#define ALG_DES3_168_LEN (24)
1026
1027//Deprecated
1028#define DES_LEN (ALG_DES_LEN)
1029#define DES3_112_LEN (ALG_DES3_112_LEN)
1030#define DES3_168_LEN (ALG_DES3_168_LEN)
1031
1032#define ALG_DESX_LEN (24)
1033
1034#define ALG_AES_128_LEN (16)
1035#define ALG_AES_192_LEN (24)
1036#define ALG_AES_256_LEN (32)
1037
1038#define ALG_ARC4_LEN (16)
1039#define ALG_ARC5_LEN (16)
1040
1041/* Block sizes */
1042
1043#define DES_BLOCK (8)
1044#define DES3_BLOCK (8)
1045#define DESX_BLOCK (8)
1046#define AES_BLOCK (16)
1047#define AES_128_BLOCK (16)
1048#define AES_192_BLOCK (16)
1049#define AES_256_BLOCK (16)
1050#define ARC5_BLOCK (8)
1051
1052/* Operation modes */
1053
1054#define MODE_DEFAULT (0xFFFFFFFF)
1055#define MODE_NONE (0)
1056#define MODE_ECB (1 << 0)
1057#define MODE_CBC (1 << 1)
1058#define MODE_KWP (1 << 2)
1059#define MODE_OFB (1 << 3)
1060#define MODE_CTR (1 << 4)
1061#define MODE_GCM (1 << 5)
1062#define MODE_KW (1 << 6)
1064/* Operation directions */
1065
1066#define D_ENCRYPT (0 << 7)
1067#define D_DECRYPT (1 << 7)
1068
1069/* Asymmetric algorithms */
1070
1071#define ALG_RSA_512 (4)
1072#define ALG_RSA_1024 (5)
1073#define ALG_RSA_2048 (6)
1074#define ALG_RSA_4096 (11)
1075#define ALG_RSA_1152 (121)
1076#define ALG_RSA_1408 (122)
1077#define ALG_RSA_1536 (131)
1078#define ALG_RSA_1976 (130)
1079#define ALG_RSA_1984 (123)
1080#define ALG_RSA_8192 (124)
1081#define ALG_RSA_2304 (126)
1082#define ALG_RSA_2560 (127)
1083#define ALG_RSA_2816 (128)
1084#define ALG_RSA_3072 (129)
1085
1086#define ALG_DSA_2048 (150)
1087#define ALG_DSA_3072 (151)
1088
1089#define ALG_DH_RFC5114_2048 (152)
1090#define ALG_DH_RFC7919_2048 (153)
1091#define ALG_DH_RFC7919_3072 (154)
1092
1093#define ALG_OBJ_CSP (193)
1095#define ALG_ECX_ED25519 (201)
1096#define ALG_ECX_ED448 (202)
1097#define ALG_ECX_X25519 (203)
1098#define ALG_ECX_X448 (204)
1099
1100#define ALG_ECC_SECP112R1 (18) // SECG/WTLS curve over a 112 bit prime field
1101#define ALG_ECC_SECP112R2 (19) // SECG curve over a 112 bit prime field
1102#define ALG_ECC_SECP128R1 (20) // SECG curve over a 128 bit prime field
1103#define ALG_ECC_SECP128R2 (21) // SECG curve over a 128 bit prime field
1104#define ALG_ECC_SECP160K1 (22) // SECG curve over a 160 bit prime field
1105#define ALG_ECC_SECP160R1 (23) // SECG curve over a 160 bit prime field
1106#define ALG_ECC_SECP160R2 (24) // SECG/WTLS curve over a 160 bit prime field
1107#define ALG_ECC_SECP192K1 (25) // SECG curve over a 192 bit prime field
1108#define ALG_ECC_SECP192R1 (26) // NIST/X9.62/SECG curve over a 192 bit prime field
1109#define ALG_ECC_SECP224K1 (27) // SECG curve over a 224 bit prime field
1110#define ALG_ECC_SECP224R1 (28) // NIST/SECG curve over a 224 bit prime field
1111#define ALG_ECC_SECP256K1 (29) // SECG curve over a 256 bit prime field
1112#define ALG_ECC_SECP256R1 (30) // X9.62/SECG curve over a 256 bit prime field
1113#define ALG_ECC_SECP384R1 (31) // NIST/SECG curve over a 384 bit prime field
1114#define ALG_ECC_SECP521R1 (32) // NIST/SECG curve over a 521 bit prime field
1115#define ALG_ECC_X9_62_PRIME192V1 (ALG_ECC_SECP192R1)
1116#define ALG_ECC_X9_62_PRIME192V2 (33) // X9.62 curve over a 192 bit prime field
1117#define ALG_ECC_X9_62_PRIME192V3 (34) // X9.62 curve over a 192 bit prime field
1118#define ALG_ECC_X9_62_PRIME239V1 (35) // X9.62 curve over a 239 bit prime field
1119#define ALG_ECC_X9_62_PRIME239V2 (36) // X9.62 curve over a 239 bit prime field
1120#define ALG_ECC_X9_62_PRIME239V3 (37) // X9.62 curve over a 239 bit prime field
1121#define ALG_ECC_X9_62_PRIME256V1 (ALG_ECC_SECP256R1)
1122
1123#define ALG_ECC_BRAINPOOL_P160R1 (38) // RFC 5639 standard curves
1124#define ALG_ECC_BRAINPOOL_P160T1 (39)
1125#define ALG_ECC_BRAINPOOL_P192R1 (40)
1126#define ALG_ECC_BRAINPOOL_P192T1 (41)
1127#define ALG_ECC_BRAINPOOL_P224R1 (42)
1128#define ALG_ECC_BRAINPOOL_P224T1 (43)
1129#define ALG_ECC_BRAINPOOL_P256R1 (44)
1130#define ALG_ECC_BRAINPOOL_P256T1 (45)
1131#define ALG_ECC_BRAINPOOL_P320R1 (46)
1132#define ALG_ECC_BRAINPOOL_P320T1 (47)
1133#define ALG_ECC_BRAINPOOL_P384R1 (48)
1134#define ALG_ECC_BRAINPOOL_P384T1 (49)
1135#define ALG_ECC_BRAINPOOL_P512R1 (50)
1136#define ALG_ECC_BRAINPOOL_P512T1 (51)
1137
1138/* ECC bchain */
1139#define ALG_BLKC_BTC_MINI_KEY (1771)
1140#define ALG_BLKC_BIP32_SXPRIV (1772)
1141#define ALG_BLKC_BIP39_SXPRIV (1773)
1142#define ALG_BLKC_BIP32_XPRIV (1774)
1143#define ALG_BLKC_BIP32_ED25519_XPRIV (1775)
1144
1145/* blobs */
1146#define BLOB_TYPE (12)
1147#define ALG_OBJ_BLOB (12)
1148#define ALG_OBJ_BLOB_X509 (13)
1149#define ALG_OBJ_BLOB_PKCS7 (14)
1150#define ALG_OBJ_BLOB_CRL (15)
1151#define ALG_OBJ_BLOB_HOTP (16)
1152#define ALG_OBJ_BLOB_DPGO3 (17) /* TAC-PASS (Vasco Digipass GO3 Compatible) */
1153#define ALG_OBJ_MAP (90)
1154#define ALG_OBJ_EXT_MAP_2_OBJ (125)
1155
1156
1157/* Public key objects */
1158
1159#define ALG_OBJ_PUBKEY_BLOB (350)
1160#define ALG_OBJ_PUBKEY_RSA_BLOB (351) // pkcs1/oem
1161#define ALG_OBJ_PUBKEY_ECC_BLOB (352) // SubjectPublicKeyInfo
1162#define ALG_OBJ_PUBKEY_SPKI_RSA_BLOB (353) // SubjectPublicKeyInfo
1163#define ALG_OBJ_PUBKEY_ECC_Ed_BLOB (354) // SubjectPublicKeyInfo
1164#define ALG_OBJ_PUBKEY_ECC_X_BLOB (355) // SubjectPublicKeyInfo
1165#define ALG_OBJ_PUBKEY_DSA_BLOB (356) // SubjectPublicKeyInfo
1166#define ALG_OBJ_PUBKEY_DH_BLOB (357) // SubjectPublicKeyInfo
1167
1168/* HMAC objects */
1169
1170#define ALG_HMAC_MD5 (92)
1171#define ALG_HMAC_SHA1 (93)
1172#define ALG_HMAC_SHA2_256 (94)
1173#define ALG_HMAC_SHA2_384 (95)
1174#define ALG_HMAC_SHA2_512 (96)
1175#define ALG_HMAC_SHA2_224 (97)
1176#define ALG_HMAC_SHA3_224 (98)
1177#define ALG_HMAC_SHA3_256 (99)
1178#define ALG_HMAC_SHA3_384 (100)
1179#define ALG_HMAC_SHA3_512 (101)
1180
1181/* CMAC algorithms - DCreateHash Only */
1182
1183#define ALG_CMAC_AES (250)
1184#define ALG_CMAC_DES (251)
1185
1186
1187/* PKCS11 objects */
1188
1189#define ALG_PKCS11_MAP (120) // pkcs11 shell obj
1190
1191
1192
1193#define MAX_ALG_ID (ALG_OBJ_PUBKEY_SPKI_RSA_BLOB)
1194
1195
1196/* Public keys -> most significant bit of the DWORD must be set. */
1197
1198#define ALG_RSA_512_PUB (ALG_RSA_512 | 1 << 31)
1199#define ALG_RSA_1024_PUB (ALG_RSA_1024 | 1 << 31)
1200#define ALG_RSA_2048_PUB (ALG_RSA_2048 | 1 << 31)
1201#define ALG_RSA_4096_PUB (ALG_RSA_4096 | 1 << 31)
1202#define ALG_RSA_1152_PUB (ALG_RSA_1152 | 1 << 31)
1203#define ALG_RSA_1408_PUB (ALG_RSA_1408 | 1 << 31)
1204#define ALG_RSA_1536_PUB (ALG_RSA_1536 | 1 << 31)
1205#define ALG_RSA_1976_PUB (ALG_RSA_1976 | 1 << 31)
1206#define ALG_RSA_1984_PUB (ALG_RSA_1984 | 1 << 31)
1207#define ALG_RSA_8192_PUB (ALG_RSA_8192 | 1 << 31)
1208#define ALG_RSA_2304_PUB (ALG_RSA_2304 | 1 << 31)
1209#define ALG_RSA_2560_PUB (ALG_RSA_2560 | 1 << 31)
1210#define ALG_RSA_2816_PUB (ALG_RSA_2816 | 1 << 31)
1211#define ALG_RSA_3072_PUB (ALG_RSA_3072 | 1 << 31)
1212
1213#define ALG_ECX_ED25519_PUB (ALG_ECX_ED25519 | 1 << 31)
1214#define ALG_ECX_ED448_PUB (ALG_ECX_ED448 | 1 << 31)
1215#define ALG_ECX_X25519_PUB (ALG_ECX_X25519 | 1 << 31)
1216#define ALG_ECX_X448_PUB (ALG_ECX_X448 | 1 << 31)
1217
1218
1219#define ALG_ECC_SECP112R1_PUB (ALG_ECC_SECP112R1 | (1 << 31))
1220#define ALG_ECC_SECP112R2_PUB (ALG_ECC_SECP112R2 | (1 << 31))
1221#define ALG_ECC_SECP128R1_PUB (ALG_ECC_SECP128R1 | (1 << 31))
1222#define ALG_ECC_SECP128R2_PUB (ALG_ECC_SECP128R2 | (1 << 31))
1223#define ALG_ECC_SECP160K1_PUB (ALG_ECC_SECP160K1 | (1 << 31))
1224#define ALG_ECC_SECP160R1_PUB (ALG_ECC_SECP160R1 | (1 << 31))
1225#define ALG_ECC_SECP160R2_PUB (ALG_ECC_SECP160R2 | (1 << 31))
1226#define ALG_ECC_SECP192K1_PUB (ALG_ECC_SECP192K1 | (1 << 31))
1227#define ALG_ECC_SECP192R1_PUB (ALG_ECC_SECP192R1 | (1 << 31))
1228#define ALG_ECC_SECP224K1_PUB (ALG_ECC_SECP224K1 | (1 << 31))
1229#define ALG_ECC_SECP224R1_PUB (ALG_ECC_SECP224R1 | (1 << 31))
1230#define ALG_ECC_SECP256K1_PUB (ALG_ECC_SECP256K1 | (1 << 31))
1231#define ALG_ECC_SECP256R1_PUB (ALG_ECC_SECP256R1 | (1 << 31))
1232#define ALG_ECC_SECP384R1_PUB (ALG_ECC_SECP384R1 | (1 << 31))
1233#define ALG_ECC_SECP521R1_PUB (ALG_ECC_SECP521R1 | (1 << 31))
1234#define ALG_ECC_X9_62_PRIME192V1_PUB (ALG_ECC_SECP192R1_PUB)
1235#define ALG_ECC_X9_62_PRIME192V2_PUB (ALG_ECC_X9_62_PRIME192V2 | (1 << 31))
1236#define ALG_ECC_X9_62_PRIME192V3_PUB (ALG_ECC_X9_62_PRIME192V3 | (1 << 31))
1237#define ALG_ECC_X9_62_PRIME239V1_PUB (ALG_ECC_X9_62_PRIME239V1 | (1 << 31))
1238#define ALG_ECC_X9_62_PRIME239V2_PUB (ALG_ECC_X9_62_PRIME239V2 | (1 << 31))
1239#define ALG_ECC_X9_62_PRIME239V3_PUB (ALG_ECC_X9_62_PRIME239V3 | (1 << 31))
1240#define ALG_ECC_X9_62_PRIME256V1_PUB (ALG_ECC_SECP256R1_PUB)
1241
1242#define ALG_ECC_BRAINPOOL_P160R1_PUB (ALG_ECC_BRAINPOOL_P160R1 | (1 << 31))
1243#define ALG_ECC_BRAINPOOL_P160T1_PUB (ALG_ECC_BRAINPOOL_P160T1 | (1 << 31))
1244#define ALG_ECC_BRAINPOOL_P192R1_PUB (ALG_ECC_BRAINPOOL_P192R1 | (1 << 31))
1245#define ALG_ECC_BRAINPOOL_P192T1_PUB (ALG_ECC_BRAINPOOL_P192T1 | (1 << 31))
1246#define ALG_ECC_BRAINPOOL_P224R1_PUB (ALG_ECC_BRAINPOOL_P224R1 | (1 << 31))
1247#define ALG_ECC_BRAINPOOL_P224T1_PUB (ALG_ECC_BRAINPOOL_P224T1 | (1 << 31))
1248#define ALG_ECC_BRAINPOOL_P256R1_PUB (ALG_ECC_BRAINPOOL_P256R1 | (1 << 31))
1249#define ALG_ECC_BRAINPOOL_P256T1_PUB (ALG_ECC_BRAINPOOL_P256T1 | (1 << 31))
1250#define ALG_ECC_BRAINPOOL_P320R1_PUB (ALG_ECC_BRAINPOOL_P320R1 | (1 << 31))
1251#define ALG_ECC_BRAINPOOL_P320T1_PUB (ALG_ECC_BRAINPOOL_P320T1 | (1 << 31))
1252#define ALG_ECC_BRAINPOOL_P384R1_PUB (ALG_ECC_BRAINPOOL_P384R1 | (1 << 31))
1253#define ALG_ECC_BRAINPOOL_P384T1_PUB (ALG_ECC_BRAINPOOL_P384T1 | (1 << 31))
1254#define ALG_ECC_BRAINPOOL_P512R1_PUB (ALG_ECC_BRAINPOOL_P512R1 | (1 << 31))
1255#define ALG_ECC_BRAINPOOL_P512T1_PUB (ALG_ECC_BRAINPOOL_P512T1 | (1 << 31))
1256
1257/* Binary objects */
1258
1259#define ALG_OBJ_INVALID_TYPE (0)
1260#define ALG_OBJ_NULL (ALG_OBJ_INVALID_TYPE)
1261#define ALG_OBJ (12)
1262#define OBJ_BLOCK (1)
1263
1264
1265/* RSA module sizes */
1266#define RSA_512_LEN (64)
1267#define RSA_1024_LEN (128)
1268#define RSA_2048_LEN (256)
1269#define RSA_4096_LEN (512)
1270#define RSA_1152_LEN (144)
1271#define RSA_1408_LEN (176)
1272#define RSA_1536_LEN (192)
1273#define RSA_1976_LEN (247)
1274#define RSA_1984_LEN (248)
1275#define RSA_8192_LEN (1024)
1276#define RSA_2304_LEN (288)
1277#define RSA_2560_LEN (320)
1278#define RSA_2816_LEN (352)
1279#define RSA_3072_LEN (384)
1280
1281#define RSA_512_PUB_LEN (RSA_512_LEN * 2)
1282#define RSA_1024_PUB_LEN (RSA_1024_LEN * 2)
1283#define RSA_2048_PUB_LEN (RSA_2048_LEN * 2)
1284#define RSA_4096_PUB_LEN (RSA_4096_LEN * 2)
1285#define RSA_1152_PUB_LEN (RSA_1152_LEN * 2)
1286#define RSA_1408_PUB_LEN (RSA_1408_LEN * 2)
1287#define RSA_1536_PUB_LEN (RSA_1536_LEN * 2)
1288#define RSA_1976_PUB_LEN (RSA_1976_LEN * 2)
1289#define RSA_1984_PUB_LEN (RSA_1984_LEN * 2)
1290#define RSA_8192_PUB_LEN (RSA_8192_LEN * 2)
1291#define RSA_2304_PUB_LEN (RSA_2304_LEN * 2)
1292#define RSA_2560_PUB_LEN (RSA_2560_LEN * 2)
1293#define RSA_2816_PUB_LEN (RSA_2816_LEN * 2)
1294#define RSA_3072_PUB_LEN (RSA_3072_LEN * 2)
1295
1296#define MAX_RSA_PUB_LEN RSA_8192_PUB_LEN
1297#define MAX_RSA_LEN RSA_8192_LEN
1298
1299
1300/* ECC key sizes (bits) */
1301#define ECC_SECP112R1_LEN (112)
1302#define ECC_SECP112R2_LEN (112)
1303#define ECC_SECP128R1_LEN (128)
1304#define ECC_SECP128R2_LEN (128)
1305#define ECC_SECP160K1_LEN (160)
1306#define ECC_SECP160R1_LEN (160)
1307#define ECC_SECP160R2_LEN (160)
1308#define ECC_SECP192K1_LEN (192)
1309#define ECC_SECP192R1_LEN (192)
1310#define ECC_SECP224K1_LEN (224)
1311#define ECC_SECP224R1_LEN (224)
1312#define ECC_SECP256K1_LEN (256)
1313#define ECC_SECP256R1_LEN (256)
1314#define ECC_SECP384R1_LEN (384)
1315#define ECC_SECP521R1_LEN (521)
1316#define ECC_X9_62_PRIME192V1_LEN (ECC_SECP192R1_LEN)
1317#define ECC_X9_62_PRIME192V2_LEN (192)
1318#define ECC_X9_62_PRIME192V3_LEN (192)
1319#define ECC_X9_62_PRIME239V1_LEN (239)
1320#define ECC_X9_62_PRIME239V2_LEN (239)
1321#define ECC_X9_62_PRIME239V3_LEN (239)
1322#define ECC_X9_62_PRIME256V1_LEN (ECC_SECP256R1_LEN)
1323
1324#define ECC_BRAINPOOL_P160R1_LEN (160) // RFC 5639 standard curves
1325#define ECC_BRAINPOOL_P160T1_LEN (160)
1326#define ECC_BRAINPOOL_P192R1_LEN (192)
1327#define ECC_BRAINPOOL_P192T1_LEN (192)
1328#define ECC_BRAINPOOL_P224R1_LEN (224)
1329#define ECC_BRAINPOOL_P224T1_LEN (224)
1330#define ECC_BRAINPOOL_P256R1_LEN (256)
1331#define ECC_BRAINPOOL_P256T1_LEN (256)
1332#define ECC_BRAINPOOL_P320R1_LEN (320)
1333#define ECC_BRAINPOOL_P320T1_LEN (320)
1334#define ECC_BRAINPOOL_P384R1_LEN (384)
1335#define ECC_BRAINPOOL_P384T1_LEN (384)
1336#define ECC_BRAINPOOL_P512R1_LEN (512)
1337#define ECC_BRAINPOOL_P512T1_LEN (512)
1338
1339#define ECC_Ed25519_LEN (256)
1340#define ECC_Ed448_LEN (448)
1341#define ECC_X25519_LEN (256)
1342#define ECC_X448_LEN (448)
1343
1344/* Initialization vector sizes */
1345
1346#define DES_IV_LEN (8)
1347#define AES_IV_LEN (16)
1348
1349/* Padding */
1350
1351#define D_DEFAULT_PADDING (0xFFFFFFFF) // Placeholder for default padding
1352#define D_NO_PADDING (0)
1353#define D_PKCS5_PADDING (1)
1354#define D_ZERO_PADDING (2)
1355#define D_OAEP_PADDING (3)
1356#define D_OAEP_SHA1_PADDING (D_OAEP_PADDING)
1357#define D_PKCS1_PADDING (4)
1358#define D_PSS_PADDING (5)
1359#define D_X931_PADDING (6)
1360#define D_PSS_SALT_LEN_MD_PADDING (7)
1361#define D_OAEP_SHA2_256_PADDING (8)
1362
1363
1364/* Key Blobs */
1365
1366#define PRIVATEKEY_BLOB (1)
1367#define PUBLICKEY_BLOB (2)
1368#define SIMPLE_BLOB (3)
1369#define PLAINTEXTKEY_BLOB (4)
1370#define RAW_BLOB (5) //Deprecated
1371#define HOTP_BLOB (6)
1372#define SIMPLE_BLOB_OAEP (7)
1373#define SIMPLE_BLOB_PKCS1 (SIMPLE_BLOB)
1374#define PUBLICKEY_BLOB_X509 (8)
1375#define SYM_WRAPPED_KEY_BLOB (9)
1376#define OPAQUE_BLOB (10)
1377#define PUBLICKEY_BLOB_HSM (11)
1378#define PUBLICKEY_RSA_PARTS_HSM (12)
1379#define PRIVATEKEY_BLOB_P8 (13)
1380#define PRIVATEKEY_BLOB_STRICT (14)
1381#define SYM_WRAPPED_KEY_BLOB_P11 (15)//Importkey only
1382#define WRAPPED_KEY_BLOB (16)
1383#define PRIVATE_RSA_KEY_INFO (17)
1384#define WRAPPED_KEY_BLOB_P8 (18)
1385#define WRAPPED_KEY_KMIP (19)
1386#define PUBLICKEY_BLOB_KMIP (20)
1387
1388
1389
1390/* Pkcs11 Blobs */
1391#define P11_BLOB (1)
1392
1393/* Pkcs11 Update Flags */
1394
1395#define UPDATE_P11_target ( 1 << 0 )
1396#define UPDATE_P11_associate ( 1 << 1 )
1397#define UPDATE_P11_Class ( 1 << 2 )
1398#define UPDATE_P11_App ( 1 << 3 )
1399#define UPDATE_P11_Id ( 1 << 4 )
1400#define UPDATE_P11_Label ( 1 << 5 )
1401#define UPDATE_P11_Trusted ( 1 << 6 )
1402#define UPDATE_P11_WrapWithTrusted ( 1 << 7 )
1403#define UPDATE_P11_Local ( 1 << 8 )
1404#define UPDATE_P11_CertificateCategory ( 1 << 9 )
1405#define UPDATE_P11_JavaMidpSecDomain ( 1 << 10 )
1406#define UPDATE_P11_KeyGenMechanism ( 1 << 11 )
1407
1408/* Key types */
1409
1410/* DGenerateKey DImportKey and related */
1411/* Flags */
1412#define EXPORTABLE_KEY (0x00000001) // Mark the key as exportable.
1413#define NO_CRYPTO (0x00000002) // The key will not be encrypted inside the HSM. Deprecated in newer versions.
1414#define TEMPORARY_KEY (0x00000004) // Mark key as temporary. Key will exist while the session exists. (default in ImportKey).
1415#define PERMANENT_KEY (0x00000008) // The key will be persistent in the HSM. (default in GenerateKey and ImportKeyPart).
1416#define RSA_PUB_EXP3 (0x00000800) // Use exponent 0x03 when generating a RSA key pair
1417#define MOD_SPB_RELATED (0x00001000) // Mark as mod_SPB related object
1418#define TSP_KEY (0x00002000) // TSP keys: don't replicate, export, backup, etc;
1419#define BCHAIN_KEY (0x00004000) // BChain keys: PBKs are handled specially, etc;
1420#define HSM_LOCAL_GEN (0x00008000) // set on HSM generated keys;
1421
1422// Attribute Usage-profile
1423#define AUP_DIG_SIG (0x01000000) // signature generation/verification
1424#define AUP_DATA_CRYPTO (0x02000000) // data encryption/decryption
1425#define AUP_KeK (0x03000000) // key wrapping/unwrapping
1426#define AUP_MAC (0x04000000) // MAC generation/verification
1427#define AUP_KDF (0x05000000) // key derivation function
1428#define AUP_CRYPTOGRAM (0x06000000) // cryptogram generation/verification
1429#define AUP_KEY_TRANSLATE (0x07000000) // key translation
1430#define AUP_EFT_CVK (0x08000000) // CVV generation/verification
1431#define AUP_EFT_VISA_PVK (0x09000000) // PVV generation
1432#define AUP_EFT_IBM_3624 (0x0a000000) // PIN generation/validation
1433#define AUP_EFT_PEK (0x0b000000) // PIN encryption/decryption
1434#define AUP_EFT_BDK (0x0c000000) // DUKPT
1435#define AUP_EFT_IPEK (0x0d000000) // DUKPT IPEK
1436#define AUP_EMV_IMK (0x0e000000) // ICC MK, IDN derivation
1437#define AUP_EMV_IMKDAC (0x0f000000) // ICC DAC derivation
1438#define AUP_EMV_IMKENC (0x10000000) // ICC data encryption - PinBlock
1439#define AUP_EMV_IMKMAC (0x11000000) // ICC data cryptogram - EmvMac
1440#define AUP_EMV_KeK (0x12000000) // ICC MK wrapping
1441#define AUP_EMV_IMKKDF (0x13000000) // EMV key derivation
1442#define AUP_EMV_IMKACRYPTO (0x14000000) // ARPC calculation
1443#define AUP_EFT_KeK (0x15000000) // EFT key wrapping/unwrapping
1444#define AUP_EMV_DIG_SIG (0x16000000) // EMV signature generation/verification
1445#define AUP_EFT_TR31_KBPK (0x17000000) // TR31 key-block protection key
1446#define AUP_EFT_TR34_PK (0x18000000) // TR34 sign/envelope
1447#define AUP_SPB_PK (0x19000000) // Brazilian National banking system sig gen/verify and key-wrapping key
1448
1449#define AUP_RESERVED_MASK (0xFF000000) // Mask of reserved Usage profile bits.
1450
1451/* DRemoveKey */
1452#define REMOVE_FROM_HSM (0x00000020) // Erase a key from the HSM and destroys it's handle.
1453#define REMOVE_FROM_HCM (REMOVE_FROM_HSM) // DEPRECATED. use REMOVE_FROM_HSM
1454
1455/* SetKeyParam/GetKeyParam */
1456
1457#define DKP_ALGID (1) /* Key algorithm ID. pbData == nAlgId */
1458#define DKP_IV (2) /* Initialization Vector. pbData == pbIV */
1459#define DKP_PADDING (3) /* Padding format. pbData == dwPadding */
1460#define DKP_MODE (4) /* Operation mode. pbData == dwOpMode */
1461#define DKP_OWNER (5) /* Key owner. pbData == szUserId (separated by ";" ) */
1462#define DKP_USER (6) /* Key user. pbData == szUserId (separated by ";" )*/
1463#define DKP_READ_LOCK (7) /* Key read lock status. pbData == NULL */
1464#define DKP_ENCRYPTED (8) /* Encrypted object. */
1465#define DKP_KEYLEN (9) /* Key size (bytes). */
1466#define DKP_TEMPORARY_KEY (10) /* Temporary key. pbData == dwTempKey */
1467#define DKP_MAP_VALUE (11) /* Values of a MAP object.pbData == MAP_2_OBJ_INFO*/
1468#define DKP_BLOCKED (12) /* Block object. pbData == nBlocked (TRUE|FALSE)*/
1469#define DKP_CERT_X509_INFO (13) /* Returns information of a x.509 certificate. pbData == CERT_X509_INFO */
1470#define DKP_SESSION (14) /* Session associated to the key handle. pbData == HSESSIONCTX */
1471#define DKP_KEY_ID (15) /* Key name associated to the key handle. pbData == szKeyId */
1472#define DKP_PUB_KEY_EXP (16) /* Public exponent for the key. pbData == DBLOB */
1473#define DKP_SP80057_INFO (17) /* Object's SP80057 info. pbData == OBJ_SP80057_INFO */
1474#define DKP_KEY_INFO (18) /* Key info. pbData == GET_USR_KEY_OFFLINE */
1475#define DKP_BLOCK_SIZE (19) /* Key block size (bytes). */
1476#define DKP_OBJ_ATTRIBUTES (20) /* Object attributes. pbData == DWORD */
1477#define DKP_OBJ_STATS (21) /* Object statistics. pbData == DN_OBJ_STATS */
1478
1479//Flags
1480#define REMOVE_ATTRIBUTE (0x00000040)
1481
1482/* SetHashParam/GetHashParam */
1483
1484#define DHP_ALGID (1) /* Hash algorithm. */
1485#define DHP_HASH_VALUE (2) /* Hash value. */
1486#define DHP_HASH_SIZE (4) /* Hash size (bytes). */
1487#define DHP_RESET (5) /* Reset hash state. */
1488
1489/* HashSessionKey */
1490
1491#define DHS_LITTLE_ENDIAN (1)
1492
1493/* DSetObjParam */
1494#define OP_OBJ_BLOCKED (1) /* User blocked */
1495#define OP_OBJ_UNBLOCKED (2) /* Used unblocked */
1496
1497/* LogParam */
1498
1499#define LP_LOG_PATH (0x00000001) /* Log file full path. */
1500#define LP_LOG_LEVEL (0x00000002) /* Log level. */
1501
1502#define LOG_ERROR_LEVEL (0)
1503#define LOG_DEBUG_LEVEL (3)
1504
1505#define LOG_DISABLED_LEVEL (1000)
1506
1507/*
1508 DGetHSMLogInit
1509 Remote log start and offset options
1510*/
1511
1512#define GET_LOG_START_FULL (0x00000000) //Deprecated - Use RLOG_GET_LOG_START_FULL instead.
1513#define GET_LOG_END_FULL (0x00000000) //Deprecated - Use RLOG_GET_LOG_END_FULL instead.
1514
1515#define RLOG_GET_LOG_START_FULL (0x00000000)
1516#define RLOG_GET_LOG_END_FULL (0x00000000)
1517
1518#define RLOG_GET_ZLOG_START_FULL (RLOG_GET_LOG_START_FULL)
1519#define RLOG_GET_ZLOG_END_FULL (0xFFFFFFFF)
1520
1521// Set both to get full compressed OEM log (pkzip format).
1522#define RLOG_GET_OEM_ZLOG_START_FULL (RLOG_GET_LOG_START_FULL)
1523#define RLOG_GET_OEM_ZLOG_END_FULL (RLOG_GET_ZLOG_END_FULL -1)
1524
1525
1526/* Permissions */
1527
1528#define ACL_NOP (0x00000000) // "may the Force be with ya'!"
1529#define ACL_OBJ_DEL (ACL_NOP + 1) // delete objects
1530#define ACL_OBJ_READ (ACL_OBJ_DEL << 1) // read obj content
1531#define ACL_OBJ_LIST (ACL_OBJ_READ) // list usr objs
1532#define ACL_OBJ_CREATE (ACL_OBJ_DEL << 2) // create obj
1533#define ACL_OBJ_UPDATE (ACL_OBJ_DEL << 3) // update obj (hdr and alike)
1534#define ACL_OBJ_WRITE (ACL_OBJ_UPDATE) // update obj
1535#define ACL_USR_CREATE (ACL_OBJ_DEL << 4) // create usr
1536#define ACL_USR_DELETE (ACL_USR_CREATE) // makes no sense only to create
1537#define ACL_USR_REMOTE_INFO (ACL_OBJ_DEL << 5) // can usr use remote log/info?
1538#define ACL_USR_LIST (ACL_OBJ_DEL << 6) // can usr get user-list?
1539#define ACL_SYS_OPERATOR (ACL_OBJ_DEL << 7) // operate as master (adm mode)
1540#define ACL_SYS_BACKUP (ACL_OBJ_DEL << 8) // extract full appliance backup
1541#define ACL_SYS_RESTORE (ACL_SYS_BACKUP) // restore full appliance backup
1542#define ACL_SYS_UDATE_HSM (ACL_OBJ_DEL << 9) // firmware and stuff like that
1543#define ACL_NS_AUTHORIZATION (ACL_OBJ_DEL << 10) // user must be authorized with "m of n"
1544#define ACL_LOCAL_CRYPTO (ACL_OBJ_DEL << 11) // user keys crypto ops must be done locally
1545#define ACL_VIRTUAL_X509_AUTH (ACL_OBJ_DEL << 28) // presence means SA (user must use 2F PKI)
1546#define ACL_VIRTUAL_OTP_AUTH (ACL_OBJ_DEL << 29) // presence means SA (user must use 2-F OTP)
1547#define ACL_CHANGE_PWD_NEXT_TIME (ACL_OBJ_DEL << 30) // can force usrs to change pwd on next login
1548
1549// Deprecated use ACL_USR_REMOTE_INFO
1550#define ACL_USR_REMOTE_LOG ACL_USR_REMOTE_INFO
1551
1552#define ACL_DEFAULT_OWNER (ACL_OBJ_DEL | ACL_OBJ_READ | ACL_OBJ_CREATE | \
1553 ACL_OBJ_UPDATE)
1554
1555#define ACL_SYS_PERMISSIONS (ACL_USR_CREATE | ACL_USR_REMOTE_INFO | ACL_USR_LIST | \
1556 ACL_SYS_OPERATOR | ACL_SYS_BACKUP | \
1557 ACL_SYS_UDATE_HSM)
1558
1559#define ACL_CREATION_TIME_ONLY (ACL_NS_AUTHORIZATION | ACL_LOCAL_CRYPTO)
1560
1561// DNSAuthSetState
1562
1563//
1564// NSAuth specific ACLs; NSAuth always grants ACL_OBJ_READ by default;
1565//
1566#define NSAUTH_ACL_NOP (ACL_NOP)
1567#define NSAUTH_ACL_OBJ_OPEN (ACL_OBJ_READ)
1568#define NSAUTH_ACL_OBJ_EXPORT (ACL_OBJ_CREATE)
1569#define NSAUTH_ACL_OBJ_DEL (ACL_OBJ_DEL)
1570#define NSAUTH_ACL_OBJ_BLOCK (ACL_OBJ_UPDATE)
1571#define NSAUTH_ACL_NS_DEL (ACL_USR_DELETE)
1572
1573/* DGenerateCVV/DVerifyCVV */
1574
1575#define MIN_CVV_LEN (3 + 1)
1576#define MAX_PAN_LEN (24 + 1)
1577#define MAX_EXP_DATE_LEN (4 + 1)
1578#define MAX_SVC_LEN (3 + 1)
1579
1580/* DEFTExportTR31 */
1581
1582// A.5.1, Table 6, inverted (little-endian);
1583#define EFT_ME_TR31_EXP_USAGE_AUTO (0x0000)
1584#define EFT_ME_TR31_EXP_USAGE_B0 (0x3042)
1585#define EFT_ME_TR31_EXP_USAGE_B1 (0x3142)
1586#define EFT_ME_TR31_EXP_USAGE_B2 (0x3242)
1587#define EFT_ME_TR31_EXP_USAGE_C0 (0x3043)
1588#define EFT_ME_TR31_EXP_USAGE_D0 (0x3044)
1589#define EFT_ME_TR31_EXP_USAGE_D1 (0x3144)
1590#define EFT_ME_TR31_EXP_USAGE_D2 (0x3244)
1591#define EFT_ME_TR31_EXP_USAGE_E0 (0x3045)
1592#define EFT_ME_TR31_EXP_USAGE_E1 (0x3145)
1593#define EFT_ME_TR31_EXP_USAGE_E2 (0x3245)
1594#define EFT_ME_TR31_EXP_USAGE_E3 (0x3345)
1595#define EFT_ME_TR31_EXP_USAGE_E4 (0x3445)
1596#define EFT_ME_TR31_EXP_USAGE_E5 (0x3545)
1597#define EFT_ME_TR31_EXP_USAGE_E6 (0x3645)
1598#define EFT_ME_TR31_EXP_USAGE_I0 (0x3049)
1599#define EFT_ME_TR31_EXP_USAGE_K0 (0x304B)
1600#define EFT_ME_TR31_EXP_USAGE_K1 (0x314B)
1601#define EFT_ME_TR31_EXP_USAGE_K2 (0x324B)
1602#define EFT_ME_TR31_EXP_USAGE_K3 (0x334B)
1603#define EFT_ME_TR31_EXP_USAGE_M0 (0x304D)
1604#define EFT_ME_TR31_EXP_USAGE_M1 (0x314D)
1605#define EFT_ME_TR31_EXP_USAGE_M2 (0x324D)
1606#define EFT_ME_TR31_EXP_USAGE_M3 (0x334D)
1607#define EFT_ME_TR31_EXP_USAGE_M4 (0x344D)
1608#define EFT_ME_TR31_EXP_USAGE_M5 (0x354D)
1609#define EFT_ME_TR31_EXP_USAGE_M6 (0x364D)
1610#define EFT_ME_TR31_EXP_USAGE_M7 (0x374D)
1611#define EFT_ME_TR31_EXP_USAGE_M8 (0x384D)
1612#define EFT_ME_TR31_EXP_USAGE_P0 (0x3050)
1613#define EFT_ME_TR31_EXP_USAGE_S0 (0x3053)
1614#define EFT_ME_TR31_EXP_USAGE_S1 (0x3153)
1615#define EFT_ME_TR31_EXP_USAGE_S2 (0x3253)
1616#define EFT_ME_TR31_EXP_USAGE_V0 (0x3056)
1617#define EFT_ME_TR31_EXP_USAGE_V1 (0x3156)
1618#define EFT_ME_TR31_EXP_USAGE_V2 (0x3256)
1619#define EFT_ME_TR31_EXP_USAGE_V3 (0x3356)
1620#define EFT_ME_TR31_EXP_USAGE_V4 (0x3456)
1621
1622// A.5.3, Table 8
1623#define EFT_ME_TR31_EXP_MODE_AUTO (0x00)
1624#define EFT_ME_TR31_EXP_MODE_B (0x42)
1625#define EFT_ME_TR31_EXP_MODE_C (0x43)
1626#define EFT_ME_TR31_EXP_MODE_D (0x44)
1627#define EFT_ME_TR31_EXP_MODE_E (0x45)
1628#define EFT_ME_TR31_EXP_MODE_G (0x47)
1629#define EFT_ME_TR31_EXP_MODE_N (0x4E)
1630#define EFT_ME_TR31_EXP_MODE_S (0x53)
1631#define EFT_ME_TR31_EXP_MODE_T (0x55)
1632#define EFT_ME_TR31_EXP_MODE_V (0x56)
1633#define EFT_ME_TR31_EXP_MODE_X (0x58)
1634#define EFT_ME_TR31_EXP_MODE_Y (0x59)
1635
1636// A.5.5, Table 10
1637#define EFT_ME_TR31_EXP_AUTO (0x00)
1638#define EFT_ME_TR31_EXP_X9_24 (0x45) // ANSI X9.24 approved kek form
1639#define EFT_ME_TR31_EXP_NON_EXPORTABLE (0x4E)
1640#define EFT_ME_TR31_EXP_KEK_EXPORTABLE (0x53)
1641
1642/* DGeneratePVV */
1643
1644#define EFT_MIN_PVKI (0x00)
1645#define EFT_MAX_PVKI (0x06)
1646#define EFT_PVV_LEN (4)
1647
1648/* DGeneratePIN */
1649
1650#define GP_DEFAULT_PIN (1)
1651#define GP_USER_DEF_PIN (2)
1652#define GP_RANDOM_PIN (3)
1653
1654/* DEFTExportKey/DEFTKeKImport */
1655
1656#define EK_EFT_KEK_EXPORT_RAW (1) // BLOB() == envelope + checksum[3];
1657#define EK_EFT_KEK_EXPORT_VISA1 (2) // Variant-1 ZCMK, BLOB() == envelope + checksum[3];
1658#define EK_EFT_KEK_EXPORT_LMK (3) // BLOB() == 3DES_CBC(SVMK, Key)
1659#define EK_EFT_KEK_EXPORT_JCB (4) // BLOB() == envelope + checksum[8];
1660
1661/* DPINBlockTranslate */
1662
1663// translate types
1664#define TP_TRANSLATE_TYPE_AUTO (0xFF)
1665#define TP_TRANSLATE_TYPE_IBM_3624 (0x36)
1666#define TP_TRANSLATE_TYPE_ISO_0 (1) // == VISA 1; HSM default
1667#define TP_TRANSLATE_TYPE_ISO_1 (2)
1668#define TP_TRANSLATE_TYPE_ISO_3 (3)
1669
1670/* Other constants */
1671
1672#define MAX_USR_PWD (16)
1673#define MAX_USR_LEN (16)
1674#define MAX_CN_LEN (256)
1675#define MAX_PATH_LEN (256)
1676#define MAX_MODULE_NAME_LEN (128)
1677#define MAX_MODULE_VERSION_LEN (32)
1678#define MAX_ADDR_LEN (128)
1679#define MAX_CHANNEL_CIPHER_NAME_LEN (128)
1680#define MIN_PIN_LEN (8)
1681#define MIN_BACKUP_OBJ_PIN_LEN (8)
1682#define MAX_BACKUP_OBJ_PIN_LEN (32)
1683#define MIN_BACKUP_PIN_LEN (8)
1684#define MAX_BACKUP_PIN_LEN (32)
1685#define MAX_OBJ_NAME_LEN (32)
1686#define MAX_PIN_LEN (6)
1687#define MAX_MODULE_NAME_VERSION_LEN (1024)
1688#define MAX_IP_LEN (15)
1689#define MAX_NET_NAME (16)
1690#define MAX_HOTP_PIN (4)
1691#define MAX_HOTP_IMEI (24)
1692#define MAX_HOTP_APP_NAME (13)
1693#define MAX_HOTP_LOGO_LEN (1632)
1694#define MAX_P11_OBJ_ID (128)
1695#define MAX_OBJ_ID_BIN_LEN (32 + 1)
1696#ifndef MAX_OBJ_ID
1697#define MAX_OBJ_ID MAX_OBJ_ID_BIN_LEN
1698#endif
1699#ifndef MAX_OBJ_ID_LEN
1700#define MAX_OBJ_ID_LEN (MAX_USR_LEN + 1 + MAX_OBJ_ID)
1701#endif
1702#ifndef MAX_OBJ_ID_FQN_LEN
1703#define MAX_OBJ_ID_FQN_LEN (MAX_OBJ_ID_LEN)
1704#endif
1705#define MAX_P11_DATE_TXT (8)
1706#define MIN_EFT_PIN_LEN (4)
1707#define MAX_EFT_PIN_LEN (12)
1708#define MIN_KSI_LEN (5)
1709#define MIN_CTR_LEN (5)
1710#define MAX_HSM_DOMAIN_NAME (32)
1711#define MAX_HSM_MODEL_NAME (32)
1712#define MAX_HSM_ID_NAME (32)
1713
1714
1715/* MOD EFT*/
1716
1717#define EFT_AES_KEY_CHECKSUM_LEN (3)
1718#define EFT_VISA_KEY_CHECKSUM_LEN (3)
1719#define EFT_JCB_KEY_CHECKSUM_LEN (8)
1720#define EFT_EXP_DATE_LEN (4)
1721
1722#define EFT_EMV_SDA_SEQ_LEN (2)
1723#define EFT_EMV_SDA_DAC_LEN (2)
1724#define EFT_EMV_ARC_LEN (2)
1725#define EFT_EMV_CSU_LEN (4)
1726#define EFT_EMV_PAD_LEN (8)
1727
1728#define EFT_EMV_IDN_LEN (2)
1729#define EFT_EMV_IDN_ATC_LEN (2)
1730#define EFT_EMV_IDN_UN_LEN (4)
1731
1732#define EFT_EMV_CSR_VISA_TRACK_NUM_LEN (3)
1733#define EFT_EMV_CSR_VISA_SERVICE_ID_LEN (4)
1734#define EFT_EMV_CSR_VISA_ISSUER_ID_LEN (4)
1735#define EFT_EMV_CSR_VISA_PUB_KEY_INDEX_LEN (3)
1736
1737#define EFT_EMV_CSR_VISA_HASH_SIZE (20)
1738#define EFT_EMV_CSR_MASTER_HASH_SIZE (28)
1739
1740
1741
1742/* DGenerateICCMK */
1743
1744#define EFT_EMV_GEN_ICC_MK_OP_CBC_EXP (0x01)
1745#define EFT_EMV_GEN_ICC_MK_OP_ECB_EXP (0x02)
1746
1747/* DMAC_ISO9797_1_Met2*/
1748
1749#define EMV_MAC_TYPE_ALG1 (1)
1750#define EMV_MAC_TYPE_ALG3 (2)
1751
1752/* DGenerateEMV_MAC/DGenerateEMV_HMAC/DCalculateARPC */
1753
1754#define EMV_OP_ISO_9797_1_M2_COMMON (0x01)
1755#define EMV_OP_ISO_9797_1_M2_MCHIP (0x02)
1756#define EMV_OP_ISO_9797_1_M2_VISA (0x03)
1757#define EMV_OP_ISO_9797_1_M2_VISA_CRYPTOGRAM (0x04)
1758#define EMV_OP_ISO_9797_1_M2_VISA_ICC_V1_4_PAN_AUTO (0x05)
1759#define EMV_OP_ISO_9797_1_M2_RAW (0x06)
1760#define EMV_OP_ISO_9797_1_M1_VISA_CRYPTOGRAM_PADD_V10 (0x7F)
1761#define EMV_OP_ISO_9797_1_M2_ELO (0x07)
1762#define EMV_OP_ISO_9797_1_M2_JCB (0x08)
1763#define EMV_OP_ISO_9797_1_M1_JCB (0x09)
1764#define EMV_OP_ISO_9797_1_M1_JCB_CRYPTOGRAM (0x0A)
1765
1766/* DGenerateDDA_ICCCert */
1767
1768#define EFT_EMV_DDA_OP_RSA_SIGN1 (0x01) // rsa + sha1
1769
1770/* DGenerateEMV_CSR */
1771
1772#define EFT_EMV_OP_CSR_VISA (0x01)
1773#define EFT_EMV_OP_CSR_MASTER (0x02)
1774#define EFT_EMV_OP_CSR_ELO (0x03)
1775#define EFT_EMV_OP_CSR_JCB (0x04)
1776
1777
1778/* DGenerateISO9796Cert2 */
1779
1780#define CORE_P_ISO_9796_USER_ID_LEN (32)
1781#define CORE_P_ISO_9796_USER_NAME_LEN (32)
1782#define CORE_P_ISO_9796_KEY_LEN (512) // 128
1783#define CORE_P_ISO_9796_MIN_KEY_LEN (64)
1784#define CORE_P_ISO_9796_EXPONENT_LEN (8)
1785#define CORE_P_ISO_9796_MIN_EXPONENT_LEN (1)
1786
1787
1788/* DGenerateEMV_PinBlock */
1789
1790#define PBC_EMV_PIN_BLOCK_OP_COMMON (EMV_OP_ISO_9797_1_M2_COMMON)
1791#define PBC_EMV_PIN_BLOCK_OP_MCHIP (EMV_OP_ISO_9797_1_M2_MCHIP)
1792#define PBC_EMV_PIN_BLOCK_OP_VISA (EMV_OP_ISO_9797_1_M2_VISA)
1793#define PBC_EMV_PIN_BLOCK_OP_VISA_CRYPTOGRAM (EMV_OP_ISO_9797_1_M2_VISA_CRYPTOGRAM)
1794#define PBC_EMV_PIN_BLOCK_OP_ELO (EMV_OP_ISO_9797_1_M2_ELO)
1795#define PBC_EMV_PIN_BLOCK_OP_JCB (EMV_OP_ISO_9797_1_M2_JCB)
1796
1797#define PBC_EMV_PIN_BLOCK_MAX_OUTPUT (64)
1798
1799
1800/* DDeriveKeyFromBuffer */
1801
1802#define EMV_DERIVE_KEY_OP_XOR (0x01)
1803#define EMV_DERIVE_KEY_OP_ECB (0x02)
1804
1805
1806/* DGeneratePKCS10CSR */
1807
1808#define CORE_P10_CSR_VERSION1 (0x00)
1809#define CORE_P10_CSR_DN_MAX_LEN (2048)
1810
1811#define P10_CSR_DER (1)
1812#define P10_CSR_PEM (2)
1813
1814#define CORE_P10_HASH_SHA1 (0x01)
1815#define CORE_P10_HASH_SHA224 (0x02)
1816#define CORE_P10_HASH_SHA256 (0x03)
1817#define CORE_P10_HASH_SHA384 (0x04)
1818#define CORE_P10_HASH_SHA512 (0x05)
1819#define CORE_P10_HASH_SHA2_224 CORE_P10_HASH_SHA224
1820#define CORE_P10_HASH_SHA2_256 CORE_P10_HASH_SHA256
1821#define CORE_P10_HASH_SHA2_384 CORE_P10_HASH_SHA384
1822#define CORE_P10_HASH_SHA2_512 CORE_P10_HASH_SHA512
1823#define CORE_P10_HASH_SHA3_224 (0x06)
1824#define CORE_P10_HASH_SHA3_256 (0x07)
1825#define CORE_P10_HASH_SHA3_384 (0x08)
1826#define CORE_P10_HASH_SHA3_512 (0x09)
1827
1828/* DPKCS8ExportKey */
1829
1830// ASCII
1831#define CORE_P8_EXPORT_PWD_LEN (16)
1832#define ND_MIN_P8_PWD_LEN (8)
1833#define ND_MAX_P8_PWD_LEN (CORE_P8_EXPORT_PWD_LEN)
1834
1835/* DImportPKCS12Buffer */
1836
1837#define DN_MAX_P12_PWD_LEN (CORE_P8_EXPORT_PWD_LEN)
1838
1839/* DExportPKCS12 */
1840
1841#define DN_EXPORT_P12_LEGACY (1)
1842
1843/* SPB */
1844
1845#define DN_SPB_MSG_HEADER_V2_LEN (588)
1846#define ND_SPB_MSG_HEADER_V2_LEN DN_SPB_MSG_HEADER_V2_LEN
1847#define DN_SPB_MSG_HEADER_V3_LEN ND_SPB_MSG_HEADER_V2_LEN
1848#define DN_SPB_MAX_NOTIFY_DATA_SEG (32 * 1024)
1849#define ND_SPB_MAX_NOTIFY_DATA_SEG DN_SPB_MAX_NOTIFY_DATA_SEG
1850#define DN_SPB_V3_TAG_LEN (16)
1851#define DN_SPB_MAX_RCV_NOTIFY_DATA_SEG (ND_SPB_MAX_NOTIFY_DATA_SEG + DN_SPB_V3_TAG_LEN)
1852
1853//dwFlags
1854#define ND_SPB_USE_CIP1 (0x80000000)
1855#define ND_SPB_USE_ANY (0x40000000)
1856#define ND_SPB_RAW (0x20000000)
1857
1858/* DSPBEncode */
1859
1860//dwFlags
1861#define ND_SPB_ENCODE_GEN_01 (0x01)
1862#define ND_SPB_ENCODE_HEADER_V3 (0x02)
1863
1864/* DSPBDecode */
1865
1866//dwFlags
1867#define ND_SPB_OUT_NO_PADDING (0x01)
1868#define ND_SPB_OUT_WITH_PADDING (0x02)
1869
1870#define ND_SPB_ISPB_LEN (8)
1871#define ND_SPB_CA_LEN (2)
1872#define ND_SPB_DOMAIN_MAX_LEN (5)
1873#define ND_SPB_SN_MAX_LEN (32)
1874#define ND_SPB_ID_MAX_LEN (ND_SPB_SN_MAX_LEN + 1 + ND_SPB_CA_LEN + 1)
1875#define ND_SPB_ID_MAX_FQN_LEN (MAX_USR_LEN + 1 + ND_SPB_SN_MAX_LEN + 1 + ND_SPB_CA_LEN + 1)
1876#define ND_SPB_MAX_SUBJECT (1024)
1877#define ND_SPB_MAX_ISSUER (1024)
1878#define ND_SPB_MAX_ALG_ID (256)
1879
1880
1881//strong auth
1882#define SA_TP_MAX_DES_LEN (16 + 1)
1883#define SA_TP_MAX_OFFSET_LEN (6 + 1)
1884#define SA_TP_MAX_SERIAL_LEN (10 + 1)
1885#define SA_TP_MAX_MKEY_LEN (32 + 1)
1886#define SA_TP_MAX_OTP_LEN (6 + 1)
1887
1888#define SA_HOTP_CHAP_LEN (10)
1889
1890/* Module OATH */
1891
1892/* DOATHIssueHOTPBlob */
1893#define ISSUE_OATH_MIN_OTP_LEN (6)
1894#define ISSUE_OATH_MAX_OTP_LEN (16)
1895#define ISSUE_OATH_MAX_OTP_RETRY (129)
1896
1897//bSeedLen
1898#define ISSUE_OATH_SHA1_LEN (20)
1899#define ISSUE_OATH_SHA256_LEN (32)
1900#define ISSUE_OATH_SHA512_LEN (64)
1901
1902//bTruncationOffset
1903#define ISSUE_OATH_DYN_TRUNC (OATH_SA_v1_HOTP_DYN_TRUNC_OFF)
1904
1905//wTimeStep
1906#define ISSUE_OATH_DEFAULT_TIME_STEP (OATH_SA_v2_default_TIME_STEP)
1907#define ISSUE_OATH_HOTP_TS (0)
1908
1909//otT0
1910#define ISSUE_OATH_HOTP_T0 (OATH_SA_v2_default_T0_Epoch)
1911
1912//otMovingFactor
1913#define ISSUE_OATH_INIT_MF (0)
1914
1915#define ISSUE_OATH_OUTPUT_BLOB_V1_LEN (160)
1916#define ISSUE_OATH_OUTPUT_BLOB_V2_LEN (180)
1917#define ISSUE_OATH_OUTPUT_BLOB_LEN (ISSUE_OATH_OUTPUT_BLOB_V1_LEN)
1918#define ISSUE_OATH_OUTPUT_MAX_BLOB_LEN (ISSUE_OATH_OUTPUT_BLOB_V2_LEN)
1919
1920#define OATH_MAX_PSK_LEN (255)
1921
1922#define ISSUE_OATH_GENERATE_HOTP (1)
1923#define ISSUE_OATH_GENERATE_TOTP (2)
1924#define ISSUE_OATH_IMPORT_HOTP (3)
1925#define ISSUE_OATH_IMPORT_TOTP (4)
1926
1927
1928#define OATH_UPDATE_BLOB (0x80000000)
1929
1930#define ISSUE_OATH_BLOB_V2_IV_LEN (AES_BLOCK)
1931#define ISSUE_OATH_BLOB_V2_TAG_LEN (AES_BLOCK)
1932
1933/* DOATHCheckOTP */
1934
1935#define MAX_OTP_LOOK_AHEAD_INTERVAL (255)
1936
1937
1938#define DEFAULT_PORT (4433)
1939
1940
1941/* DListObjsFilter */
1942
1943#define LST_NO_FILTER (1)
1944#define LST_FILTER (2)
1945
1946/* DSPBCalculateObjectId */
1947
1948#define SPB_GENERATE_KEY_NAME (1)
1949#define SPB_GENERATE_CER_NAME (2)
1950
1951
1952/* DIPFilterOperation */
1953
1954#define D_IPF_ENABLE (1)
1955#define D_IPF_DISABLE (2)
1956#define D_IPF_LIST (33)
1957#define D_IPF_ADD (44)
1958#define D_IPF_DEL (55)
1959
1960
1961/* DCert2CertInfo */
1962
1963#define P2C_SPB_CERT_INFO (1)
1964#define P2C_CERT_BASIC_INFO (2)
1965
1966//CERT_X509_BASIC_INFO
1967#define DN_MAX_SUBJECT (1024)
1968#define DN_MAX_ISSUER (1024)
1969#define DN_MAX_SN (1024)
1970#define DN_MAX_EMAIL (1024)
1971#define DN_MAX_ALG_ID (256)
1972
1973
1974/* DGenerateDUKPT */
1975
1976// flags/modes; duk, pek, and mek are mutually exclusive;
1977#define NEW_DUKPT_MODE_DUK (0x00000000)
1978#define NEW_DUKPT_MODE_EXP (1 << 31)
1979#define NEW_DUKPT_MODE_DE (1 << 30)
1980#define NEW_DUKPT_MODE_PEK (1 << 29)
1981#define NEW_DUKPT_MODE_MEK (1 << 28)
1982#define NEW_DUKPT_MODE_TMP (1 << 27)
1983#define NEW_DUKPT_MODE_IPEK (1 << 26)
1984
1985
1986/* DGetNetInfo */
1987
1988#define NET_INFO_MAX_SROUTE_COUNT (48)
1989#define NET_INFO_MAX_SROUTE_LEN (52)
1990#define NET_INFO_MAX_SNMP_T_COUNT (16)
1991#define NET_INFO_MAX_SNMP_SC_STR (255)
1992#define NET_INFO_MAX_SNMP_SL_STR (255)
1993#define NET_INFO_MAX_SNMP_C_STR (64)
1994
1995//Flags
1996#define NET_INFO_INFO_0 (0)
1997#define NET_INFO_INFO_1 (1)
1998
1999/* Bond mode - comes in bond gateway info. */
2000#define NET_INFO_BOND_HOT_STANDBY "hot standby"
2001#define NET_INFO_BOND_BALANCE "balance"
2002#define NET_INFO_BOND_AGGREGATION "aggregation"
2003
2004
2005
2006/* DCertEncodingConvert and DGetHSMTLSCert*/
2007
2008#define CERT_OUT_DER 1
2009#define CERT_OUT_PEM 2
2010
2011
2012
2013/* DGenEcdhKey - dwOP*/
2014
2015#define DN_GEN_KEY_KDF_RAW_SECRET (0x01)
2016#define DN_GEN_KEY_X9_63_SHA256 (0x02)
2017
2018
2019#define DN_ECDH_GEN_KEY_MAX_DATA (1024)
2020#define DN_GEN_ECDH_MAX_SHARED_LEN (128)
2021
2022/* DCreateHash */
2023
2024#define DN_HASH_OFFLINE (1)
2025
2026/* DFindHSM */
2027
2028//Service Type
2029#define DN_FIND_SRVC_TYPE_IP (1)
2030#define DN_FIND_SRVC_TYPE_AAP (2)
2031#define DN_FIND_SRVC_TYPE_ALL (3)
2032
2033//Filter
2034#define DN_FIND_FILTER_TYPE_POCKET (0x01)
2035#define DN_FIND_FILTER_TYPE_XP (0x02) //Not implemented
2036#define DN_FIND_FILTER_TYPE_ST (0x04) //Not implemented
2037#define DN_FIND_FILTER_TYPE_LEGACY (0x08) //Not implemented
2038#define DN_FIND_FILTER_TYPE_UNKNOWN (0x10) //Not implemented
2039#define DN_FIND_FILTER_TYPE_HSM (0x40000000)
2040#define DN_FIND_FILTER_TYPE_ALL (0x80000000)
2041
2042#define DN_SLP_POCKET_ID "$pocket"
2043#define DN_SLP_HSM_MODEL_POCKET "DMP"
2044#define DN_SLP_HSM_MODEL_XP "DXP"
2045#define DN_SLP_HSM_MODEL_ST "DST"
2046#define DN_SLP_HSM_MODEL_LEGACY "lhM"
2047#define DN_SLP_HSM_MODEL_UNKNOWN "DHSM"
2048
2049
2050/* DManageAToken */
2051
2052#define DN_USR_A_TOKEN_KLEN (16)
2053#define DN_RND_CHAP_LEN (16)
2054
2055#define DN_A_TOKEN_OP_ISSUE (1)
2056#define DN_A_TOKEN_OP_REVOKE (2)
2057#define DN_A_TOKEN_OP_LIST (3)
2058#define DN_A_TOKEN_OP_L_ISSUE (4)
2059#define DN_A_TOKEN_OP_L_REVOKE (5)
2060
2061#define DN_A_TOKEN_INFINITE (~0)
2062
2063
2064/* DBatchSign */
2065
2066#define DN_BATCH_SIGN_BLOCK_HEADER ((DWORD *2) + MAX_OBJ_ID_FQN_LEN)
2067
2068
2069/* DSetLBList and DGetLBList */
2070
2071#define DN_LB_LIST (1)
2072#define DN_MAX_LB_HSM_COUNT (16)
2073#define DN_MAX_LB_SETS (16)
2074
2075/* DGetUserKey */
2076
2077#define D_GET_USR_KEY_OFFLINE (1)
2078#define D_GET_USR_KEY_NO_PUB (2)
2079
2080/* DSVaultGenToken and DSVaultGetData */
2081
2082#define D_SVAULT_MIN_TL (6)
2083#define D_SVAULT_MAX_TL (256)
2084
2085#define D_SVAULT_T_TKR2 (1)
2086
2087#define D_SVAULT_F_MASK_TOKEN (1)
2088#define D_SVAULT_F_MASK_SECRET (2)
2089
2090#define D_SVAULT_CKS_NULL (0)
2091#define D_SVAULT_CKS_CPF (1)
2092#define D_SVAULT_CKS_CNPJ (2)
2093#define D_SVAULT_CKS_PAN (3)
2094#define D_SVAULT_CKS_IEL (4)
2095
2096#define D_SVAULT_BASE10 (10)
2097#define D_SVAULT_BASE16 (16)
2098#define D_SVAULT_BASE26 (26)
2099#define D_SVAULT_BASE52 (52)
2100#define D_SVAULT_BASE62 (62)
2101
2102#define D_SVAULT_TOKEN_BLOB_LEN (805)
2103
2104/* DSVaultGetData */
2105
2106#define D_SVAULT_GET_OP_SECRET (1)
2107#define D_SVAULT_GET_OP_TOKEN (2)
2108
2109/* DBchainCreateBip32Ckd */
2110
2111#define DN_BCHAIN_SECURE_BIP32_INDEX_BASE 0x80000000
2113/* DBchainGetAddress */
2114
2115#define DN_BCHAIN_MAX_ADDR_LEN (128)
2116#define DN_BCHAIN_MAX_HRP (64)
2118// Type
2119#define DN_BCHAIN_AT_BTC_P2PKH (1)
2120#define DN_BCHAIN_AT_BTC_P2SH (2)
2121#define DN_BCHAIN_AT_BTC_B32_PKH (3)
2122#define DN_BCHAIN_AT_BTC_B32_SH (4)
2123#define DN_BCHAIN_AT_ETH_EOA (5)
2124#define DN_BCHAIN_AT_ETH_EOA_MC_CKS (6)
2125#define DN_BCHAIN_AT_ETH_EOA_ICAP (7)
2126#define DN_BCHAIN_AT_ALGORAND (8)
2127#define DN_BCHAIN_AT_TRON_HEX (9)
2128#define DN_BCHAIN_AT_TRON_B58 (10)
2129#define DN_BCHAIN_AT_XRP (11)
2130#define DN_BCHAIN_AT_SOL (12)
2131// Version
2132#define DN_BCHAIN_VER_UNUSED (0x00)
2133#define DN_BCHAIN_VER_BTC_A1_MAIN_NET (0x00)
2134#define DN_BCHAIN_VER_XRP_CLASSIC (0x00)
2135#define DN_BCHAIN_VER_BTC_AMN_TEST_NET (0x6F)
2136#define DN_BCHAIN_VER_BTC_A3_MAIN_NET (0x05)
2137#define DN_BCHAIN_VER_BTC_B32_WITVER (0x00)
2138#define DN_BCHAIN_VER_HTR_MAINNET (0x28)
2139#define DN_BCHAIN_VER_HTR_TESTNET (0x49)
2140#define DN_BCHAIN_VER_HTR_P2SH_MAINNET (0x64)
2141#define DN_BCHAIN_VER_HTR_P2SH_TESTNET (0x87)
2142// HRP
2143#define DN_BCHAIN_HRP_UNUSED ""
2144#define DN_BCHAIN_HRP_BTC_MAIN_NET "bc"
2145#define DN_BCHAIN_HRP_BTC_TEST_NET "tb"
2147/* DBchainSignHash */
2148
2149#define DN_BCHAIN_MAX_SIG_LEN (128)
2151// Type
2152#define DN_BCHAIN_SIG_DER_ECDSA (1)
2153#define DN_BCHAIN_SIG_RAW_ECDSA (2)
2154#define DN_BCHAIN_SIG_BIP340 (3)
2155#define DN_BCHAIN_DER_RFC_6979_ECDSA (4)
2156#define DN_BCHAIN_RAW_RFC_6979_ECDSA (5)
2158#define DN_BCHAIN_SIG_RAW_ECDSA_R_LEN (32)
2159#define DN_BCHAIN_SIG_RAW_ECDSA_S_LEN (32)
2160#define DN_BCHAIN_SIG_RAW_ECDSA_V_LEN (1)
2162#define DN_BCHAIN_SIG_RAW_ECDSA_R_LEN (32)
2163#define DN_BCHAIN_SIG_RAW_ECDSA_S_LEN (32)
2164#define DN_BCHAIN_SIG_RAW_ECDSA_V_LEN (1)
2166// Hash mode
2167#define DN_BCHAIN_HASH_BTC_H160 (1)
2168#define DN_BCHAIN_HASH_RIPEMD160 (2)
2169#define DN_BCHAIN_HASH_SHA256 (3)
2170#define DN_BCHAIN_HASH_BTC_SHA256_2X (4)
2171#define DN_BCHAIN_HASH_KECCAK256 (5)
2173// Hash length
2174#define DN_BCHAIN_HASH_BTC_H160_LEN (20)
2175#define DN_BCHAIN_HASH_RIPEMD160_LEN (20)
2176#define DN_BCHAIN_HASH_SHA256_LEN (32)
2177#define DN_BCHAIN_HASH_BTC_SHA256_2X_LEN (32)
2178#define DN_BCHAIN_HASH_KECCAK256_LEN (32)
2180#define DN_BCHAIN_MAX_HASH_LEN (DN_BCHAIN_HASH_KECCAK256_LEN)
2182/* DBchainEdDsaSign and DBchainEdDsaVerify */
2183
2184#define DN_BCHAIN_EDDSA_MAX_CSTRL (255)
2185#define DN_BCHAIN_EDDSA_CSTR_UNUSED ""
2186#define DN_BCHAIN_EDDSA_MAX_DATA_LEN (4 * 1024 * 1024)
2188#define DN_BCHAIN_EDDSA_SIG_PURE (254)
2189#define DN_BCHAIN_EDDSA_SIG_ALGORAND (253)
2190#define DN_BCHAIN_EDDSA_SIG_XRP (252)
2191#define DN_BCHAIN_EDDSA_SIG_SOL (251)
2193/* DBchainPkImport and DBchainPkExport */
2194#define DN_BCHAIN_KEY_WIF (1)
2195#define DN_BCHAIN_KEY_MINI (2)
2196#define DN_BCHAIN_KEY_HEX (3)
2197#define DN_BCHAIN_KEY_SEC1 (4)
2198#define DN_BCHAIN_KEY_XPRIV (5)
2199#define DN_BCHAIN_KEY_ED25519_B64 (6)
2200#define DN_BCHAIN_KEY_ED25519_XPRIV (7)
2202// Version
2203#define DN_BCHAIN_VER_WIF_MAIN_NET (0x80)
2204#define DN_BCHAIN_VER_WIF_TEST_NET (0xEF)
2206/* DBchainGetPubKey and DBchainVerify */
2207#define DN_BCHAIN_PBK_SEC1_UNCOMP (1)
2208#define DN_BCHAIN_PBK_SEC1_COMP (2)
2209#define DN_BCHAIN_PBK_BIP340 (3)
2210#define DN_BCHAIN_PBK_ED25519 (4)
2211#define DN_BCHAIN_PBK_AT_ALGORAND (5)
2212#define DN_BCHAIN_PBK_BIP32_XPUB (6)
2213#define DN_BCHAIN_PBK_AT_SOL (7)
2215#define DN_BCHAIN_X_LEN (32)
2216#define DN_BCHAIN_Y_LEN (32)
2217#define DN_BCHAIN_MAX_PBK_LEN (128)
2219/* DBchainHashData */
2220
2221#define DN_BCHAIN_MAX_HDATA_LEN (2 * 1024 * 1024)
2223/*
2224 *
2225 * Unaligned structures
2226 *
2227 */
2228
2232typedef struct tag_SVAULT_GEN_TOKEN
2233{
2264 char szSecret[D_SVAULT_MAX_TL + 1];
2267
2272typedef struct tag_HSM_ADDR
2273{
2274 char szAddr[MAX_ADDR_LEN];
2275 int nPort;
2276 time_t tmNow;
2277 int nqtdcache; /* Amount of sessions in cache.*/
2278}HSM_ADDR;
2279
2284typedef struct tag_LOAD_BALANCE_LIST
2285{
2289
2295typedef struct tag_SLP_SRVR_INFO
2296{
2297 int nPort;
2298 char szIP[MAX_IP_LEN + 1];
2299 char szId[MAX_HSM_ID_NAME + 1];
2300 char szModel[MAX_HSM_MODEL_NAME + 1];
2302
2307typedef struct tag_DBLOB
2308{
2309 void *pvData;
2311} DBLOB;
2312
2313/* DCert2CertInfo */
2314
2315typedef struct tag_SPB_CERT_X509_INFO
2316{
2318
2319 char szAlgId[ND_SPB_MAX_ALG_ID];
2320
2321 char szISPB[ND_SPB_ISPB_LEN+1];
2322 char szCA[ND_SPB_CA_LEN+1];
2323 char szSN[ND_SPB_SN_MAX_LEN+1];
2324
2325 char szSubject[ND_SPB_MAX_SUBJECT];
2326 char szIssuer[ND_SPB_MAX_ISSUER];
2327
2328 struct tm tmNotBefore;
2329 struct tm tmNotAfter;
2330
2333
2334typedef struct tag_CERT_X509_BASIC_INFO
2335{
2337
2338 char szAlgId[DN_MAX_ALG_ID];
2339
2340 char szSubject[DN_MAX_SUBJECT];
2341 char szIssuer[DN_MAX_ISSUER];
2342 char szSN[DN_MAX_SN];
2343
2344 struct tm tmNotBefore;
2345 struct tm tmNotAfter;
2346
2349 char szEmail[DN_MAX_EMAIL];
2351
2352
2353typedef struct tag_IP_FILTER_INFO
2354{
2355 char szUser[MAX_USR_LEN + 1];
2356 char szIp[MAX_IP_LEN + 1];
2358
2359
2360/* DECPrivateKey2Info and DECPublicKey2Info */
2361
2362#define DN_EC_MAX_BIG_NUM (1024)
2363
2364//Field type definitions
2365#define DN_EC_KEY_FIELD_TYPE_NOT_DEFINED (0)
2366#define DN_EC_KEY_FIELD_TYPE_PRIME_FIELD (1)
2367#define DN_EC_KEY_FIELD_TYPE_BINARY_FIELD (2)
2368
2369//Out format options
2370#define DN_BN_2_ARRAY_OUT_BIN (1)
2371#define DN_BN_2_ARRAY_OUT_HEX (2)
2372#define DN_EC_KEY_PUB_X962_EC_POINT (3)
2373
2374//In format options
2375#define DN_EC_KEY_IN_FORMAT_DER (1)
2376
2377typedef struct tag_DN_EC_BIG_NUMBER
2378{
2382
2383typedef struct tag_DN_EC_POINT_INFO
2384{
2385 DN_EC_BIG_NUMBER bnX;//Point's x-coordinate
2386 DN_EC_BIG_NUMBER bnY;//Point's y-coordinate
2388
2389typedef struct tag_DN_EC_GROUP_INFO
2390{
2391 int nFieldType; //See definitions above
2392
2393 DN_EC_BIG_NUMBER bnP;//In Fp fields this is p for F2M fields it's m
2394
2395 DN_EC_BIG_NUMBER bnA;//Parameter a of the equation
2396 DN_EC_BIG_NUMBER bnB;//Parameter b of the equation
2397
2399
2400 DN_EC_BIG_NUMBER bnOrder;//Order n of the generator g
2401 DN_EC_POINT_INFO stGeneratorPoint;//Generator g / base point
2403
2404typedef struct tag_DN_EC_PUB_KEY_INFO
2405{
2409
2410typedef struct tag_DN_EC_PRIV_KEY_INFO
2411{
2415
2419typedef struct tag_RSA_PUB_KEY_PARTS
2420{
2424
2428typedef struct tag_DN_RSA_BIG_NUMBER
2429{
2433
2442
2443#define DN_USER_INFO_CERT_OP_ASSOCIATE (1)
2444#define DN_USER_INFO_CERT_OP_UNASSOCIATE (2)
2445
2449typedef struct tag_USER_INFO_CERT
2450{
2451 char szUserId[MAX_USR_LEN + 1];
2459
2463typedef struct tag_TLS_BUNDLE_INFO
2464{
2466 char szCERT[MAX_OBJ_ID_FQN_LEN];
2468
2478
2482typedef struct tag_GET_USR_KEY_OFFLINE
2483{
2484 char szKeyId[MAX_OBJ_ID_LEN];
2491
2519
2524typedef struct tag_DN_OBJ_COUNT
2525{
2528} DN_OBJ_COUNT;
2529
2534typedef struct tag_DN_USER_OBJ_COUNT
2535{
2536 char szUserId[MAX_OBJ_ID_FQN_LEN];
2540
2541#define DN_MAX_PRIVATE_KEY_ATTR_LEN (RSA_8192_LEN + 1)
2542
2562
2563
2564#define DN_SC_MAX_ATR_LEN (255)
2565#define DN_SC_MAX_CARD_FAMILY_LEN (128)
2566#define DN_SC_MAX_CARD_PRODUCT_NAME_LEN (128)
2567#define DN_SC_MAX_CARD_OS_VERSION_LEN (64)
2597
2598#ifdef _WIN32
2599 #pragma pack(push, 1) /* Align by 1 for portability issues.*/
2600#else
2601 #pragma pack(1)
2602#endif
2603
2604/* Aligned structures */
2605
2606typedef struct tag_OBJ_HDR_V1
2607{
2612} OBJ_HDR_V1;
2613
2614/*
2615 Estrutura contendo os atributos SP80057 de um objeto do HSM.
2616*/
2632
2633
2634/*
2635 Estados de objetos KMIP/SP.800-57.
2636*/
2637#define DN_SL_SP80057_STATE_UNKNOWN (0)
2638#define DN_SL_SP80057_STATE_PRE_ACTIVE (1)
2639#define DN_SL_SP80057_STATE_ACTIVE (2)
2640#define DN_SL_SP80057_STATE_DEACTIVATED (3)
2641#define DN_SL_SP80057_STATE_COMPROMISED (4)
2642#define DN_SL_SP80057_STATE_DESTROYED (5)
2643#define DN_SL_SP80057_STATE_DESTROYED_C (6)
2644
2645/*
2646 Máscara de uso de objetos SP.800-57.
2647*/
2648#define DN_SP80057_UM_SIGN (0x00000001)
2649#define DN_SP80057_UM_VERIFY (0x00000002)
2650#define DN_SP80057_UM_ENCRYPT (0x00000004)
2651#define DN_SP80057_UM_DECRYPT (0x00000008)
2652#define DN_SP80057_UM_WRAP_KEY (0x00000010)
2653#define DN_SP80057_UM_UNWRAP_KEY (0x00000020)
2654#define DN_SP80057_UM_EXPORT (0x00000040)
2655#define DN_SP80057_UM_MAC_GENERATE (0x00000080)
2656#define DN_SP80057_UM_MAC_VERIFY (0x00000100)
2657#define DN_SP80057_UM_DERIVE_KEY (0x00000200)
2658#define DN_SP80057_UM_CONTENT_COMMITMENT (0x00000400)
2659#define DN_SP80057_UM_KEY_AGREEMENT (0x00000800)
2660#define DN_SP80057_UM_CERTIFICATE_SIGN (0x00001000)
2661#define DN_SP80057_UM_CRL_SIGN (0x00002000)
2662#define DN_SP80057_UM_GENERATE_CRYPTOGRAM (0x00004000)
2663#define DN_SP80057_UM_VALIDATE_CRYPTOGRAM (0x00008000)
2664#define DN_SP80057_UM_TRANSLATE_ENCRYPT (0x00010000)
2665#define DN_SP80057_UM_TRANSLATE_DECRYPT (0x00020000)
2666#define DN_SP80057_UM_TRANSLATE_WRAP (0x00040000)
2667#define DN_SP80057_UM_TRANSLATE_UNWRAP (0x00080000)
2668
2669
2670/* DListObjsFilter */
2671
2672typedef struct tag_OBJ_LIST_FILTER
2673{
2677
2678#define OBJ_LIST_VERB_VERSION ( 1 << 0 )
2679#define OBJ_LIST_VERB_TYPE ( 1 << 1 )
2680#define OBJ_LIST_VERB_ATTRIB ( 1 << 2 )
2681#define OBJ_LIST_OBJS_OR ( 1 << 31 )
2682
2697
2732
2767
2798
2802typedef struct tag_ISSUE_OATH_BLOB_t_v1
2803{
2805 DWORD pad_cks_tag[3];
2807
2811typedef struct tag_ISSUE_OATH_BLOB_t_v2
2812{
2817
2821typedef struct tag_OATH_PSKC_TRANSLATE_OUTPUT
2822{
2824 char szKeyId[OATH_MAX_PSK_LEN+1];
2826
2843
2844typedef struct tag_MOD_OATH_SA_v2
2845{
2855} OATH_SA_v2;
2856
2857
2858typedef struct tag_STAT_CLUSTER_IP
2859{
2860 char szIp[MAX_IP_LEN + 1];
2862
2863
2864//GMT
2865typedef struct tag_P11_DATE{
2866 char year[4]; /* the year ("1900" - "9999") */
2867 char month[2]; /* the month ("01" - "12") */
2868 char day[2]; /* the day ("01" - "31") */
2869} P11_DATE;
2870
2882
2883typedef struct tag_HOTP_INFO_EX
2884{
2885 DWORD dwStructId; //Structure identifier -> SA_ST_ID_HOTP_INFO_EX
2886 char szObjId[MAX_OBJ_NAME_LEN + 1]; //HSM HOTP object name
2887 DWORD dwObjAttr; //HSM object attributes
2888 DWORD dwObjHotpFlags; //SoftToken type -> SA_ATTR_OATH_USE_IMEI, SA_ATTR_OATH_USE_TIME ...
2889 char szStPin[MAX_HOTP_PIN + 1]; //SoftToken PIN
2890 char szStIMEI[MAX_HOTP_IMEI + 1]; //SoftToken related device's serial number
2891 char szStAppName[MAX_HOTP_APP_NAME + 1]; //SoftToken application name
2892 DBLOB *pdbStLogoImage; //SoftToken logo image
2893}HOTP_INFO_EX; //DESCONTINUADO!
2894
2895
2896//DGetNetInfo
2897typedef struct tag_SYS_NET_INFO
2898{
2899 BYTE pbMac[6];
2900 char szIp[MAX_IP_LEN + 1];
2901 char szMask[MAX_IP_LEN + 1];
2902 char szDefGateway[MAX_IP_LEN + 1];
2905 char szName[MAX_NET_NAME + 1];
2906} SYS_NET_INFO;
2907
2908typedef struct tag_SYS_NET_INFO_1
2909{
2912
2914 char szCommunity[NET_INFO_MAX_SNMP_C_STR + 1];
2915 char szSysContact[NET_INFO_MAX_SNMP_SC_STR + 1];
2916 char szSyaLocation[NET_INFO_MAX_SNMP_SL_STR + 1];
2919
2924typedef struct tag_SYS_HEALTH
2925{
2928}SYS_HEALTH;
2929
2936
2951
2964
2965
2966#define DN_MAX_HSM_ALIAS (128)
2967#define DN_UPACK_MAX_DESCRIPTION (255 + 1)
2968
2973typedef struct tag_SYS_PENDING_INFO
2974{
2976 char szPendingUpackDescription[DN_UPACK_MAX_DESCRIPTION];
2977 char szHsmAlias[DN_MAX_HSM_ALIAS+1];
2979
2980
2981typedef struct tag_SYS_HW_STR_INFO
2982{
2983 char szSerialNumber[GET_INFO_MAX_SN_LEN + 1];
2984 char szHardwareString[GET_INFO_MAX_HW_STR_LEN + 1];
2985 char szTpKey[GET_INFO_MAX_TPKEY_LEN + 1];
2987
2988typedef struct tag_SYS_NTP_SVR_INFO
2989{
2990 char szAddr[MAX_IP_LEN + 1];
2991 char szNtpqInfo[GET_INFO_MAX_NTPQ_LEN + 1];
2994 char szKeyType[GET_INFO_MAX_NTP_KT_LEN + 1];
2995 char szKeyMat[GET_INFO_MAX_NTP_KM_LEN + 1];
2997
2998typedef struct tag_SYS_NTP_INFO
2999{
3003
3004
3005
3006typedef struct tag_SYS_REPL_INFO
3007{
3014 DWORD dwaPeers[GET_INFO_MAX_REPL_NODES + 1]; //Zero terminated IPv4 array. Last item == 0x00000000
3015 DWORD dwaPendingAcks[GET_INFO_MAX_REPL_NODES + 1]; //Zero terminated IPv4 array. Last item == 0x00000000
3022 DWORD dwaNodes[GET_INFO_MAX_REPL_NODES + 1]; //Zero terminated IPv4 array. Last item == 0x00000000
3024
3025
3043
3044
3045typedef struct tag_REPL_NODE_MSG
3046{
3047 BYTE bOP; //RNM_PROBE, RNM_DOWN...
3050
3051
3052typedef struct tag_HOTP_CHAP
3053{
3054 DWORD dwStructId; //Structure Id -> SA_ST_ID_HOTP_CHAP
3055 char szChallenge[SA_HOTP_CHAP_LEN + 1]; //Server created challenge
3056}HOTP_CHAP;//DEPRECATED!
3057
3058typedef struct tag_HOTP_SYNC
3059{
3060 DWORD dwStructId; //Structure Id -> SA_ST_ID_HOTP_SYNC
3061 char szObjId[MAX_OBJ_NAME_LEN + 1]; //HOTPToken to synchronize
3062 char szOTP1[SA_TP_MAX_OTP_LEN]; //Expected response from HOTPToken
3063 char szOTP2[SA_TP_MAX_OTP_LEN]; //Server Counter Response
3064}HOTP_SYNC;
3065
3066typedef struct tag_HIP_PARAM
3067{
3071}HIP_PARAM; //DEPRECATED!
3072
3073typedef struct tag_HIP_OUTPUT
3074{
3075 char szHipChallenge[1];
3077 BYTE pbImage[1];
3078}HIP_OUTPUT; //DEPRECATED!
3079
3083typedef struct tag_USER_BLOCK
3084{
3085 char szUserId[MAX_USR_LEN+1];
3088}USER_BLOCK;
3089
3093typedef struct tag_DN_A_TOKEN
3094{
3095 char pcUserName[MAX_USR_LEN];
3097}DN_A_TOKEN;
3098
3103typedef struct tag_DN_A_TOKEN_FULL
3104{
3108
3120
3139
3140/* HTTP session parameters */
3141
3142#define MAX_HTTP_ADDR_LEN (2048)
3143#define MAX_HTTP_API_TOKEN_LEN (128)
3144
3154
3159typedef struct tag_AUTH_ATOKEN
3160{
3161 char szAddr[MAX_ADDR_LEN];
3162 int nPort;
3165
3170typedef struct tag_AUTH_WIN_CREDENTIAL
3171{
3172 char szAddr[MAX_ADDR_LEN];
3173 int nPort;
3175
3187
3197
3198/*
3199 Estados de autorização de partição do usuário.
3200*/
3201
3202#define ND_PA_ACL_OBJ_OPEN (ACL_OBJ_READ)
3203#define ND_PA_ACL_OBJ_EXPORT (ACL_OBJ_CREATE)
3204#define ND_PA_ACL_OBJ_DEL (ACL_OBJ_DEL)
3205#define ND_PA_ACL_OBJ_BLOCK (ACL_OBJ_UPDATE)
3206#define ND_PA_ACL_NS_DEL (ACL_USR_DELETE)
3207
3208#define NSAUTH_ACL_FULL (~0)
3209
3210/*
3211 Estados de autorização de partição do usuário.
3212*/
3213#define ND_PA_STATE_Unknown (0)
3214#define ND_PA_STATE_Absent (1)
3215#define ND_PA_STATE_Null (2)
3216#define ND_PA_STATE_Associated (3)
3217#define ND_PA_STATE_Authorized (4)
3218
3222typedef struct tag_USER_PA_INFO
3223{
3224 char szUserId[MAX_USR_LEN + 1];
3243
3251
3252typedef struct tab_EXT_MAP_2_OBJ_INFO
3253{
3255 char szObjId1[MAX_OBJ_ID_FQN_LEN];
3257 char szObjId2[MAX_OBJ_ID_FQN_LEN];
3259
3260
3266
3267typedef struct tag_PKCS11_OBJ_MAP
3268{
3271
3272 DWORD Class; // CKO_DATA, etc;
3273
3277
3278 //The three BYTEs below are overloaded
3279 //must use the MACROs to set the desired parameters.
3280 //Macros defined below.
3281
3282 BYTE Trusted; // boolean/overloaded
3283 BYTE WrapWithTrusted; // boolean/overloaded
3284 BYTE Local; // boolean/overloaded
3285
3290
3291//Trusted -> CKA_TRUSTED, CKA_DERIVE, CKA_ENCRYPT,
3292//CKA_DECRYPT, CKA_WRAP, CKA_UNWRAP
3293#define PKCS11_SET_FLAG(x, p) ((x) |= (1 << (p)))
3294#define PKCS11_UNSET_FLAG(x, p) ((x) &= ~(1 << (p)))
3295#define PKCS11_GET_FLAG(x, p) ((x) & (1 << (p)))
3296
3297//Enable driven option. Disabled by default.
3298#define PKCS11_SET_OBJ_MAP_CKA_TRUSTED(x) PKCS11_SET_FLAG(x, 7)
3299#define PKCS11_UNSET_OBJ_MAP_CKA_TRUSTED(x) PKCS11_UNSET_FLAG(x, 7)
3300#define PKCS11_GET_OBJ_MAP_CKA_TRUSTED(x) PKCS11_GET_FLAG(x, 7)
3301
3302//Disable driven option. Enabled by default.
3303#define PKCS11_SET_OBJ_MAP_CKA_DERIVE(x) PKCS11_UNSET_FLAG(x, 6)
3304#define PKCS11_UNSET_OBJ_MAP_CKA_DERIVE(x) PKCS11_SET_FLAG(x, 6)
3305#define PKCS11_GET_OBJ_MAP_CKA_DERIVE(x) (!PKCS11_GET_FLAG(x, 6))
3306
3307#define PKCS11_SET_OBJ_MAP_CKA_ENCRYPT(x) PKCS11_UNSET_FLAG(x, 5)
3308#define PKCS11_UNSET_OBJ_MAP_CKA_ENCRYPT(x) PKCS11_SET_FLAG(x, 5)
3309#define PKCS11_GET_OBJ_MAP_CKA_ENCRYPT(x) (!PKCS11_GET_FLAG(x, 5))
3310
3311#define PKCS11_SET_OBJ_MAP_CKA_DECRYPT(x) PKCS11_UNSET_FLAG(x, 4)
3312#define PKCS11_UNSET_OBJ_MAP_CKA_DECRYPT(x) PKCS11_SET_FLAG(x, 4)
3313#define PKCS11_GET_OBJ_MAP_CKA_DECRYPT(x) (!PKCS11_GET_FLAG(x, 4))
3314
3315#define PKCS11_SET_OBJ_MAP_CKA_WRAP(x) PKCS11_UNSET_FLAG(x, 3)
3316#define PKCS11_UNSET_OBJ_MAP_CKA_WRAP(x) PKCS11_SET_FLAG(x, 3)
3317#define PKCS11_GET_OBJ_MAP_CKA_WRAP(x) (!PKCS11_GET_FLAG(x, 3))
3318
3319#define PKCS11_SET_OBJ_MAP_CKA_UNWRAP(x) PKCS11_UNSET_FLAG(x, 2)
3320#define PKCS11_UNSET_OBJ_MAP_CKA_UNWRAP(x) PKCS11_SET_FLAG(x, 2)
3321#define PKCS11_GET_OBJ_MAP_CKA_UNWRAP(x) (!PKCS11_GET_FLAG(x, 2))
3322
3323//WrapWithTrusted
3324
3325//Enable driven option. Disabled by default.
3326#define PKCS11_SET_OBJ_MAP_CKA_WRAP_WITH_TRUSTED(x) PKCS11_SET_FLAG(x, 7)
3327#define PKCS11_UNSET_OBJ_MAP_CKA_WRAP_WITH_TRUSTED(x) PKCS11_UNSET_FLAG(x, 7)
3328#define PKCS11_GET_OBJ_MAP_CKA_WRAP_WITH_TRUSTED(x) PKCS11_GET_FLAG(x, 7)
3329
3330//Local
3331//Enable driven option. Disabled by default.
3332#define PKCS11_SET_OBJ_MAP_CKA_LOCAL(x) PKCS11_SET_FLAG(x, 7)
3333#define PKCS11_UNSET_OBJ_MAP_CKA_LOCAL(x) PKCS11_UNSET_FLAG(x, 7)
3334#define PKCS11_GET_OBJ_MAP_CKA_LOCAL(x) PKCS11_GET_FLAG(x, 7)
3335
3336//DAdmOperation options - AO_SET_PWD_SEC_POLICY/AO_GET_PWD_SEC_POLICY
3337
3338#define PWD_SEC_POLICY_USE_MIN_PWD_LEN (8)
3339#define PWD_SEC_POLICY_USE_MAX_PWD_LEN (16)
3341typedef struct tag_PWD_SEC_POLICY
3342{
3343 //USE
3344 BYTE bMaxInvalidLogins; //Number of attempts. 0 == sets to HSM internal default.
3345 BYTE bExpiration; //Number of days. 0 == disable policy.
3346 BYTE bHistory; //Number of passwords to track. 0 == disable policy.
3347 //FORMAT
3348 BYTE bMinLength; //Minimal number of chars (ASCII).
3349 BYTE bMinSpecial; //Minimal number of non-alpha chars.
3350 BYTE bUpper; //Minimal number of upper-case chars.
3351 BYTE bLower; //Minimal number of lower-case chars.
3353
3357typedef struct tag_EFT_VISA_KEY_PARTS
3358{
3359 BYTE pbKeyPart1[3 * DES_BLOCK];
3360 BYTE pbKeyPart1Checksum[EFT_VISA_KEY_CHECKSUM_LEN];
3361 BYTE pbKeyPart2[3 * DES_BLOCK];
3362 BYTE pbKeyPart2Checksum[EFT_VISA_KEY_CHECKSUM_LEN];
3363 BYTE pbKeyPart3[3 * DES_BLOCK];
3364 BYTE pbKeyPart3Checksum[EFT_VISA_KEY_CHECKSUM_LEN];
3367
3371typedef struct tag_EFT_AES_KEY_PARTS
3372{
3373 BYTE pbKeyPart1[ALG_AES_256_LEN];
3374 BYTE pbKeyPart2[ALG_AES_256_LEN];
3375 BYTE pbKeyPart3[ALG_AES_256_LEN];
3378
3382typedef struct tag_EFT_AES_KEY_PARTS_DATA
3383{
3387
3391typedef struct tag_EFT_FULL_CKS_KEY_PARTS
3392{
3393 BYTE pbKeyPart1[3 * DES_BLOCK];
3394 BYTE pbKeyPart1Checksum[DES_BLOCK];
3395 BYTE pbKeyPart2[3 * DES_BLOCK];
3396 BYTE pbKeyPart2Checksum[DES_BLOCK];
3397 BYTE pbKeyPart3[3 * DES_BLOCK];
3398 BYTE pbKeyPart3Checksum[DES_BLOCK];
3399 BYTE pbMKCheckSum[DES_BLOCK];
3401
3406typedef struct tag_DN_CALC_ARPC_EMV_METHOD_1
3407{
3408 char szIssuerMK[MAX_OBJ_ID_BIN_LEN];
3409 char szPAN[MAX_PAN_LEN];
3411 BYTE pbARQC[DES_BLOCK];
3413 BYTE pbNONCE[DES_BLOCK];
3416
3417typedef struct tag_DN_CALC_ARPC_EMV_METHOD_2
3418{
3419 char szIssuerMK[MAX_OBJ_ID_BIN_LEN];
3420 char szPAN[MAX_PAN_LEN];
3422 BYTE pbNONCE[DES_BLOCK];
3425 BYTE pbARQC[DES_BLOCK];
3431
3432
3446
3452typedef struct tag_DS_BIND_INFO
3453{
3456 char szHSM[D_MAX_DS_BIND_B62_ID + 1];
3459 char szAccount[D_MAX_DS_BIND_B62_ID + 1];
3464 char szURL[D_MAX_DS_BIND_URL + 1];
3466} DS_BIND_INFO;
3467
3468#define DN_RCC_MAX_NODE_COUNT (16)
3469#define DN_RCC_MAX_REPL_MC_VER (256)
3470
3475typedef struct tag_CROSS_CHECK_NODE
3476{
3481 char szVersion[DN_RCC_MAX_REPL_MC_VER];
3483
3484/*
3485 Blockchain module
3486*/
3487
3488/* DBchainCreateXPrv */
3489
3490// Types
3491#define DN_BCHAIN_BTC_MINIKEY (1)
3492#define DN_BCHAIN_BIP32_SEED_XPRV (2)
3493#define DN_BCHAIN_BIP39_SEED_XPRV (3)
3494#define DN_BCHAIN_BIP32_XPRV (4)
3495#define DN_BCHAIN_BIP32_ED25519_XPRV (5)
3497// Version
3498#define DN_BCHAIN_VER_BIP32_MAINNET (DN_BCHAIN_VER_WIF_MAIN_NET)
3499#define DN_BCHAIN_VER_BIP32_TESTNET (DN_BCHAIN_VER_WIF_TEST_NET)
3500#define DN_BCHAIN_VER_BIP32_HTR_MAINNET (1)
3501#define DN_BCHAIN_VER_BIP32_HTR_TESTNET (2)
3503#define DN_BCHAIN_BIP32_SEED_LEN_MAX (765)
3507typedef struct tag_DN_BCHAIN_BIP32_SEED_XPRV_DATA
3508{
3513
3514#define DN_BCHAIN_BIP39_SEED_LEN_MAX (765)
3515#define DN_BCHAIN_BIP39_PWD_LEN_MAX (255)
3520typedef struct tag_DN_BCHAIN_BIP39_SEED_XPRV_DATA
3521{
3526
3527#define DN_BCHAIN_KEY_INFO_ST_SL (0)
3528#define DN_BCHAIN_KEY_INFO_ST_BLKC (1)
3530/* DBchainCreateBip32Ckd */
3531
3535typedef struct tag_DN_BCHAIN_KEY_INFO
3536{
3539 BYTE pbBip32Ver[4];
3541 BYTE pbParentFingerprint[4];
3542 BYTE pbChildNumber[4];
3544
3545/* DBchainVerify */
3546
3550typedef struct tag_DN_BCHAIN_PBK
3551{
3556
3557/*
3558 DMofNSplit
3559*/
3560
3561#define DN_M_OF_N_S_LEN (24)
3562#define DN_M_OF_N_ES_LEN (32)
3563#define DN_M_OF_N_S_MIN (2)
3564#define DN_M_OF_N_S_MAX (16)
3565#define DN_M_OF_N_PART_LEN (3 + DN_M_OF_N_S_LEN)
3570typedef struct tag_DN_M_OF_N_PART_DETAILS
3571{
3577
3581typedef struct tag_DN_M_OF_N_PART
3582{
3585
3589typedef struct tag_DN_M_OF_N_SPLIT_INFO
3590{
3596
3607
3611typedef struct tag_DN_OBJ_STATS
3612{
3615} DN_OBJ_STATS;
3616
3622#define DN_GLOBAL_OBJ_STATS_COUNT (39)
3624#define DN_GLOBAL_OBJ_STATS_INDEX_RSA (0)
3625#define DN_GLOBAL_OBJ_STATS_INDEX_DSA (1)
3626#define DN_GLOBAL_OBJ_STATS_INDEX_ECC (2)
3627#define DN_GLOBAL_OBJ_STATS_INDEX_ECX (3)
3628#define DN_GLOBAL_OBJ_STATS_INDEX_AES (4)
3629#define DN_GLOBAL_OBJ_STATS_INDEX_DES (5)
3630#define DN_GLOBAL_OBJ_STATS_INDEX_CSP (6)
3631#define DN_GLOBAL_OBJ_STATS_INDEX_BCHAIN (7)
3632#define DN_GLOBAL_OBJ_STATS_INDEX_X509 (8)
3633#define DN_GLOBAL_OBJ_STATS_INDEX_PKCS7 (9)
3639typedef struct tag_DN_GLOBAL_OBJ_STATS
3640{
3644
3645/* DSKeepProbeSecret */
3646
3650typedef struct tag_SKeepProbeInfo
3651{
3655
3656/* DSKeepSplitSecret e outros */
3657#define DN_SKEEP_M_OF_N_S_MIN (2)
3658#define DN_SKEEP_M_OF_N_S_MAX (16)
3659#define DN_SKEEP_M_OF_N_S_LEN (64)
3664typedef struct tag_SKeepRecoverInfo
3665{
3667 char szSecret[DN_SKEEP_M_OF_N_S_LEN + 1];
3669
3673typedef struct tag_SKeepShare
3674{
3675 char szShare[DN_SKEEP_M_OF_N_S_LEN + 1];
3676} SKeepShare;
3677
3678// DSCReadShadow
3679#define DN_SC_M_OF_N_SHADOW_MATERIAL_V1_LEN (24)
3680#define DN_SC_M_OF_N_SHADOW_MATERIAL_V2_LEN (56)
3681#define DN_SC_M_OF_N_SHADOW_EXTRA_DATA_LEN (3)
3683#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)
3684#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)
3686#define DN_SC_M_OF_N_SHADOW_MATERIAL_MAX_LEN (DN_SC_M_OF_N_SHADOW_MATERIAL_V2_LEN)
3687#define DN_SC_M_OF_N_SHADOW_MAX_LEN (DN_SC_M_OF_N_SHADOW_V2_MAX_LEN)
3689#define DN_SC_MAX_PIN_LEN (8)
3691#define DN_SC_M_OF_N_SHADOW_V1_TYPE (1)
3692#define DN_SC_M_OF_N_SHADOW_V2_TYPE (2)
3697typedef struct tag_DN_SC_M_OF_N_SHADOW_DETAILS
3698{
3704
3708typedef struct tag_DN_SC_M_OF_N_SHADOW
3709{
3713
3723
3724#ifdef _WIN32
3725 #pragma pack(pop)
3726#else
3727 #pragma pack()
3728#endif
3729
3730/* Library exported functions */
3731
3732#ifdef __cplusplus
3733 extern "C" {
3734#endif /* __cplusplus */
3735
3741#define DN_INIT_PARAM_CONF_FAST_FAIL (128)
3753 DWORD dwReserved
3754);
3755
3772 void *pvList,
3773 DWORD dwListCount,
3774 DWORD dwReserved);
3775
3791 void *pvList,
3792 DWORD *pdwListCount,
3793 DWORD dwReserved);
3794
3831 HSESSIONCTX * phSession,
3832 DWORD dwParam,
3833 BYTE * pbData,
3834 DWORD dwDataLen,
3835 DWORD dwFlags
3836);
3837
3855 HSESSIONCTX hSession,
3856 DWORD dwParam,
3857 BYTE * pbData,
3858 DWORD dwDataLen,
3859 DWORD dwFlags
3860);
3861
3882 HSESSIONCTX hSession,
3883 DWORD dwParam,
3884 BYTE* pbData,
3885 DWORD* pdwDataLen,
3886 DWORD dwFlags
3887);
3888
3903 HSESSIONCTX * phSession,
3904 DWORD dwFlags
3905);
3906
3915
3931typedef int (AAP_API * funcListKeyCallback)(char *szKeyName, void *pParam, BOOL bFinal);
3932
3937 HSESSIONCTX hSession,
3938 funcListKeyCallback fncallback,
3939 void *pParam
3944);
3945
3950 HSESSIONCTX hSession,
3951 funcListKeyCallback fncallback,
3952 void *pParam
3957);
3958
3981 HSESSIONCTX hSession,
3982 char * szBackupFile,
3983 char * szPin,
3984 int nDirection
3985);
3986
4014 DWORD dwOP,
4015 char *szObjectId,
4016 char *szPin,
4017 BYTE *pbData,
4018 DWORD *pdwDataLen,
4019 DWORD dwReserved );
4020
4028typedef int (AAP_API * funcLogEventCallback)(char *szEvent, void *pParam, BOOL bFinal);
4029
4042 HSESSIONCTX hSession,
4043 funcLogEventCallback fncallback,
4044 void *pParam
4045);
4046
4089 HSESSIONCTX hSession,
4090 DWORD dwParam,
4091 BYTE * pbData,
4092 DWORD dwDataLen,
4093 DWORD dwFlags
4094);
4095
4112int AAP_API DGetHSMTLSCert(char *szAddress,
4113 int nPort,
4114 DWORD dwOutFormat,
4115 BYTE **ppbOutCert,
4116 DWORD *pdwOutCertLen,
4117 DWORD dwFlags);
4118
4119#define DN_NT_MAX_TARGET_LEN (255)
4120#define DN_NTOOL_PING (1)
4121#define DN_NTOOL_TRACERT (2)
4122#define DN_NTOOL_CROSS_CHECK (100)
4123
4142 DWORD dwOption,
4143 const char *szTarget,
4144 void **pvResult,
4145 DWORD *pdwResultLen,
4146 DWORD dwFlags);
4147
4148#define DN_WRITE_FILE_OPT_CERT_CHAIN (1)
4149#define DN_WRITE_FILE_OPT_NO_CONVERSION (2)
4150
4175 const char *szFileId,
4176 BYTE *pbFile,
4177 DWORD dwFileSize,
4178 DWORD dwOptions);
4179
4190typedef int (AAP_API * funcReadLocalFileCallback)(BYTE *pbData, DWORD * pdwDataLen, void *pParam, BOOL *pbFinal);
4191
4214 HSESSIONCTX hSession,
4215 char * szFileId,
4216 DWORD dwFileSize,
4217 funcReadLocalFileCallback fncallback,
4218 void *pParam
4219);
4220
4231typedef int (AAP_API * funcWriteLocalFileCallback)(BYTE *pbData, DWORD dwDataLen, void *pParam, BOOL bFinal);
4232
4246 HSESSIONCTX hSession,
4247 char * szFileId,
4248 funcWriteLocalFileCallback fncallback,
4249 void *pParam
4250);
4251
4266 const char *szFileId,
4267 BYTE **ppbData,
4268 DWORD *pdwDataLen,
4269 DWORD dwReserved);
4270
4280 HSESSIONCTX hSession,
4281 char *szObjId);
4282
4297 HSESSIONCTX hSession,
4298 DWORD dwStart,
4299 DWORD dwOffset,
4300 DWORD *pdwLogSize,
4301 BYTE **ppbLog
4302);
4303
4314 HSESSIONCTX hSession
4315);
4316
4341int AAP_API DFindHSM( DWORD dwServiceType,
4342 DWORD dwFilter,
4343 void **ppvOutputData,
4344 DWORD *pdwOutputDataLen,
4345 DWORD dwFlags );
4346
4355typedef int (AAP_API * funcListAKeysCallback)(void *pvToken, void *pParam, BOOL bFinal);
4356
4404 BYTE bOP,
4405 DN_A_TOKEN_FULL *pstATokenFull,
4406 funcListAKeysCallback fnCallBack,
4407 void *pvCallbackParam,
4408 DWORD dwParam);
4409
4410#define DN_ATOKEN_CACHE_GET_COUNT (0)
4411#define DN_ATOKEN_CACHE_GC (1)
4412
4439 DWORD dwOP,
4440 void *pOutData,
4441 DWORD dwParam);
4442
4452 const char *szBindKey,
4453 DWORD dwReserved);
4462 DWORD dwReserved);
4463
4472int AAP_API DSCReadShadow(const char *szPin, DN_SC_M_OF_N_SHADOW *pstShadow, DWORD dwReserved);
4473
4474
4482int AAP_API DSCGetInfo(DN_SC_INFO *pstInfo, DWORD dwReserved);
4483
4491
4501int AAP_API DSCChangePIN(const char *szCurrentPIN, const char *szNewPIN, DWORD dwReserved);
4502
4513int AAP_API DSCWriteShadow(DN_SC_M_OF_N_SHADOW *pstShadow, const char *szPIN,
4514 BOOL bOverwrite, DWORD dwReserved);
4515
4523int AAP_API DSCErase(const char *szPIN, DWORD dwReserved);
4524
4525#define DN_SC_MAX_LABEL_LEN (32)
4536int AAP_API DSCSetLabel(const char *pin, const char *label, DWORD reserved);
4537
4547int AAP_API DSCGetLabel(const char *pin, char *label, DWORD reserved);
4548
4549// DNSAuthSetState
4550#define DN_S_NSAUTH_ASSOC (1)
4551#define DN_S_NSAUTH_RESET (2)
4552#define DN_S_NSAUTH_AUTH (3)
4553#define DN_S_NSAUTH_eAUTH (4)
4554#define DN_S_NSAUTH_CHECK (5)
4584int AAP_API DNSAuthSetState(HSESSIONCTX hSession, DWORD dwAcl, BYTE bState,
4585 DN_SC_M_OF_N_SHADOW *pstShadows, DWORD dwShadowsCount,
4586 DWORD dwReserved);
4587
4588/* Error codes */
4589
4593int AAP_API DGetErrorString(int nErrorValue,
4594 char *szErrorCode,
4595 char *szErrorDesc);
4596
4600typedef enum tag_RetCodeMsgType
4601{
4603 DESC_MSG
4605
4619const char *AAP_API DGetReturnCodeString(int nErrorValue,
4620 RetCodeMsgType eErrorType);
4621
4625 BYTE bOP,
4626 char *szUser,
4627 char *szIP,
4628 int(AAP_API *ListIpFilterCallback)(void *pInData, DWORD dwInDataLen, void *pParam, BOOL bFinal),
4629 void *pParam,
4630 DWORD *pdwStatus,
4631 DWORD dwReserved);
4632
4634 char *szOldObjName,
4635 char *szNewObjName,
4636 DWORD dwFlags);
4637
4638int AAP_API DUPackPush(HSESSIONCTX hSession, DWORD dwPackSize,
4639 BYTE *pbPack);
4640
4641int AAP_API DUPackInfo(DWORD dwPackSize, BYTE *pbPack,
4642 DWORD *pdwUPackVersion, BYTE **ppbUPackDescr,
4643 BYTE **ppbUPackSignature);
4644
4645int AAP_API DGetObjInfo(const HSESSIONCTX hSession, const char *szObjId,
4646 const int nAlgId, const BYTE *pbData,
4647 DWORD *pdwDataLen);
4648
4649int AAP_API DGenerateMapObj(const HSESSIONCTX hSession, const char *szMapId,
4650 const char *szObj1Id, const int nObj1AlgId,
4651 const char *szObj2Id, const int nObj2AlgId);
4652
4653int AAP_API DRemoveMapObj(const HSESSIONCTX hSession, const char *szMapObjId);
4654
4656 int(AAP_API *ListUserSessionsCallback)(DWORD dwStartTime, char *szInfo, void *pParam, BOOL bFinal),
4657 void *pParam);
4658
4660 DWORD dwFilterType,
4661 void *pvFilter,
4662 int(AAP_API *ListObjCallback)(void *pvIN, void *pParam, BOOL bFinal),
4663 void *pParam);
4664
4666 int(AAP_API *ListLoadedModulesCallback)(char *szModuleInfo,
4667 void *pParam,
4668 BOOL bFinal),
4669 void *pParam);
4670
4701 HSESSIONCTX hSession,
4702 struct USER_INFO userInfo);
4703
4717 HSESSIONCTX hSession,
4718 char *szUserId);
4719
4743 HSESSIONCTX hSession,
4744 DWORD dwParam,
4745 BYTE *pbData,
4746 DWORD dwDataLen,
4747 DWORD dwFlags);
4748
4767 HSESSIONCTX hSession,
4768 DWORD dwParam,
4769 BYTE *pbData,
4770 DWORD *pdwDataLen,
4771 DWORD dwFlags);
4772
4782typedef int(AAP_API *funcListUsersCallback)(char *szUserName, void *pParam, BOOL bFinal);
4783
4794 HSESSIONCTX hSession,
4795 funcListUsersCallback fncallback,
4796 void *pParam);
4797
4798// OATH SA
4799
4820 const char *szUserId,
4821 const DWORD dwParam,
4822 BYTE *pbData,
4823 const DWORD dwDataLen);
4824
4838 const DWORD dwParam,
4839 const char *szUserId);
4840
4854 char *szUser,
4855 char *szOTP1,
4856 char *szOTP2,
4857 DWORD dwParam);
4858
4861/* PKCS#11 */
4862
4863int AAP_API DGeneratePkcs11Map(HSESSIONCTX hSession, char *szP11MapId,
4864 BYTE bTemporary, DWORD dwBlobType,
4865 DWORD dwFlags, BYTE *pbData,
4866 DWORD dwDataLen);
4867
4868int AAP_API DUpdatePkcs11Map(HSESSIONCTX hSession, char *szP11MapId,
4869 DWORD dwBlobType, DWORD dwFlags,
4870 DWORD dwUpdateMask, BYTE *pbData,
4871 DWORD dwDataLen);
4872
4873int AAP_API DGetPkcs11Map(HSESSIONCTX hSession, char *szP11MapId,
4874 DWORD dwBlobType, DWORD dwFlags,
4875 BYTE **ppbData, DWORD *pdwDataLen);
4876
4878 int(AAP_API *ListKeyCallback)(char *szKeyName,
4879 void *pParam,
4880 BOOL bFinal),
4881 void *pParam);
4882
4883
4884#define MNG_OBJ_META_A_KEY_TYPE (1)
4885#define MNG_OBJ_META_A_CLASS (2)
4886#define MNG_OBJ_META_A_EXTRACTABLE (3)
4887#define MNG_OBJ_META_A_SENSITIVE (4)
4888#define MNG_OBJ_META_A_N_EXTRACTABLE (5)
4889#define MNG_OBJ_META_A_LOCAL (6)
4890#define MNG_OBJ_META_A_CERT_TYPE (7)
4891#define MNG_OBJ_META_A_RSA_MODULUS (8)
4892#define MNG_OBJ_META_A_RSA_PUB_EXP (9)
4893#define MNG_OBJ_META_A_PUB_KEY_INFO (10)
4894#define MNG_OBJ_META_A_EC_PARAMS (11)
4895#define MNG_OBJ_META_A_SUBJECT (12)
4896#define MNG_OBJ_META_A_ISSUER (13)
4897#define MNG_OBJ_META_A_SN (14)
4898#define MNG_OBJ_META_A_TOKEN (15)
4899#define MNG_OBJ_META_A_MODIFIABLE (16)
4900#define MNG_OBJ_META_A_DERIVE (17)
4901#define MNG_OBJ_META_A_WRAP (18)
4902#define MNG_OBJ_META_A_UNWRAP (19)
4903#define MNG_OBJ_META_A_SIGN (20)
4904#define MNG_OBJ_META_A_VERIFY (21)
4905#define MNG_OBJ_META_A_ENCRYPT (22)
4906#define MNG_OBJ_META_A_DECRYPT (23)
4907#define MNG_OBJ_META_A_OBJ_ID (24)
4908#define MNG_OBJ_META_A_MODULUS_BITS (25)
4909#define MNG_OBJ_META_A_PRIVATE (26)
4910#define MNG_OBJ_META_A_LABEL (27)
4911#define MNG_OBJ_META_A_ID (28)
4912#define MNG_OBJ_META_A_APPLICATION (29)
4913#define MNG_OBJ_META_A_TRUSTED (30)
4914#define MNG_OBJ_META_A_JMIDP_SEC_DOMAIN (31)
4915#define MNG_OBJ_META_A_CERT_CATEGORY (32)
4916#define MNG_OBJ_META_A_KEY_GEN_MECHANISM (33)
4917#define MNG_OBJ_META_A_WRAP_WITH_TRUSTED (34)
4918#define MNG_OBJ_META_A_HSM_ASSOCIATE (35)
4919#define MNG_OBJ_META_A_SIGN_RECOVER (36)
4920#define MNG_OBJ_META_A_VERIFY_RECOVER (37)
4921
4922#define MNG_OBJ_META_A_HSM_OBJ_VERSION (502)
4923#define MNG_OBJ_META_A_HSM_OBJ_TYPE (503)
4924#define MNG_OBJ_META_A_HSM_OBJ_ATTR (504)
4925#define MNG_OBJ_META_A_HSM_OBJ_LEN (505)
4926#define MNG_OBJ_META_A_HSM_OBJ_ID (506)
4927#define MNG_OBJ_META_A_HSM_OBJ_PVALUE (507)
4928#define MNG_OBJ_META_A_HSM_OBJ_CNG_UTF8_ID (508) // Client side attribute
4929
4930#define MNG_OBJ_META_READ_ONLY_ATTR(a) ((MNG_OBJ_META_A_KEY_TYPE == (a)) || \
4931 (MNG_OBJ_META_A_CLASS == (a)) || \
4932 (MNG_OBJ_META_A_EXTRACTABLE == (a)) || \
4933 (MNG_OBJ_META_A_SENSITIVE == (a)) || \
4934 (MNG_OBJ_META_A_N_EXTRACTABLE == (a)) || \
4935 (MNG_OBJ_META_A_LOCAL == (a)) || \
4936 (MNG_OBJ_META_A_CERT_TYPE == (a)) || \
4937 (MNG_OBJ_META_A_RSA_MODULUS == (a)) || \
4938 (MNG_OBJ_META_A_RSA_PUB_EXP == (a)) || \
4939 (MNG_OBJ_META_A_PUB_KEY_INFO == (a)) || \
4940 (MNG_OBJ_META_A_EC_PARAMS == (a)) || \
4941 (MNG_OBJ_META_A_ISSUER == (a)) || \
4942 (MNG_OBJ_META_A_SN == (a)) || \
4943 (MNG_OBJ_META_A_TOKEN == (a)) || \
4944 (MNG_OBJ_META_A_MODIFIABLE == (a)) || \
4945 (MNG_OBJ_META_A_MODULUS_BITS == (a)) || \
4946 (MNG_OBJ_META_A_PRIVATE == (a)) || \
4947 (MNG_OBJ_META_A_HSM_OBJ_VERSION == (a)) || \
4948 (MNG_OBJ_META_A_HSM_OBJ_TYPE == (a)) || \
4949 (MNG_OBJ_META_A_HSM_OBJ_ATTR == (a)) || \
4950 (MNG_OBJ_META_A_HSM_OBJ_LEN == (a)) || \
4951 (MNG_OBJ_META_A_HSM_OBJ_ID == (a)) || \
4952 (MNG_OBJ_META_A_HSM_OBJ_PVALUE == (a)) || \
4953 (MNG_OBJ_META_A_DERIVE == (a)) || \
4954 (MNG_OBJ_META_A_WRAP == (a)) || \
4955 (MNG_OBJ_META_A_UNWRAP == (a)) || \
4956 (MNG_OBJ_META_A_SIGN == (a)) || \
4957 (MNG_OBJ_META_A_VERIFY == (a)) || \
4958 (MNG_OBJ_META_A_ENCRYPT == (a)) || \
4959 (MNG_OBJ_META_A_DECRYPT == (a)) || \
4960 (MNG_OBJ_META_A_SIGN_RECOVER == (a)) || \
4961 (MNG_OBJ_META_A_VERIFY_RECOVER == (a)))
4962
4963/* DManageObjMetadata */
4964
4965#define MNG_OBJ_META_GET (1)
4966#define MNG_OBJ_META_UPDATE (3)
4967#define MNG_OBJ_META_DEL (4)
4968
4969
4971 DWORD dwParam );
4972
4974 DWORD dwParam );
4975
4977 DWORD dwOption,
4978 void *pvOptionData,
4979 DWORD dwOptionDataLen,
4980 DWORD dwParam );
4981
4983 DWORD dwOption,
4984 DWORD dwParam );
4985
4987 DWORD dwOption,
4988 void *pvOptionData,
4989 DWORD *pdwOptionDataLen,
4990 DWORD dwParam );
4991
4993 char *szData,
4994 DWORD dwDataLen,
4995 DWORD dwParam);
4996
4998 char *szData,
4999 DWORD *pdwDataLen,
5000 DWORD dwParam);
5001
5003 BYTE bOP,
5004 char *szObjName,
5005 HOBJMETACTX hInMeta,
5006 HOBJMETACTX *phOutMeta,
5007 DWORD dwParam );
5008
5010 HOBJMETACTX hInMeta,
5011 HOBJMETASEARCHCTX *phMetaSearchCtx,
5012 DWORD dwParam );
5013
5015 HOBJMETACTX *phOutMeta,
5016 DWORD dwOutMetaMaxCount,
5017 DWORD *pdwOutMetaDataCount,
5018 DWORD dwParam );
5019
5021 DWORD dwParam );
5022
5023#define MNG_OBJ_META_TYPE_ULONG (1)
5024#define MNG_OBJ_META_TYPE_STR (2)
5025#define MNG_OBJ_META_TYPE_BOOL (3)
5026#define MNG_OBJ_META_TYPE_INT_BOOL (4)
5027
5028typedef struct tag_OBJ_MET_ATTR
5029{
5031 const char *pszString;
5034
5036 void *pvData,
5037 DWORD *pdwDataLen,
5038 DWORD dwReserved );
5039
5041
5042
5043#define DN_MAX_OBJ_JSON_STRING (15 * 1024)
5045#define DN_JSON_OUT_TYPE_PRETTY (0)
5046#define DN_JSON_OUT_TYPE_RAW (1)
5047#define DN_JSON_OUT_TYPE_COMPACT (2)
5066 const char *szId,
5067 DWORD dwOutType,
5068 char **pszOutJson,
5069 DWORD *pdwOutJsonLen);
5070
5083 const char *szId,
5084 const char *szJson,
5085 DWORD dwJsonLen,
5086 DWORD dwReserved);
5087/* P11 HSM Info */
5088
5090 HP11ATTRCTX *phOutMeta,
5091 DWORD dwParam );
5092
5093#define MNG_HSM_P11_INFO_SLOT_DESC (1)
5094#define MNG_HSM_P11_INFO_MANUFACTURER_ID (2)
5095#define MNG_HSM_P11_INFO_SLOT_FLAGS (3)
5096#define MNG_HSM_P11_INFO_HDW_VERSION (4)
5097#define MNG_HSM_P11_INFO_FMW_VERSION (5)
5098#define MNG_HSM_P11_INFO_LABEL (6)
5099#define MNG_HSM_P11_INFO_MODEL (7)
5100#define MNG_HSM_P11_INFO_SERIAL_NUMBER (8)
5101#define MNG_HSM_P11_INFO_TOKEN_FLAGS (9)
5102#define MNG_HSM_P11_INFO_UTC_TIME (10)
5103#define MNG_HSM_P11_INFO_MAX_SESSION_COUNT (11)
5104#define MNG_HSM_P11_INFO_SESSION_COUNT (12)
5105#define MNG_HSM_P11_INFO_MAX_RW_SESS_COUNT (13)
5106#define MNG_HSM_P11_INFO_RW_SESS_COUNT (14)
5107#define MNG_HSM_P11_INFO_MAX_PIN_LEN (15)
5108#define MNG_HSM_P11_INFO_MIN_PIN_LEN (16)
5109#define MNG_HSM_P11_INFO_TOTAL_PUB_MEMORY (17)
5110#define MNG_HSM_P11_INFO_FREE_PUB_MEMORY (18)
5111#define MNG_HSM_P11_INFO_TOTAL_PRIV_MEMORY (19)
5112#define MNG_HSM_P11_INFO_FREE_PRIV_MEMORY (20)
5113#define MNG_HSM_P11_INFO_SVMK_FINGERPRINT (21)
5114#define MNG_HSM_INFO_TAMPERED_HSM (22)
5115#define MNG_HSM_INFO_OP_MODE (23)
5116#define MNG_HSM_INFO_DS_BOUND (24)
5117#define MNG_HSM_INFO_DS_HSM (25)
5118#define MNG_HSM_INFO_DS_ACCOUNT (26)
5119#define MNG_HSM_INFO_DS_URL (27)
5120#define MNG_HSM_INFO_DNS1 (28)
5121#define MNG_HSM_INFO_DNS2 (29)
5122#define MNG_HSM_INFO_REMOOT (30)
5123
5125 DWORD dwOption,
5126 void *pvOptionData,
5127 DWORD *pdwOptionDataLen,
5128 DWORD dwParam );
5129
5131 DWORD dwParam );
5132
5134
5135
5136
5137/* Users */
5138
5139
5140int AAP_API DGetUserAcl ( HSESSIONCTX hSession, char *szUser,
5141 DWORD *pdwUserAcl );
5142
5143int AAP_API DListUserTrusts(HSESSIONCTX hSession, char *szUserId,
5144 BYTE bType,
5145 int (AAP_API * ListUserTrustCallback)(char *szUserName,
5146 DWORD dwACL,
5147 void *pParam,
5148 BOOL bFinal),
5149 void *pParam);
5150
5151
5152/* Statistics */
5153
5154int AAP_API DGetHsmInfo(HSESSIONCTX hSession, BOOL *pbFinal,
5155 DWORD dwParam, BYTE * pbData,
5156 DWORD* pdwDataLen, DWORD dwFlags);
5157
5158
5159/* Local operations */
5160
5162 BYTE * pbData, DWORD dwDataLen,
5163 DWORD dwFlags);
5164
5166 BYTE * pbData, DWORD *pdwDataLen,
5167 DWORD dwFlags);
5168
5169int AAP_API DGetLibVersion(HSESSIONCTX hSession, char * szVersion,
5170 DWORD *pdwVersionLen, DWORD dwFlags);
5171
5172
5173/* Key management */
5174
5175int AAP_API DECParam2AlgId(BYTE *pbECParam, DWORD dwECParamLen,
5176 int *pnAlgId, DWORD dwFlags);
5177
5178int AAP_API DECPubKeyDER2AlgId( BYTE *pbECPubKeyDER,
5179 DWORD dwECPubKeyDERLen,
5180 int *pnAlgId,
5181 DWORD dwFlags );
5182
5354 HSESSIONCTX hSession,
5355 char *szKeyId,
5356 int nAlgId,
5357 DWORD dwFlags,
5358 HKEYCTX * phKey
5359);
5360
5374 int nAlgId,
5375 BYTE *pbData,
5376 DWORD *pdwDataLen,
5377 DWORD dwReserved);
5378
5397 HSESSIONCTX hSession,
5398 char *szKeyId,
5399 DWORD dwFlags,
5400 HKEYCTX * phKey
5401);
5402
5403
5404
5405#define D_IMPORT_ALG_PRIV_KEY_RSA (0xFFFFFFE1) /* Importa uma chave privada RSA. */
5406#define D_IMPORT_ALG_PRIV_KEY_ECC (0xFFFFFFE0) /* Importa uma chave privada ECC(Curvas Elípticas com exceção de ECX). */
5407#define D_IMPORT_ALG_PRIV_KEY_P8 (0xFFFFFFDF) /* Importa uma chave no formato P8 */
5408#define D_IMPORT_ALG_PRIV_KEY_ECX (0xFFFFFFDE) /* Import uma chave privada ECX */
5409
5492 HSESSIONCTX hSession,
5493 char *szKeyId,
5494 HKEYCTX hKEKey,
5495 DWORD dwBlobType,
5496 int nAlgId,
5497 DWORD dwFlags,
5498 BYTE * pbData,
5499 DWORD dwDataLen,
5500 HKEYCTX * phKey
5501);
5502
5518 HKEYCTX hKey,
5519 HKEYCTX hKEKey,
5520 DWORD dwBlobType,
5521 DWORD dwFlags,
5522 BYTE * pbData,
5523 DWORD * pdwDataLen
5524);
5525
5559 HSESSIONCTX hSession,
5560 char *szKeyId,
5561 char *szSecret,
5562 DWORD dwKeyAlg,
5563 DWORD dwAttrib,
5564 BYTE *pbKeyEnvelope,
5565 DWORD dwKeyEnvelopeLen
5566);
5567
5581 HSESSIONCTX hSession,
5582 char *szKeyId,
5583 char *szSecret,
5584 BYTE **ppbKeyEnvelope,
5585 DWORD *pdwKeyEnvelopeLen
5586);
5587
5608 HKEYCTX hKey,
5609 DWORD dwParam,
5610 BYTE * pbData,
5611 DWORD dwDataLen,
5612 DWORD dwFlags
5613);
5614
5639 HKEYCTX hKey,
5640 DWORD dwParam,
5641 BYTE * pbData,
5642 DWORD *pdwDataLen,
5643 DWORD dwFlags
5644);
5645
5658 HHASHCTX hHash,
5659 char * szKeyId,
5660 int nAlgId,
5661 DWORD dwFlags,
5662 HKEYCTX * phKey
5663);
5664
5677 HKEYCTX hKey,
5678 DWORD dwFlags,
5679 HKEYCTX * phKey
5680);
5681
5694 HKEYCTX hKey,
5695 HHASHCTX hHash,
5696 DWORD dwFlags
5697);
5698
5711 HKEYCTX * phKey,
5712 DWORD dwFlags
5713);
5714
5752 char *szPrivateKeyName,
5753 BYTE bVersion,
5754 char *szDN,
5755 DWORD dwOutType,
5756 DWORD *pdwCSRLen,
5757 BYTE **ppbCSR,
5758 DWORD dwParam);
5759
5784 char *szPriKey,
5785 char *szPubKey,
5786 char *szCert,
5787 void *pvReserved,
5788 DWORD dwReserved);
5789
5812 const char *szPkcs12Pwd,
5813 const char *szKeyId,
5814 const char *szCertId,
5815 const char *szReserved,
5816 BYTE **ppbPkcs12,
5817 DWORD *pdwPkcs12Len,
5818 DWORD dwFlags);
5819
5838 BYTE *pbPkcs12,
5839 DWORD dwPkcs12Len,
5840 const char *szPkcs12Pwd,
5841 const char *szKeyId,
5842 DWORD dwKeyAttr,
5843 const char *szCertId,
5844 const char *szPubKeyId,
5845 DWORD dwFlags);
5846
5862 const char *szPkcs12File,
5863 const char *szPkcs12Pwd,
5864 const char *szKeyId,
5865 const DWORD dwKeyAttr,
5866 const char *szCertId);
5867
5868#define DN_FORM_DER (1)
5885int AAP_API DRSAPublicKey2Info(BYTE *pbKey, DWORD dwKeyLen, DWORD dwInForm,
5886 void *pvPubKeyInfo, DWORD dwReserved);
5887
5904int AAP_API DRSAPrivateKey2Info(const BYTE *pbRsa, DWORD dwRsaLen, DWORD dwInForm,
5905 DN_RSA_PRIVATE_KEY_INFO *stRsaInfo, DWORD dwReserved);
5906
5908typedef struct tag_DN_EXPORT_BYOK_AZURE{
5909 char *szKeKKid;
5913
5914#define DN_BYOK_TYPE_AZURE (1)
5915#define DN_BYOK_TYPE_AWS (2)
5935int AAP_API DByokExport(HSESSIONCTX hSession, const char *cszKeyId,
5936 const char *cszKekId, DWORD dwType,
5937 const void *pvData, BYTE **ppbOutData,
5938 DWORD *pdwOutDataLen, DWORD dwReserved);
5939
5963 DWORD dwOp,
5964 BYTE *pbInData,
5965 BYTE *pbTokenBlob,
5966 DWORD *pdwTokenBlobLen,
5967 char *szToken,
5968 DWORD dwReserved);
5969
6015 DWORD dwOp,
6016 const char *szMK,
6017 const char *szMask,
6018 BYTE *pbTokenBlob,
6019 DWORD dwTokenBlobLen,
6020 char *szData,
6021 DWORD *pdwDataLen,
6022 DWORD dwReserved);
6023
6026int AAP_API DRemoveKey(HSESSIONCTX hSession, char *szKeyId);
6027
6029 DWORD dwCertLen,
6030 DWORD dwOutType,
6031 void *pvCertInfo,
6032 DWORD dwFlags );
6033
6034/* Symmetric/Asymmetric operations */
6035
6065 HKEYCTX hKey,
6066 HHASHCTX hHash,
6067 BOOL bFinal,
6068 DWORD dwFlags,
6069 BYTE* pbData,
6070 DWORD* pdwDataLen,
6071 DWORD dwBufLen
6072);
6073
6095 HKEYCTX hKey,
6096 HHASHCTX hHash,
6097 BOOL bFinal,
6098 DWORD dwFlags,
6099 BYTE* pbData,
6100 DWORD* pdwDataLen
6101);
6102
6136 HSESSIONCTX hSession,
6137 int nAlgId,
6138 HKEYCTX hKey,
6139 DWORD dwFlags,
6140 HHASHCTX *hHash
6141);
6142
6154 HHASHCTX hHash,
6155 BYTE* pbData,
6156 DWORD dwDataLen,
6157 DWORD dwFlags
6158);
6159
6176 HHASHCTX hHash,
6177 DWORD dwParam,
6178 BYTE * pbData,
6179 DWORD dwDataLen,
6180 DWORD dwFlags
6181);
6182
6200 HHASHCTX hHash,
6201 DWORD dwParam,
6202 BYTE* pbData,
6203 DWORD* pdwDataLen,
6204 DWORD dwFlags
6205);
6206
6239 HHASHCTX hHash,
6240 HKEYCTX hKey,
6241 DWORD dwFlags,
6242 BYTE* pbSignature,
6243 DWORD* pdwSigLen
6244);
6245
6246
6255 HHASHCTX * phHash
6256);
6257
6276 HHASHCTX hHash,
6277 BYTE* pbSignature,
6278 DWORD dwSigLen,
6279 HKEYCTX hPubKey,
6280 DWORD dwFlags
6281);
6282
6295 HHASHCTX hHash,
6296 DWORD dwFlag,
6297 HHASHCTX * phHash
6298);
6299
6310 HSESSIONCTX hSession,
6311 BYTE *pbData,
6312 DWORD dwDataLen
6313);
6314
6334 HSESSIONCTX hSession,
6335 DWORD dwOP,
6336 char *szPriKey,
6337 void *pvInData,
6338 DWORD dwInDataLen,
6339 BYTE *pbOutData,
6340 DWORD *pdwOutDataLen,
6341 DWORD dwFlags
6342);
6343
6356 char *szCRL,
6357 char *szCertId,
6358 char *szVerifyInfo);
6359
6378 BYTE bM,
6379 BYTE bN,
6380 BYTE *pbSecret,
6381 DWORD dwSecretLen,
6382 DN_M_OF_N_SPLIT_INFO *pstSplitInfo,
6383 DWORD dwReserved);
6384
6401 DN_M_OF_N_PART *pstParts,
6402 DWORD dwPartsCount,
6403 BYTE *pbSecret,
6404 DWORD dwReserved);
6405
6424int AAP_API DGenerateSVMK(HSESSIONCTX hSession, int nVersion, const BYTE *pbKey,
6425 BYTE bM, BYTE bN, DN_SC_M_OF_N_SHADOW *pstShadows,
6426 DWORD dwReserved);
6427
6444 BYTE bShadowsCount, BYTE *pbKey, DWORD dwReserved);
6445
6448/* PIN - CVV */
6449
6479 HSESSIONCTX hSession,
6480 char *szSrcPEK,
6481 char *szDstPEK,
6482 BYTE bTransBlockType,
6483 char *szPAN,
6484 BYTE *pbInPinBlock,
6485 BYTE *pbOutPinBlock,
6486 DWORD dwParam);
6487
6506 HSESSIONCTX hSession,
6507 char *szKeyId,
6508 char *szPAN,
6509 char *szExpirationDate,
6510 char *szServiceCode,
6511 char *szCVV,
6512 DWORD dwParam
6513);
6514
6529 HSESSIONCTX hSession,
6530 char *szKeyId,
6531 char *szPAN,
6532 char *szExpirationDate,
6533 char *szServiceCode,
6534 char *szCVV,
6535 DWORD dwParam
6536);
6537
6559 HSESSIONCTX hSession,
6560 char *szPGK,
6561 char *szPAN,
6562 DWORD dwOperation,
6563 int nPinLen,
6564 char *szInPin,
6565 char *szOffset,
6566 char *szOutPin,
6567 DWORD dwParam
6568);
6569
6584 HSESSIONCTX hSession,
6585 char *szPTK,
6586 char *szPGK,
6587 char *szPAN,
6588 char *szOffset,
6589 BYTE *pbInPinBlock,
6590 DWORD dwParam
6591);
6592
6605 int nKeyAlgId,
6606 EFT_VISA_KEY_PARTS *pstKeyParts,
6607 DWORD dwParam
6608);
6609
6631 HSESSIONCTX hSession,
6632 BYTE *pbKSI,
6633 BYTE *pbDID_CTR,
6634 char *szDUKPT,
6635 DWORD dwParam
6636);
6637
6648 BYTE *pbKSI,
6649 char *szBDKName,
6650 DWORD dwParam
6651);
6652
6664 BYTE *pbKSI,
6665 BYTE *pbDID_CTR,
6666 char *szDUKPTName,
6667 DWORD dwParam
6668);
6669
6684 HSESSIONCTX hSession,
6685 char *szPGK,
6686 BYTE bPVKI,
6687 char *szPAN,
6688 char *szPIN,
6689 char *szPVV,
6690 DWORD dwParam
6691);
6692
6706 HSESSIONCTX hSession,
6707 char *szIMKDAC,
6708 char *szPAN,
6709 BYTE *pbSEQ,
6710 BYTE *pbDAC,
6711 DWORD dwParam
6712);
6713
6727 HSESSIONCTX hSession,
6728 char *szIMKDAC,
6729 char *szPAN,
6730 BYTE *pbSEQ,
6731 BYTE *pbDAC,
6732 DWORD dwParam
6733);
6734
6750 HSESSIONCTX hSession,
6751 char *szIK,
6752 BYTE *pbDAC,
6753 DWORD dwSDA_DATALen,
6754 BYTE *pbSDA_DATA,
6755 DWORD *pdwSigLen,
6756 BYTE *pbSig,
6757 DWORD dwParam
6758);
6759
6779 HSESSIONCTX hSession,
6780 BYTE bOP,
6781 char *szIK,
6782 char *szPAN,
6783 DWORD dwDDA_DATALen,
6784 BYTE *pbDDA_DATA,
6785 DWORD *pdwSigLen,
6786 BYTE *pbSig,
6787 DWORD dwParam
6788);
6789
6810 HSESSIONCTX hSession,
6811 BYTE bOP,
6812 char *szIK,
6813 char *szKeK,
6814 char *szPAN,
6815 BYTE *pbSEQ,
6816 DWORD *pdwEnvelopeLen,
6817 BYTE *pbEnvelope,
6818 DWORD dwParam
6819);
6820
6826 HSESSIONCTX hSession,
6827 BYTE bOP,
6828 char *szIK,
6829 char *szPAN,
6830 BYTE *pbSEQ,
6831 BYTE *pbNONCE,
6832 DWORD dwDataLen,
6833 BYTE *pbData,
6834 BYTE *pbMAC,
6835 DWORD dwParam
6836);
6837
6882 HSESSIONCTX hSession,
6883 BYTE bOP,
6884 char *szIK,
6885 char *szPAN,
6886 BYTE *pbSEQ,
6887 BYTE *pbNONCE,
6888 DWORD dwDataLen,
6889 BYTE *pbData,
6890 BYTE *pbMAC,
6891 DWORD dwParam
6892);
6893
6909 HSESSIONCTX hSession,
6910 char *szIK,
6911 char *szPAN,
6912 BYTE *pbSEQ,
6913 BYTE *pbATC,
6914 BYTE *pbUN,
6915 BYTE *pbIDN,
6916 DWORD dwParam
6917);
6918
6957 HSESSIONCTX hSession,
6958 BYTE bEncOP,
6959 char *szEncIK,
6960 BYTE *pbEncNONCE,
6961 BYTE bMacOP,
6962 char *szMacIK,
6963 BYTE *pbMacNONCE,
6964 char *szPAN,
6965 BYTE *pbSEQ,
6966 DWORD dwDataLen,
6967 BYTE *pbData,
6968 DWORD *pdwEncDataLen,
6969 BYTE *pbEncData,
6970 BYTE *pbMAC,
6971 DWORD dwParam
6972);
6973
6998 HSESSIONCTX hSession,
6999 BYTE bOP,
7000 char *szIK,
7001 BYTE *pbTrackNum,
7002 BYTE *pbServiceID,
7003 BYTE *pbIssuerID,
7004 BYTE *pbExpDate,
7005 DWORD *pdwCSRLen,
7006 BYTE *pbCSR,
7007 DWORD dwParam
7008);
7009
7033 HSESSIONCTX hSession,
7034 BYTE bOP,
7035 char *szIK,
7036 BYTE *pbTrackNum,
7037 BYTE *pbServiceID,
7038 BYTE *pbIssuerID,
7039 BYTE *pbExpDate,
7040 DBLOB *pdbCSR,
7041 BYTE *pbHash,
7042 DWORD dwParam
7043);
7044
7085 HSESSIONCTX hSession,
7086 BYTE bOP,
7087 BYTE *pbNONCE,
7088 char *szTransportKey,
7089 char *szISSUER_MK,
7090 char *szISSUER_SMC_MK,
7091 char *szPAN,
7092 BYTE *pbSEQ,
7093 BYTE *pbOLD_PB,
7094 BYTE *pbNEW_PB,
7095 BYTE *pbOutBlock,
7096 DWORD *pdwOutBlockLen,
7097 DWORD dwParam
7098);
7099
7105 HSESSIONCTX hSession,
7106 char *szSrcKey,
7107 WORD wBufferLen,
7108 BYTE *pbBuffer,
7109 BYTE bOP,
7110 DWORD dwAttrib,
7111 char *szDstKey,
7112 HKEYCTX *phKey,
7113 DWORD dwParam
7114);
7115
7133 HSESSIONCTX hSession,
7134 char *szIssuerMK,
7135 char *szPAN,
7136 BYTE *pbSEQ,
7137 BYTE *pbARQC,
7138 BYTE *pbARC,
7139 BYTE *pbARPC,
7140 DWORD dwParam
7141);
7142
7143
7144#define DN_CALC_ARPC_EMV_4_2_M1_ICC (1)
7145#define DN_CALC_ARPC_EMV_4_2_M1_SK (2)
7146#define DN_CALC_ARPC_EMV_4_2_M2 (3)
7147
7167 DWORD dwOp,
7168 void *pvInData,
7169 BYTE *pbARPC,
7170 DWORD dwParam );
7171
7185 DWORD dwType,
7186 BYTE *pbKey,
7187 DWORD dwAlg,
7188 const BYTE *pbMsg,
7189 DWORD dwMsgLen,
7190 BYTE *pbMAC
7191);
7192
7193#define DN_EFT_AES_KCV_TYPE_CMAC (1)
7217int AAP_API DEFTImportKey(HSESSIONCTX hSession, char *szKeyId,
7218 int nKeyAlgId, void *pstKeyParts,
7219 DWORD dwParam);
7220
7237#define DN_EFT_GET_KCV_TYPE_X9_24 (1)
7238#define DN_EFT_GET_KCV_TYPE_CMAC (2)
7241 const char *szKeyId, void *pvKeyParts,
7242 DWORD dwReserved);
7243
7244int AAP_API DEFTExportKey(HSESSIONCTX hSession, BYTE bExportMode,
7245 char *szKEKId, char *szKeyId,
7246 BYTE *pbEncryptedBlock, DWORD *pdwEncryptedBlockLen,
7247 BYTE *pbKeyCheckValue, DWORD dwParam);
7248
7249int AAP_API DEFTKeKImport( HSESSIONCTX hSession, BYTE bOP, DWORD dwAlgId,
7250 char *szKeKName, char *szKeyName, DWORD dwAttr,
7251 BYTE *pbKCV1, BYTE *pbKCV2, BYTE *pbKCV3,
7252 BYTE *pbKCVFinal, BYTE *pbBlob, DWORD dwFlags );
7253
7254/* DEFTExportZPK */
7255
7256#define DN_EXP_ZPK_FLAG_FULL_CKS (1)
7276int AAP_API DEFTExportZPK(HSESSIONCTX hSession, char *szKeyId,
7277 int *pnKeyAlg, int *pnKeySize,
7278 EFT_VISA_KEY_PARTS *pstKeyParts, DWORD dwParam);
7279
7280#define DN_EFT_GET_KCV_MAX_LEN (3)
7295int AAP_API DEFTGetKcv(HSESSIONCTX hSession, BYTE bType, const char *szKeyId,
7296 BYTE *pbKcv, DWORD *pdwKcvLen, DWORD dwReserved);
7297
7298
7299#define DN_EFT_GEN_OFFLINE_KCV_TYPE_X9_24 (1)
7300#define DN_EFT_GEN_OFFLINE_KCV_TYPE_CMAC (2)
7302#define DN_EFT_KCV_TYPE_X9_24_LEN (3)
7303#define DN_EFT_KCV_TYPE_CMAC_LEN (3)
7322int AAP_API DEFTGenKCVOffline(DWORD dwType, int nAlgId, const BYTE *pbKey,
7323 DWORD dwKeyLen, BYTE *pbKCV, DWORD *pdwKCVLen,
7324 DWORD reserved);
7409 const char *szKBPK,
7410 const char *szKey,
7411 void *pvReserved,
7412 WORD wUsage,
7413 BYTE bMode,
7414 BYTE bExport,
7415 BYTE *pbOutBlock,
7416 DWORD *pdwOutBlockLen,
7417 DWORD dwParam);
7418
7439 const char *szKBPK,
7440 const char *szKey,
7441 DWORD dwKeyAttributes,
7442 BYTE *pbKeyBlock,
7443 DWORD dwKeyBlockLen,
7444 DWORD dwParam);
7447/* Digital signature */
7448
7449int AAP_API DPowerSignHash(HSESSIONCTX hSession, char *szKeyId,
7450 int nHashAlgId, DWORD dwDataLen,
7451 BYTE *pbDataBuffer, DWORD *pdwSignLen,
7452 BYTE **ppbSignData);
7453
7488 HSESSIONCTX hSession,
7489 const char *szKeyName,
7490 const char *szKeyCert,
7491 const char *szCerts,
7492 DWORD dwAttrib,
7493 BYTE *pbContent,
7494 DWORD dwContentLen,
7495 DWORD *pdwSignatureLen,
7496 BYTE **ppbSignature,
7497 DWORD dwParam
7498);
7499
7503/* (CNS) Social Connectivity */
7505 char *szKeyID, char *szUsrID, char *szUsrName,
7506 WORD wModulusLen, BYTE *pbModulus,
7507 BYTE bExponentLen, BYTE *pbExponent,
7508 DWORD *pdwCertLen, BYTE *pbCert, DWORD dwParam );
7509
7510/* Hash */
7511int AAP_API DSignHashedData( HKEYCTX hKey, BYTE *pbData, DWORD dwDataLen,
7512 int nHashId, DWORD dwFlags, BYTE* pbSignature,
7513 DWORD* pdwSigLen );
7514
7516 DWORD dwPadding,
7517 BYTE*pbBlock,
7518 BYTE *pbData,
7519 DWORD* pdwDataLen,
7520 DWORD dwBlockSize,
7521 DWORD dwFlag );
7522
7524 BYTE *pbBlock,
7525 DWORD dwBlockCount,
7526 DWORD dwFlags );
7527
7528/* Base64 */
7529
7531 DWORD dwDataLen,
7532 char *szBase64,
7533 DWORD *pdwBase64Len,
7534 BOOL bNoNewLines );
7535
7537 DWORD dwBase64Len,
7538 BYTE *pbData,
7539 DWORD *pdwDataLen);
7540
7541
7576 HKEYCTX hKey,
7577 HHASHCTX hHash,
7578 char *szCertId,
7579 DWORD dwSizeUnsignedXml,
7580 BYTE *pbUnsignedXml,
7581 DWORD dwFilterLen,
7582 BYTE *pbFilter,
7583 DWORD *pdwSizeSignedXml,
7584 BYTE **ppbSignedXml
7585);
7586
7647 BYTE bHashMode,
7648 DWORD dwFlags,
7649 const char *szKeyId,
7650 const char *szCertId,
7651 DWORD dwSizeUnsignedXml,
7652 BYTE *pbUnsignedXml,
7653 DWORD dwFilterLen,
7654 BYTE *pbFilter,
7655 DWORD *pdwSizeSignedXml,
7656 BYTE **ppbSignedXml);
7657
7663int AAP_API DVerifySignedXml ( HSESSIONCTX hSession, char *szCertsId,
7664 DWORD dwSizeSignedXml, BYTE *pbSignedXml,
7665 DWORD dwFilterLen, BYTE *pbFilter);
7666
7687 HSESSIONCTX hSession,
7688 char *szCertsId,
7689 DWORD dwSizeSignedXml,
7690 BYTE *pbSignedXml,
7691 DWORD dwFilterLen,
7692 BYTE *pbFilter,
7693 char *szCRL
7694);
7695
7731 const char *szKeyId,
7732 const char *szCertId,
7733 DWORD dwFlags,
7734 DWORD dwSizeUnsignedPIXEnvelope,
7735 BYTE *pbUnsignedPIXEnvelope,
7736 DWORD *pdwSizeSignedPIXEnvelope,
7737 BYTE **ppbSignedPIXEnvelope);
7738
7739
7754 const char *szChainId,
7755 const char *szCRL,
7756 DWORD dwFlags,
7757 DWORD dwSizeSignedPIXEnvelope,
7758 BYTE* pbSignedPIXEnvelope);
7759
7780 const char *szKeyId,
7781 const char *szCertId,
7782 DWORD dwFlags,
7783 DWORD dwSizeUnsignedDictEnvelope,
7784 BYTE *pbUnsignedDictEnvelope,
7785 DWORD *pdwSizeSignedDictEnvelope,
7786 BYTE **ppbSignedDictEnvelope);
7787
7788
7803 const char *szChainId,
7804 const char *szCRL,
7805 DWORD dwFlags,
7806 DWORD dwSizeSignedDictEnvelope,
7807 BYTE* pbSignedDictEnvelope);
7808
7842 const char *szKeyId,
7843 DWORD dwFlags,
7844 DWORD dwHeaderLen,
7845 BYTE *pbHeader,
7846 DWORD dwPayloadLen,
7847 BYTE *pbPayload,
7848 DWORD *pdwJWSLen,
7849 BYTE *pbJWS);
7850
7869 const char *szChain,
7870 const char *szCRL,
7871 DWORD dwJWSLen,
7872 BYTE *pbJWS,
7873 DWORD dwFlags,
7874 DWORD *pdwHeaderLen,
7875 BYTE *pbHeader,
7876 DWORD *pdwPayloadLen,
7877 BYTE *pbPayload);
7878
7918 const char * szKeyId,
7919 const char * szCertId,
7920 const char * szPIXCertChainId,
7921 const char * szURL,
7922 DWORD dwCountRequestHeaderList,
7923 const char * pszRequestHeaderList[],
7924 DWORD dwSizeRequestData,
7925 BYTE* pbRequestData,
7926 DWORD dwTimeOut,
7927 DWORD * pdwSizeResponseHeaders,
7928 BYTE ** ppbResponseHeaders,
7929 DWORD * pdwSizeResponseBody,
7930 BYTE ** ppbResponseBody,
7931 DWORD dwParam);
7932
7933
7973 const char * szKeyId,
7974 const char * szCertId,
7975 const char * szPIXCertChainId,
7976 const char * szURL,
7977 DWORD dwCountRequestHeaderList,
7978 const char * pszRequestHeaderList[],
7979 DWORD dwSizeRequestData,
7980 BYTE* pbRequestData,
7981 DWORD dwTimeOut,
7982 DWORD * pdwSizeResponseHeaders,
7983 BYTE ** ppbResponseHeaders,
7984 DWORD * pdwSizeResponseBody,
7985 BYTE ** ppbResponseBody,
7986 DWORD dwParam);
7987
8024 const char * szKeyId,
8025 const char * szCertId,
8026 const char * szPIXCertChainId,
8027 const char * szURL,
8028 DWORD dwCountRequestHeaderList,
8029 const char * pszRequestHeaderList[],
8030 DWORD dwTimeOut,
8031 DWORD * pdwSizeResponseHeaders,
8032 BYTE ** ppbResponseHeaders,
8033 DWORD * pdwSizeResponseBody,
8034 BYTE ** ppbResponseBody,
8035 DWORD dwParam);
8036
8073 const char * szKeyId,
8074 const char * szCertId,
8075 const char * szPIXCertChainId,
8076 const char * szURL,
8077 DWORD dwCountRequestHeaderList,
8078 const char * pszRequestHeaderList[],
8079 DWORD dwTimeOut,
8080 DWORD * pdwSizeResponseHeaders,
8081 BYTE ** ppbResponseHeaders,
8082 DWORD * pdwSizeResponseBody,
8083 BYTE ** ppbResponseBody,
8084 DWORD dwParam);
8085
8088/* Library version */
8089
8090int AAP_API DVersion ( DWORD dwType, DWORD *pdwMajor,
8091 DWORD *pdwMinor, DWORD *pdwRevision,
8092 DWORD *pdwBuild );
8093
8112 DWORD dwsize
8113);
8114
8123 void *p
8124);
8125
8128//Free and clean CERT_X509_INFO structure members
8130
8131
8132/* Logs and monitoring */
8133
8134int AAP_API DLogLineFormat ( char *szIn, char *szOut );
8135
8137 HSESSIONCTX hSession,
8138 DWORD *pdwLogLen
8139);
8140
8142 DWORD dwStart,
8143 DWORD dwOffset,
8144 HLOGCTX *phLogCtx,
8145 DWORD dwParam );
8146
8148 BYTE *pbLog,
8149 DWORD *pdwLogSize );
8150
8152
8153
8154int AAP_API DGetStatInfo ( HSESSIONCTX hSession, DWORD *pdwSessions,
8155 DWORD *pdwCPU, DWORD *pdwUnit,
8156 DWORD *pdwMemTotal, DWORD *pdwMemUsed,
8157 DWORD *pdwSwapTotal, DWORD *pdwSwapUsed );
8158
8159int AAP_API DGetNetInfo ( HSESSIONCTX hSession, BYTE **ppbNetInfo, DWORD *pdwNetInfoCount, DWORD dwFlags );
8160
8161
8162/* Digital certificate */
8163
8165 DWORD dwCertLen,
8166 DWORD dwOutFormat,
8167 BYTE **ppbOutCert,
8168 DWORD *pdwOutCertLen,
8169 DWORD dwReserved );
8170
8171
8173 DWORD dwECLen,
8174 DWORD dwInForm,
8175 void *pvPrivKeyInfo,
8176 DWORD dwOutForm,
8177 DWORD dwReserved );
8178
8179
8181 DWORD dwECLen,
8182 DWORD dwInForm,
8183 void *pvPubKeyInfo,
8184 DWORD dwOutForm,
8185 DWORD dwReserved );
8186
8213 HSESSIONCTX hSession,
8214 char *szMasterKeyId,
8215 DWORD dwParamBlobType,
8216 void *pvParamBlob,
8217 DWORD dwParamBlobLen,
8218 BYTE *pbOTPBlob,
8219 DWORD *pdwOTPBlobLen,
8220 DWORD dwFlags
8221);
8222
8223
8224
8225
8255 HSESSIONCTX hSession,
8256 char *szMasterKeyId,
8257 char *szOTP,
8258 BYTE *pbOATHBlob,
8259 DWORD *pdwOATHBlobLen,
8260 DWORD dwFlags
8261);
8262
8277 HSESSIONCTX hSession,
8278 char *szMasterKeyId,
8279 BYTE bOTPLen,
8280 BYTE *pbOATHBlob,
8281 DWORD dwOATHBlobLen,
8282 char *szOTP,
8283 DWORD dwFlags
8284);
8285
8306 const HSESSIONCTX hSession,
8307 char *szMasterKey,
8308 BYTE *pbInBlob,
8309 DWORD dwInBlobLen,
8310 DWORD dwOutBlobType,
8311 BYTE *pbOutInfo,
8312 DWORD *pdwOutInfoLen,
8313 DWORD dwParam
8314);
8315
8339 HSESSIONCTX hSession,
8340 char *szMasterKeyId,
8341 char *szOTP1,
8342 char *szOTP2,
8343 BYTE *pbOATHBlob,
8344 DWORD *pdwOATHBlobLen,
8345 DWORD dwFlags
8346);
8347
8364 HSESSIONCTX hSession,
8365 char *szMasterKey,
8366 BYTE *pbPSK,
8367 BYTE bPSKLen,
8368 BYTE *pbPSKC,
8369 DWORD dwPSKCLen,
8370 void **pvBlobList,
8371 DWORD *pdwBlobListQuantity,
8372 DWORD dwParam
8373);
8374
8377//DOATHIssueHOTPBlob is DEPRECATED. Use DOATHIssueBlob instead.
8379 HSESSIONCTX hSession,
8380 char *szMasterKeyId,
8381 DWORD dwParamBlobType,
8382 void *pvParamBlob,
8383 DWORD dwParamBlobLen,
8384 BYTE *pbOTPBlob,
8385 DWORD *pdwOTPBlobLen,
8386 DWORD dwFlags
8387);
8388
8389//DOATHCheckHOTP is DEPRECATED. Use DOATHCheckOTP instead.
8391 char *szMasterKeyId,
8392 char *szOTP,
8393 BYTE *pbOATHBlob,
8394 DWORD *pdwOATHBlobLen,
8395 DWORD dwFlags );
8396
8397//Users
8399 DWORD dwSecretLen,
8400 ND_OATH_uint64_t nuiMovingFactor,
8401 int nCodeDigits,
8402 BOOL bAddChecksum,
8403 int nTruncOff,
8404 char *szResult);
8405
8406
8439 HSESSIONCTX hSession,
8440 char *szSrcISPB,
8441 char *szDstISPB,
8442 DWORD dwTotalDataLen,
8443 BYTE bErrorCode,
8444 BYTE bSpecialTreatment,
8445 HSPBCTX *hSPBCtx,
8446 DWORD dwFlags
8447);
8448
8463 HSPBCTX hSPBCtx,
8464 BYTE *pbDataIn,
8465 DWORD dwDataInLen,
8466 BYTE *pbDataOut,
8467 DWORD *pdwDataOutLen
8468);
8469
8480 HSPBCTX *hSPBCtx,
8481 BYTE *pbSPBHeader,
8482 DWORD *pdwSPBHeaderLen
8483);
8484
8524 HSESSIONCTX hSession,
8525 char *szSrcISPB,
8526 char *szDstISPB,
8527 BYTE *pbHeader,
8528 DWORD dwHeaderLen,
8529 BYTE bAcceptExpiredCert,
8530 BYTE bAutoUpdateCert,
8531 DWORD dwMessageDataLen,
8532 HSPBCTX *hSPBCtx,
8533 DWORD dwFlags
8534);
8535
8551 HSPBCTX hSPBCtx,
8552 BYTE *pbDataIn,
8553 DWORD dwDataInLen,
8554 BYTE **ppbDataOut,
8555 DWORD *pdwDataOutLen
8556);
8557
8566 HSPBCTX *hSPBCtx
8567);
8568
8581 HSESSIONCTX hSession,
8582 char *szID,
8583 char *szPrivateKeyName,
8584 DWORD dwKeyParam,
8585 DWORD dwParam
8586);
8587
8621 HSESSIONCTX hSession,
8622 char *szPrivateKeyName,
8623 BYTE bVersion,
8624 char *szSPBSubject,
8625 DWORD dwOutType,
8626 DWORD *pdwCSRLen,
8627 BYTE **ppbCSR,
8628 DWORD dwParam
8629);
8630
8655 HSESSIONCTX hSession,
8656 BYTE bActivate,
8657 const char *szUser,
8658 BYTE *pbCertificate,
8659 DWORD dwCertificateLen,
8660 const char *szDomain,
8661 DWORD dwParam);
8662
8680 BYTE bActivate,
8681 const char *szUser,
8682 const char *szPkcs12File,
8683 const char *szPkcs12Pwd,
8684 const char *szDomain,
8685 DWORD dwKeyAttr);
8686
8702 const char *szPkcs12Pwd,
8703 const char *szISPB,
8704 const char *szReserved,
8705 BYTE **ppbPkcs12,
8706 DWORD *pdwPkcs12Len,
8707 DWORD dwReserved);
8708
8720 HSESSIONCTX hSession,
8721 const char *szIdCert,
8722 const char *szDomain,
8723 DWORD dwParam
8724);
8725
8738 HSESSIONCTX hSession,
8739 const char *szIdCert,
8740 BYTE **ppbCertificate,
8741 DWORD *pdwCertificateLen,
8742 DWORD dwParam
8743);
8744
8761 char *szISPB,
8762 char *szDomain,
8763 DWORD dwKeyType,
8764 char *szOutObjName,
8765 DWORD dwParam
8766);
8767
8780 HSESSIONCTX hSession,
8781 const char *szIdCert,
8782 EXT_MAP_2_OBJ_INFO *pstExtMap,
8783 DWORD dwParam
8784);
8785
8803 HSESSIONCTX hSession,
8804 char *szISPB,
8805 char *szKeyId,
8806 char *szCertId,
8807 DWORD dwParam
8808);
8809
8812/* Esta API pertence ao grupo SPB, mas precisa da documentacao*/
8814 HSESSIONCTX hSession,
8815 char *szDomain,
8816 BOOL bActive,
8817 DBLOB **pdbList,
8818 DWORD *pdwListLen,
8819 DWORD dwParam
8820);
8821
8856int AAP_API DBchainCreateXPrv(HSESSIONCTX hSession, BYTE bType, DWORD dwAttributes,
8857 const char *szId, const BYTE *pcbData, DWORD dwDataLen,
8858 DWORD dwReserved);
8859
8880int AAP_API DBchainCreateBip32Ckd(HSESSIONCTX hSession, BYTE bVersion, DWORD dwIndex,
8881 DWORD dwAttributes, const char *cszPar,
8882 const char *cszDst, DN_BCHAIN_KEY_INFO *pKeyInfo,
8883 DWORD dwReserved);
8884
8935 const char *cszHrp, const char *cszPk,
8936 BYTE *pbAddress, DWORD *pdwAddressLen,
8937 DWORD dwReserved);
8938
8967int AAP_API DBchainSignHash(HSESSIONCTX hSession, BYTE bType, BYTE bHashMode,
8968 BYTE *pbHash, DWORD dwHashLen, const char *cszPk,
8969 BYTE *pbSig, DWORD *pdwSigLen, DWORD dwReserved);
8970
9007int AAP_API DBchainVerify(HSESSIONCTX hSession, BYTE bSigType, BYTE bHashMode,
9008 const BYTE *pbHash, DWORD dwHashLen, const BYTE *pbSig,
9009 DWORD dwSigLen, BYTE bInPbkType, const BYTE *pbInPbk,
9010 BYTE bInPbkLen, DWORD dwReserved);
9011
9034int AAP_API DBchainEdDsaSign(HSESSIONCTX hSession, BYTE bType, const char *cszCtxStr,
9035 BYTE *pbData, DWORD dwDataLen, const char *cszPk,
9036 BYTE *pbSig, DWORD *pdwSigLen, DWORD dwReserved);
9037
9070int AAP_API DBchainEdDsaVerify(HSESSIONCTX hSession, BYTE bType, const char *cszCtxStr,
9071 BYTE *pbData, DWORD dwDataLen, BYTE bPbkType,
9072 BYTE *pbPbk, DWORD dwPbkLen, BYTE *pbSig,
9073 DWORD dwSigLen, DWORD dwReserved);
9097int AAP_API DBchainPkImport(HSESSIONCTX hSession, BYTE bFormat, DWORD dwAttributes,
9098 const char *cszId, const BYTE *pcbData, DWORD dwDataLen,
9099 DWORD dwReserved);
9100
9129int AAP_API DBchainPkExport(HSESSIONCTX hSession, BYTE bFormat, BYTE bVersion,
9130 BYTE bCompressed, const char *cszId, BYTE **ppbData,
9131 DWORD *pdwDataLen, DWORD dwReserved);
9132
9155 const char *cszId, BYTE *pbData,
9156 DWORD *pdwDataLen, DWORD dwReserved);
9157
9185 BYTE bHashMode, const BYTE *pbHash,
9186 DWORD dwHashLen, const BYTE *pbSig,
9187 DWORD dwSigLen, DN_BCHAIN_PBK *pPbk,
9188 DWORD dwReserved);
9189
9201 const char *cszId, void *pvData,
9202 DWORD *pdwDataLen);
9203
9224int AAP_API DBchainHashData(HSESSIONCTX hSession, BYTE bMode, BYTE *pbData,
9225 DWORD dwDataLen, BYTE *pbHash, DWORD *pdwHashLen,
9226 DWORD dwReserved);
9227
9240int AAP_API DBchainEd2X(HSESSIONCTX hSession, const char *cszPk,
9241 const char *cszTo, DWORD dwAttr, DWORD dwReserved);
9242
9250/* DSKeepNewSecret e DSKeepProbeSecret */
9251// Security level
9252#define DN_SKEEP_LEVEL_UNKNOWN (0)
9253#define DN_SKEEP_SEC_LEVEL_64b (1)
9254#define DN_SKEEP_SEC_LEVEL_96b (2)
9255#define DN_SKEEP_SEC_LEVEL_112b (3)
9256#define DN_SKEEP_SEC_LEVEL_128b (4)
9257#define DN_SKEEP_SEC_LEVEL_160b (5)
9259// Type
9260#define DN_SKEEP_TYPE_NMIND (0)
9261#define DN_SKEEP_TYPE_SCRD (1)
9262#define DN_SKEEP_TYPE_2FA (2)
9263#define DN_SKEEP_TYPE_CRT (4)
9292int AAP_API DSKeepNewSecret(HSESSIONCTX hSession, const char *cszId,
9293 BYTE bSecLevel, WORD wAuthType, DWORD dwReserved);
9294
9309int AAP_API DSKeepSplitSecret(HSESSIONCTX hSession, const char *cszId,
9310 BYTE bSecLevel, WORD wAuthType, BYTE bM, BYTE bN,
9311 SKeepShare *pstShares, DWORD dwReserved);
9312
9322int AAP_API DSKeepProbeSecret(HSESSIONCTX hSession, const char *cszId,
9323 SKeepProbeInfo *pstInfo, DWORD dwReserved);
9324
9336int AAP_API DSKeepMatchSecret(HSESSIONCTX hSession, const char *cszId,
9337 const SKeepShare *cpstShares, DWORD dwSharesCount,
9338 DWORD dwReserved);
9339
9351int AAP_API DSKeepRecoverSecret(HSESSIONCTX hSession, const char *cszId,
9352 const SKeepShare *cpstShares, DWORD dwSharesCount,
9353 SKeepRecoverInfo *pstRecoverInfo, DWORD dwReserved);
9354
9365int AAP_API DSKeepRemoveSecret(HSESSIONCTX hSession, const char *cszId,
9366 BYTE bSecLevel, WORD wAuthType, DWORD dwReserved);
9367
9368#define DN_SKEEP_SHARE_CKS_LEN (4)
9370#define DN_SKEEP_GEN_SHARE_CKS (1)
9383int AAP_API DSKeepCalcShareCks(DWORD dwType, const char *cszShare, char *szCks);
9384
9387#ifdef __cplusplus
9388 }
9389#endif
9390
9391#endif /* #ifndef DINAMO_H_INCLUDED */
#define MAX_IP_LEN
Definição dinamo.h:1688
int BOOL
Definição dinamo.h:49
void * HSESSIONCTX
Definição dinamo.h:68
void * HLOGCTX
Definição dinamo.h:74
char *AAP_API DByteArray2Base64(BYTE *pbData, DWORD dwDataLen, char *szBase64, DWORD *pdwBase64Len, BOOL bNoNewLines)
void * HOBJMETASEARCHCTX
Definição dinamo.h:77
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:1717
int AAP_API DGetStatInfo(HSESSIONCTX hSession, DWORD *pdwSessions, DWORD *pdwCPU, DWORD *pdwUnit, DWORD *pdwMemTotal, DWORD *pdwMemUsed, DWORD *pdwSwapTotal, DWORD *pdwSwapUsed)
#define GET_INFO_MAX_NTP_KM_LEN
Definição dinamo.h:795
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:1971
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:1988
#define DN_SC_MAX_CARD_PRODUCT_NAME_LEN
Definição dinamo.h:2566
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:48
int AAP_API DGetObjMetadataJson(HOBJMETACTX hInMeta, char *szData, DWORD *pdwDataLen, DWORD dwParam)
#define MAX_NET_NAME
Definição dinamo.h:1689
#define RSA_8192_LEN
Definição dinamo.h:1275
int AAP_API DDestroyHSMP11Info(HP11ATTRCTX *phMeta, DWORD dwParam)
#define DN_SC_MAX_CARD_FAMILY_LEN
Definição dinamo.h:2565
int AAP_API DGetUserAcl(HSESSIONCTX hSession, char *szUser, DWORD *pdwUserAcl)
#define DN_BCHAIN_MAX_PBK_LEN
Definição dinamo.h:2217
int AAP_API DRemoveMapObj(const HSESSIONCTX hSession, const char *szMapObjId)
#define DN_SC_MAX_ATR_LEN
Definição dinamo.h:2564
#define MAX_P11_OBJ_ID
Definição dinamo.h:1694
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:627
#define DN_MAX_SUBJECT
Definição dinamo.h:1967
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:38
unsigned int UINT
Definição dinamo.h:50
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:1722
int AAP_API DGetNetInfo(HSESSIONCTX hSession, BYTE **ppbNetInfo, DWORD *pdwNetInfoCount, DWORD dwFlags)
#define DN_M_OF_N_PART_LEN
Definição dinamo.h:3565
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:2083
#define DN_RCC_MAX_REPL_MC_VER
Definição dinamo.h:3469
#define SA_TP_MAX_OTP_LEN
Definição dinamo.h:1886
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:3564
#define DN_SC_M_OF_N_SHADOW_MATERIAL_MAX_LEN
Definição dinamo.h:3686
#define ND_SPB_ISPB_LEN
Definição dinamo.h:1870
int AAP_API DGetHSMP11InfoAttr(HP11ATTRCTX hInMeta, DWORD dwOption, void *pvOptionData, DWORD *pdwOptionDataLen, DWORD dwParam)
#define ND_SPB_MAX_SUBJECT
Definição dinamo.h:1876
#define GET_INFO_MAX_REPL_NODES
Definição dinamo.h:788
#define OATH_MAX_PSK_LEN
Definição dinamo.h:1920
#define NET_INFO_MAX_SROUTE_LEN
Definição dinamo.h:1989
int AAP_API DCert2CertInfo(BYTE *pbCert, DWORD dwCertLen, DWORD dwOutType, void *pvCertInfo, DWORD dwFlags)
#define DN_GLOBAL_OBJ_STATS_COUNT
Definição dinamo.h:3622
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:73
unsigned char BYTE
Definição dinamo.h:45
#define DN_MAX_SN
Definição dinamo.h:1969
#define ND_SPB_MAX_ALG_ID
Definição dinamo.h:1878
#define DN_USR_A_TOKEN_KLEN
Definição dinamo.h:2052
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:2966
#define MAX_OBJ_ID_LEN
Definição dinamo.h:1700
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:789
void * HOBJMETACTX
Definição dinamo.h:75
void * HP11ATTRCTX
Definição dinamo.h:76
int AAP_API DCertEncodingConvert(BYTE *pbCert, DWORD dwCertLen, DWORD dwOutFormat, BYTE **ppbOutCert, DWORD *pdwOutCertLen, DWORD dwReserved)
#define MAX_HOTP_PIN
Definição dinamo.h:1690
int AAP_API DGetHSMLogInit(HSESSIONCTX hSession, DWORD dwStart, DWORD dwOffset, HLOGCTX *phLogCtx, DWORD dwParam)
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:1993
void * HCERTCTX
Definição dinamo.h:71
#define DN_SC_M_OF_N_SHADOW_MAX_LEN
Definição dinamo.h:3687
#define GET_INFO_MAX_REPL_DOMAIN_NAME
Definição dinamo.h:787
#define MAX_HSM_ID_NAME
Definição dinamo.h:1712
int AAP_API DGetHSMLogEnd(HLOGCTX *phLogCtx)
unsigned long DN_ULONG
Definição dinamo.h:66
#define DN_MAX_ISSUER
Definição dinamo.h:1968
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:794
int AAP_API DGetObjMetadata(HOBJMETACTX hInMeta, DWORD dwOption, void *pvOptionData, DWORD *pdwOptionDataLen, DWORD dwParam)
unsigned int DWORD
Definição dinamo.h:46
#define DN_BCHAIN_BIP39_SEED_LEN_MAX
Definição dinamo.h:3514
#define EFT_EMV_ARC_LEN
Definição dinamo.h:1724
#define DES_BLOCK
Definição dinamo.h:1043
#define DN_BCHAIN_BIP39_PWD_LEN_MAX
Definição dinamo.h:3515
#define MAX_OATH_HMAC_LEN
Definição dinamo.h:838
#define SA_HOTP_CHAP_LEN
Definição dinamo.h:1888
#define DN_MAX_EMAIL
Definição dinamo.h:1970
#define DN_SKEEP_M_OF_N_S_LEN
Definição dinamo.h:3659
#define DN_EC_MAX_BIG_NUM
Definição dinamo.h:2362
#define DN_M_OF_N_S_LEN
Definição dinamo.h:3561
int AAP_API DSignHashedData(HKEYCTX hKey, BYTE *pbData, DWORD dwDataLen, int nHashId, DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen)
void * HHASHCTX
Definição dinamo.h:69
int AAP_API DECParam2AlgId(BYTE *pbECParam, DWORD dwECParamLen, int *pnAlgId, DWORD dwFlags)
#define AAP_API
Definição dinamo.h:42
#define DN_UPACK_MAX_DESCRIPTION
Definição dinamo.h:2967
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:47
int AAP_API DDestroyObjMetadata(HOBJMETACTX *phMeta, DWORD dwParam)
#define DN_M_OF_N_ES_LEN
Definição dinamo.h:3562
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:3142
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:1678
#define D_MAX_DS_BIND_B62_ID
Definição dinamo.h:629
#define GET_INFO_MAX_NTPQ_LEN
Definição dinamo.h:793
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:791
#define MAX_HTTP_API_TOKEN_LEN
Definição dinamo.h:3143
#define MAX_MODULE_NAME_VERSION_LEN
Definição dinamo.h:1687
#define MAX_USR_PWD
Definição dinamo.h:1672
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 MAX_OBJ_ID_FQN_LEN
Definição dinamo.h:1703
#define EFT_EMV_PAD_LEN
Definição dinamo.h:1726
#define EFT_VISA_KEY_CHECKSUM_LEN
Definição dinamo.h:1718
#define D_MAX_DS_BIND_URL
Definição dinamo.h:626
int AAP_API DRemoveKey(HSESSIONCTX hSession, char *szKeyId)
#define ND_SPB_MAX_ISSUER
Definição dinamo.h:1877
#define MAX_HSM_MODEL_NAME
Definição dinamo.h:1711
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:52
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:1990
#define GET_INFO_MAX_HW_STR_LEN
Definição dinamo.h:790
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:1991
void * HKEYCTX
Definição dinamo.h:70
#define MAX_HOTP_APP_NAME
Definição dinamo.h:1692
#define MAX_OBJ_NAME_LEN
Definição dinamo.h:1685
#define MAX_PAN_LEN
Definição dinamo.h:1576
int AAP_API DGetStatLogSize(HSESSIONCTX hSession, DWORD *pdwLogLen)
#define DN_BCHAIN_BIP32_SEED_LEN_MAX
Definição dinamo.h:3503
#define ALG_AES_256_LEN
Definição dinamo.h:1036
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:792
#define DN_SC_MAX_CARD_OS_VERSION_LEN
Definição dinamo.h:2567
#define MAX_HOTP_IMEI
Definição dinamo.h:1691
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:51
#define MAX_OBJ_ID_BIN_LEN
Definição dinamo.h:1695
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:1673
#define ISSUE_OATH_BLOB_V2_IV_LEN
Definição dinamo.h:1930
#define NET_INFO_MAX_SNMP_SL_STR
Definição dinamo.h:1992
#define DN_MAX_PRIVATE_KEY_ATTR_LEN
Definição dinamo.h:2541
unsigned long long ND_uint64_t
Definição dinamo.h:37
#define EFT_EMV_CSU_LEN
Definição dinamo.h:1725
#define ND_SPB_SN_MAX_LEN
Definição dinamo.h:1873
BYTE *AAP_API DBase642ByteArray(char *szBase64, DWORD dwBase64Len, BYTE *pbData, DWORD *pdwDataLen)
void * HSPBCTX
Definição dinamo.h:72
#define DN_RCC_MAX_NODE_COUNT
Definição dinamo.h:3468
#define ND_SPB_CA_LEN
Definição dinamo.h:1871
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 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 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 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 *szVerifyInfo)
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 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)
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:4355
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:4190
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:3931
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:4028
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:4231
int AAP_API DSCGetInfo(DN_SC_INFO *pstInfo, DWORD dwReserved)
RetCodeMsgType
Definição dinamo.h:4601
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:4603
@ CODE_MSG
Definição dinamo.h:4602
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 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 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 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 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 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:4782
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:3160
int nPort
Definição dinamo.h:3162
DN_A_TOKEN stAToken
Definição dinamo.h:3163
Definição dinamo.h:3149
char szAPIToken[MAX_HTTP_API_TOKEN_LEN+1]
Definição dinamo.h:3151
DWORD dwTimeout
Definição dinamo.h:3152
char szAddr[MAX_HTTP_ADDR_LEN+1]
Definição dinamo.h:3150
Definição dinamo.h:3126
int nPort
Definição dinamo.h:3128
char szUserId[MAX_USR_LEN]
Definição dinamo.h:3129
DWORD dwAuthType
Definição dinamo.h:3131
char szAddr[MAX_ADDR_LEN]
Definição dinamo.h:3127
char szPassword[MAX_USR_PWD]
Definição dinamo.h:3130
int nStrongAuthLen
Definição dinamo.h:3137
BYTE * pbStrongAuth
Definição dinamo.h:3136
Definição dinamo.h:3114
int nPort
Definição dinamo.h:3116
char szUserId[MAX_USR_LEN]
Definição dinamo.h:3117
char szAddr[MAX_ADDR_LEN]
Definição dinamo.h:3115
char szPassword[MAX_USR_PWD]
Definição dinamo.h:3118
Definição dinamo.h:3171
int nPort
Definição dinamo.h:3173
Definição dinamo.h:2335
int nPubKeyHSMAlgId
Definição dinamo.h:2348
DWORD dwVersion
Definição dinamo.h:2336
DBLOB dbPublicKey
Definição dinamo.h:2347
Definição dinamo.h:2872
int nVersion
Definição dinamo.h:2873
DBLOB dbIssuer
Definição dinamo.h:2876
DBLOB dbSubject
Definição dinamo.h:2875
P11_DATE dtNotBefore
Definição dinamo.h:2879
DBLOB dbSerialNumber
Definição dinamo.h:2877
P11_DATE dtNotAfter
Definição dinamo.h:2880
Definição dinamo.h:3476
DWORD dwIp
Definição dinamo.h:3478
DWORD dwRCode
Definição dinamo.h:3480
DWORD dwCount
Definição dinamo.h:3477
Definição dinamo.h:2308
void * pvData
Definição dinamo.h:2309
DWORD dwDataLen
Definição dinamo.h:2310
Definição dinamo.h:3104
DN_A_TOKEN stAToken
Definição dinamo.h:3105
QWORD qwExpiration
Definição dinamo.h:3106
Definição dinamo.h:3094
Definição dinamo.h:3508
DWORD dwSeedLen
Definição dinamo.h:3510
BYTE bVer
Definição dinamo.h:3509
Definição dinamo.h:3521
BYTE bVer
Definição dinamo.h:3522
Definição dinamo.h:3536
BYTE bStorageType
Definição dinamo.h:3537
BYTE bBip32Depth
Definição dinamo.h:3540
DWORD dwType
Definição dinamo.h:3538
Definição dinamo.h:3551
BYTE bLen
Definição dinamo.h:3553
BYTE bType
Definição dinamo.h:3552
Definição dinamo.h:3407
BYTE bOP
Definição dinamo.h:3414
Definição dinamo.h:3418
DWORD dwPADLen
Definição dinamo.h:3429
DWORD dwCSULen
Definição dinamo.h:3427
BYTE bOP
Definição dinamo.h:3423
Definição dinamo.h:2378
DWORD dwDataLen
Definição dinamo.h:2380
Definição dinamo.h:2390
DN_EC_BIG_NUMBER bnCofactor
Definição dinamo.h:2398
DN_EC_BIG_NUMBER bnOrder
Definição dinamo.h:2400
DN_EC_BIG_NUMBER bnP
Definição dinamo.h:2393
DN_EC_POINT_INFO stGeneratorPoint
Definição dinamo.h:2401
DN_EC_BIG_NUMBER bnA
Definição dinamo.h:2395
DN_EC_BIG_NUMBER bnB
Definição dinamo.h:2396
int nFieldType
Definição dinamo.h:2391
Definição dinamo.h:2384
DN_EC_BIG_NUMBER bnY
Definição dinamo.h:2386
DN_EC_BIG_NUMBER bnX
Definição dinamo.h:2385
Definição dinamo.h:2411
DN_EC_GROUP_INFO stGroupInfo
Definição dinamo.h:2412
DN_EC_BIG_NUMBER bnPrivatevalue
Definição dinamo.h:2413
Definição dinamo.h:2405
DN_EC_GROUP_INFO stGroupInfo
Definição dinamo.h:2406
DN_EC_POINT_INFO stPublicPoint
Definição dinamo.h:2407
Definição dinamo.h:2473
BYTE bIsEftd0Active
Definição dinamo.h:2476
BYTE bMsgHeaderLen
Definição dinamo.h:2474
BYTE bPinLen
Definição dinamo.h:2475
Definição dinamo.h:5908
int nEphemeralKekAlg
Definição dinamo.h:5910
char * szKeKKid
Definição dinamo.h:5909
char * szGenerator
Definição dinamo.h:5911
Definição dinamo.h:3640
DN_OBJ_STATS stGlobal
Definição dinamo.h:3641
Definição dinamo.h:3715
QWORD dtLastHeal
Definição dinamo.h:3721
QWORD dtLastRun
Definição dinamo.h:3719
QWORD qwHealCounter
Definição dinamo.h:3718
QWORD qwCheckCounter
Definição dinamo.h:3717
QWORD qwRunCounter
Definição dinamo.h:3716
QWORD dtLastCheck
Definição dinamo.h:3720
Definição dinamo.h:3571
BYTE bN
Definição dinamo.h:3574
BYTE bM
Definição dinamo.h:3573
BYTE bPos
Definição dinamo.h:3572
Definição dinamo.h:3582
Definição dinamo.h:3590
DWORD dwPartCount
Definição dinamo.h:3594
Definição dinamo.h:2525
int nAlgId
Definição dinamo.h:2526
QWORD qwCount
Definição dinamo.h:2527
Definição dinamo.h:3601
ND_uint64_t uCount
Definição dinamo.h:3605
ND_uint64_t tFirst
Definição dinamo.h:3602
ND_uint64_t uLast
Definição dinamo.h:3604
ND_uint64_t uFirst
Definição dinamo.h:3603
Definição dinamo.h:3612
DN_OBJ_STAT_INFO stTouch
Definição dinamo.h:3613
DN_OBJ_STAT_INFO stUsage
Definição dinamo.h:3614
Definição dinamo.h:2429
DWORD dwDataLen
Definição dinamo.h:2431
Definição dinamo.h:2544
DWORD dwExponent2Len
Definição dinamo.h:2558
DWORD dwPrime2Len
Definição dinamo.h:2554
DWORD dwModulusLen
Definição dinamo.h:2546
DWORD dwPrime1Len
Definição dinamo.h:2552
DWORD dwCoefficientLen
Definição dinamo.h:2560
DWORD dwPrivExponentLen
Definição dinamo.h:2550
DWORD dwExponent1Len
Definição dinamo.h:2556
DWORD dwPubExponentLen
Definição dinamo.h:2548
Definição dinamo.h:2438
DN_RSA_BIG_NUMBER bnModulus
Definição dinamo.h:2439
DN_RSA_BIG_NUMBER bnPubExponent
Definição dinamo.h:2440
Definição dinamo.h:2573
BOOL bHasPINInfo
Definição dinamo.h:2590
BOOL bIsPINSMCOn
Definição dinamo.h:2591
BOOL bIsFormatted
Definição dinamo.h:2588
BYTE bLockByte1
Definição dinamo.h:2584
BYTE bPINMMPN
Definição dinamo.h:2592
BYTE bPINSCR
Definição dinamo.h:2593
BYTE bCardChipVersion
Definição dinamo.h:2583
BYTE bCardProgramVersion
Definição dinamo.h:2582
BOOL bIsPINLocked
Definição dinamo.h:2589
BOOL bIsOEMKeyAvailable
Definição dinamo.h:2587
BOOL bHasLegacyCard
Definição dinamo.h:2586
BYTE bPINUCR
Definição dinamo.h:2594
int nATRSize
Definição dinamo.h:2575
BYTE bPINCKS
Definição dinamo.h:2595
BYTE bLockByte2
Definição dinamo.h:2585
Definição dinamo.h:3698
BYTE bN
Definição dinamo.h:3701
BYTE bM
Definição dinamo.h:3700
BYTE bPos
Definição dinamo.h:3699
Definição dinamo.h:3709
int nVersion
Definição dinamo.h:3710
Definição dinamo.h:2535
DWORD dwObjCountCount
Definição dinamo.h:2538
DN_OBJ_COUNT * pstObjCount
Definição dinamo.h:2537
Definição dinamo.h:3453
BYTE bVersion
Definição dinamo.h:3454
Definição dinamo.h:3383
DWORD dwAttributes
Definição dinamo.h:3384
EFT_AES_KEY_PARTS stParts
Definição dinamo.h:3385
Definição dinamo.h:3372
Definição dinamo.h:3392
Definição dinamo.h:3358
Definição dinamo.h:3253
DWORD dwObjAlgId2
Definição dinamo.h:3256
DWORD dwObjAlgId1
Definição dinamo.h:3254
Definição dinamo.h:3437
DWORD dwTargetKeyAlg
Definição dinamo.h:3441
DWORD dwTargetKeyAttributes
Definição dinamo.h:3442
DBLOB dbPubKey
Definição dinamo.h:3443
DBLOB dbKDFData
Definição dinamo.h:3444
Definição dinamo.h:2483
BYTE * pbPubKey
Definição dinamo.h:2488
DWORD dwFlags
Definição dinamo.h:2486
BOOL bTempKey
Definição dinamo.h:2487
int nAlgId
Definição dinamo.h:2485
DWORD dwPubKeyLen
Definição dinamo.h:2489
Definição dinamo.h:3074
DWORD dwImageLen
Definição dinamo.h:3076
Definição dinamo.h:3067
DWORD dwParam
Definição dinamo.h:3068
DWORD dwHipFlags
Definição dinamo.h:3069
DWORD dwHipColor
Definição dinamo.h:3070
Definição dinamo.h:3053
DWORD dwStructId
Definição dinamo.h:3054
Definição dinamo.h:2884
DWORD dwObjAttr
Definição dinamo.h:2887
DWORD dwObjHotpFlags
Definição dinamo.h:2888
DBLOB * pdbStLogoImage
Definição dinamo.h:2892
DWORD dwStructId
Definição dinamo.h:2885
Definição dinamo.h:3059
DWORD dwStructId
Definição dinamo.h:3060
Definição dinamo.h:2273
int nPort
Definição dinamo.h:2275
time_t tmNow
Definição dinamo.h:2276
int nqtdcache
Definição dinamo.h:2277
Definição dinamo.h:2354
Definição dinamo.h:2803
ISSUE_OATH_INFO_t stInfo
Definição dinamo.h:2804
Definição dinamo.h:2812
ISSUE_OATH_INFO_t stInfo
Definição dinamo.h:2813
Definição dinamo.h:2737
BYTE seed_len
Definição dinamo.h:2738
ND_OATH_uint64_t T0
Definição dinamo.h:2758
WORD time_step
Definição dinamo.h:2753
ND_OATH_uint64_t moving_factor
Definição dinamo.h:2745
BYTE truncation_offset
Definição dinamo.h:2749
Definição dinamo.h:2772
BYTE seed_len
Definição dinamo.h:2773
ND_OATH_uint64_t T0
Definição dinamo.h:2793
WORD time_step
Definição dinamo.h:2788
ND_OATH_uint64_t moving_factor
Definição dinamo.h:2780
BYTE truncation_offset
Definição dinamo.h:2784
Definição dinamo.h:2702
WORD wTimeStep
Definição dinamo.h:2714
BYTE bUseDefaultMovingFactor
Definição dinamo.h:2723
ND_OATH_uint64_t otMovingFactor
Definição dinamo.h:2726
ND_OATH_uint64_t otT0
Definição dinamo.h:2719
BYTE bTruncationOffset
Definição dinamo.h:2710
BYTE bSeedLen
Definição dinamo.h:2703
Definição dinamo.h:2285
HSM_ADDR * pstLBList
Definição dinamo.h:2286
DWORD dwLBListCount
Definição dinamo.h:2287
Definição dinamo.h:3245
char szObj1Id[MAX_OBJ_NAME_LEN+1]
Definição dinamo.h:3247
char szObj2Id[MAX_OBJ_NAME_LEN+1]
Definição dinamo.h:3249
DWORD dwObj1AlgId
Definição dinamo.h:3246
DWORD dwObj2AlgId
Definição dinamo.h:3248
Definição dinamo.h:3262
DWORD dwModuleId
Definição dinamo.h:3263
char szModuleNameVersion[MAX_MODULE_NAME_VERSION_LEN]
Definição dinamo.h:3264
Definição dinamo.h:2822
ISSUE_OATH_BLOB_t stOATHBlob
Definição dinamo.h:2823
Definição dinamo.h:2831
BYTE key_len
Definição dinamo.h:2836
BYTE type
Definição dinamo.h:2832
BYTE truncation_offset
Definição dinamo.h:2838
Definição dinamo.h:2845
OATH_SA_v1 sa_v1
Definição dinamo.h:2846
ND_OATH_uint64_t T0
Definição dinamo.h:2851
WORD time_step
Definição dinamo.h:2847
Definição dinamo.h:2607
DWORD len
Definição dinamo.h:2611
DWORD type
Definição dinamo.h:2609
DWORD attrib
Definição dinamo.h:2610
DWORD version
Definição dinamo.h:2608
Definição dinamo.h:2684
OBJ_HDR_V1 stSlot2Header
Definição dinamo.h:2691
OBJ_HDR_V1 stObjectHeader
Definição dinamo.h:2685
BYTE bBlockedStatus
Definição dinamo.h:2694
ND_uint64_t stCreationTime
Definição dinamo.h:2695
OBJ_HDR_V1 stSlot1Header
Definição dinamo.h:2688
Definição dinamo.h:2673
OBJ_HDR_V1 stObjectHeader
Definição dinamo.h:2675
DWORD dwVERB
Definição dinamo.h:2674
Definição dinamo.h:5029
const char * pszString
Definição dinamo.h:5031
DWORD dwId
Definição dinamo.h:5030
DWORD dwType
Definição dinamo.h:5032
Definição dinamo.h:2618
QWORD qwOrig_creat
Definição dinamo.h:2628
QWORD qwDeactiv
Definição dinamo.h:2623
QWORD qwComprom
Definição dinamo.h:2625
QWORD qwLast_change
Definição dinamo.h:2627
QWORD qwC_occur
Definição dinamo.h:2624
QWORD qwProtect_s
Definição dinamo.h:2622
QWORD qwMask
Definição dinamo.h:2629
QWORD qwInit
Definição dinamo.h:2619
QWORD qwActiv
Definição dinamo.h:2620
QWORD qwProc_s
Definição dinamo.h:2621
BYTE bState
Definição dinamo.h:2630
QWORD qwArchive
Definição dinamo.h:2626
Definição dinamo.h:2865
Definição dinamo.h:2497
ND_uint64_t redirect_time
Definição dinamo.h:2504
ND_uint64_t upload_size
Definição dinamo.h:2511
ND_uint64_t upload_speed
Definição dinamo.h:2508
ND_uint64_t starttransfer_time
Definição dinamo.h:2502
ND_uint64_t content_length_upload
Definição dinamo.h:2506
ND_uint64_t connect_time
Definição dinamo.h:2499
ND_uint64_t request_size
Definição dinamo.h:2515
ND_uint64_t pretransfer_time
Definição dinamo.h:2501
ND_uint64_t num_connects
Definição dinamo.h:2514
ND_uint64_t download_size
Definição dinamo.h:2510
ND_uint64_t http_response_code
Definição dinamo.h:2517
ND_uint64_t redirect_count
Definição dinamo.h:2513
ND_uint64_t name_lookup_time
Definição dinamo.h:2498
ND_uint64_t received_header_size
Definição dinamo.h:2516
ND_uint64_t appconnect_time
Definição dinamo.h:2500
ND_uint64_t download_speed
Definição dinamo.h:2509
ND_uint64_t total_time
Definição dinamo.h:2503
ND_uint64_t content_length_download
Definição dinamo.h:2507
Definição dinamo.h:3268
BYTE Trusted
Definição dinamo.h:3282
BYTE Local
Definição dinamo.h:3284
BYTE WrapWithTrusted
Definição dinamo.h:3283
DWORD JavaMidpSecDomain
Definição dinamo.h:3287
DWORD CertificateCategory
Definição dinamo.h:3286
DWORD KeyGenMechanism
Definição dinamo.h:3288
DWORD Class
Definição dinamo.h:3272
Definição dinamo.h:3342
BYTE bMaxInvalidLogins
Definição dinamo.h:3344
BYTE bLower
Definição dinamo.h:3351
BYTE bHistory
Definição dinamo.h:3346
BYTE bUpper
Definição dinamo.h:3350
BYTE bMinLength
Definição dinamo.h:3348
BYTE bExpiration
Definição dinamo.h:3345
BYTE bMinSpecial
Definição dinamo.h:3349
Definição dinamo.h:3046
DWORD dwPeer
Definição dinamo.h:3048
BYTE bOP
Definição dinamo.h:3047
Definição dinamo.h:2420
DBLOB dbPubExponent
Definição dinamo.h:2422
DBLOB dbModulus
Definição dinamo.h:2421
Definição dinamo.h:3651
WORD wAuthType
Definição dinamo.h:3652
BYTE bSecLevel
Definição dinamo.h:3653
Definição dinamo.h:3665
BYTE bSecLevel
Definição dinamo.h:3666
Definição dinamo.h:3674
Definição dinamo.h:2296
int nPort
Definição dinamo.h:2297
Definição dinamo.h:2316
DWORD dwVersion
Definição dinamo.h:2317
DBLOB dbPublicKey
Definição dinamo.h:2331
Definição dinamo.h:2859
Definição dinamo.h:2233
BYTE bFrom
Definição dinamo.h:2252
BYTE bCKS
Definição dinamo.h:2241
BYTE bFlags
Definição dinamo.h:2234
BYTE bType
Definição dinamo.h:2251
BYTE bTo
Definição dinamo.h:2258
Definição dinamo.h:3030
SYS_NTP_INFO stNTPInfo
Definição dinamo.h:3038
int nFilledCount
Definição dinamo.h:3031
SYS_HW_STR_INFO stHardwareInfo
Definição dinamo.h:3037
SYS_REPL_INFO stReplicationInfo
Definição dinamo.h:3035
DWORD dwFIPSReturnCode
Definição dinamo.h:3040
SYS_STATUS_INFO stStatusInfo
Definição dinamo.h:3032
DWORD dwFIPSMode
Definição dinamo.h:3033
SYS_DISK_INFO stDiskInfo
Definição dinamo.h:3034
QWORD qwCurrentDateTime
Definição dinamo.h:3036
SYS_PENDING_INFO stPendingInfo
Definição dinamo.h:3041
SYS_COUNTER_INFO stCounterInfo
Definição dinamo.h:3039
Definição dinamo.h:2957
QWORD qwUsers
Definição dinamo.h:2958
QWORD qwSLBeFileSize
Definição dinamo.h:2960
QWORD qwVMSize
Definição dinamo.h:2962
QWORD qwTasks
Definição dinamo.h:2961
QWORD qwObjects
Definição dinamo.h:2959
Definição dinamo.h:2931
DWORD dwBlockSize
Definição dinamo.h:2932
DWORD dwFreeBlocks
Definição dinamo.h:2934
DWORD dwTotalBlocks
Definição dinamo.h:2933
Definição dinamo.h:2925
DWORD dwBatteryOK
Definição dinamo.h:2927
DWORD dwUptime
Definição dinamo.h:2926
Definição dinamo.h:2982
Definição dinamo.h:2909
DWORD dwSysNetInfoCount
Definição dinamo.h:2911
SYS_NET_INFO * pstSysNetInfo
Definição dinamo.h:2910
Definição dinamo.h:2898
DWORD dwSpeed
Definição dinamo.h:2904
BYTE bUp
Definição dinamo.h:2903
Definição dinamo.h:2999
BYTE bENABLED
Definição dinamo.h:3000
Definição dinamo.h:2989
DWORD dwKeyLen
Definição dinamo.h:2993
WORD wKeyIndex
Definição dinamo.h:2992
Definição dinamo.h:2974
BYTE bPendingBackup
Definição dinamo.h:2975
Definição dinamo.h:3007
DWORD dwDiscoveryPulse
Definição dinamo.h:3021
QWORD qwSpVal
Definição dinamo.h:3016
DWORD dwManagerPulse
Definição dinamo.h:3019
DWORD dwRecoveryPulse
Definição dinamo.h:3020
QWORD qwEventType
Definição dinamo.h:3012
DWORD dwBoundEth
Definição dinamo.h:3009
WORD wSpvv
Definição dinamo.h:3017
QWORD qwGuid
Definição dinamo.h:3010
QWORD qwDateTime
Definição dinamo.h:3011
DWORD dwDiscoveryReset
Definição dinamo.h:3018
DWORD dwState
Definição dinamo.h:3013
Definição dinamo.h:2942
DWORD dwMemTotal
Definição dinamo.h:2946
DWORD dwMemUsed
Definição dinamo.h:2947
DWORD dwCPU
Definição dinamo.h:2944
DWORD dwUnit
Definição dinamo.h:2945
DWORD dwSwapTotal
Definição dinamo.h:2948
DWORD dwSwapUsed
Definição dinamo.h:2949
DWORD dwSessions
Definição dinamo.h:2943
Definição dinamo.h:2464
Definição dinamo.h:3181
DBLOB dbHSMCert
Definição dinamo.h:3185
DBLOB dbPrivateKeyCert
Definição dinamo.h:3184
char * szPrivateKeyPwd
Definição dinamo.h:3183
DBLOB dbPrivateKey
Definição dinamo.h:3182
Definição dinamo.h:3084
DWORD dwAttempts
Definição dinamo.h:3087
int nBlocked
Definição dinamo.h:3086
Definição dinamo.h:2450
DBLOB dbCert
Definição dinamo.h:2457
BYTE bOP
Definição dinamo.h:2452
Definição dinamo.h:3192
DWORD dwAuthMask
Definição dinamo.h:3195
char szPassword[MAX_USR_PWD+1]
Definição dinamo.h:3194
char szUserId[MAX_USR_LEN+1]
Definição dinamo.h:3193
Definição dinamo.h:3223
DWORD dwACL
Definição dinamo.h:3233
DWORD dwState
Definição dinamo.h:3225