Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6kmipclient.h
Go to the documentation of this file.
1 
17 #ifndef P6KMIPCLIENT_H__
18 #define P6KMIPCLIENT_H__ 1
19 
20 #include "p6net.h"
21 #include "p6kmipencoder.h"
22 #include "p6keystore.h"
23 #include "p6domxml.h"
24 
25 
26 namespace P6R {
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
37 interface p6IKMIPVersions : public p6ICom
38 {
49  P6COMMETHOD next( P6KMIP_VERSION* pSupported ) = 0;
50 
59  P6COMMETHOD reset() = 0;
60 
71  P6COMMETHOD count( P6UINT32* pNumber ) = 0;
72 };
73 // {B319EC18-E064-4c7b-9B91-1C20C7FE4BC2}
74 #define IF_p6IKMIPVersions {0xb319ec18,0xe064,0x4c7b,{0x9b,0x91,0x1c,0x20,0xc7,0xfe,0x4b,0xc2}}
75 
76 // {4EA4E33B-C6CF-47fa-96E5-D42E9A3EFCB3}
77 #define COMP_p6KMIPVersions {0x4ea4e33b,0xc6cf,0x47fa,{0x96,0xe5,0xd4,0x2e,0x9a,0x3e,0xfc,0xb3}}
78 
79 
85 interface p6IKMIPEnum : public p6ICom
86 {
103  P6COMMETHOD next( P6NCSTR* pUTF8String ) = 0;
104 
117  P6COMMETHOD next2( P6UINT32* pValue ) = 0;
118 
127  P6COMMETHOD reset() = 0;
128 
139  P6COMMETHOD count( P6UINT32* pNumber ) = 0;
140 };
141 // {249E72B1-1658-40fa-A85D-A122385CEF75}
142 #define IF_p6IKMIPEnum {0x249e72b1,0x1658,0x40fa,{0xa8,0x5d,0xa1,0x22,0x38,0x5c,0xef,0x75}}
143 
144 // {38FBB4E8-9AD8-48b8-997F-501D3A398419}
145 #define COMP_p6KMIPEnum {0x38fbb4e8,0x9ad8,0x48b8,{0x99,0x7f,0x50,0x1d,0x3a,0x39,0x84,0x19}}
146 
147 
153 interface p6IKMIPStr : public p6ICom
154 {
170  P6COMMETHOD next( P6NCSTR* pUTF8String ) = 0;
171 
180  P6COMMETHOD reset() = 0;
181 
192  P6COMMETHOD count( P6UINT32* pNumber ) = 0;
193 };
194 // {CD246EDF-3340-437e-93AF-87C6A6AA7CE2}
195 #define IF_p6IKMIPStr {0xcd246edf,0x3340,0x437e,{0x93,0xaf,0x87,0xc6,0xa6,0xaa,0x7c,0xe2}}
196 
197 // {3A5A4252-73CA-45ca-9891-77E6A969FA7F}
198 #define COMP_p6KMIPStr {0x3a5a4252,0x73ca,0x45ca,{0x98,0x91,0x77,0xe6,0xa9,0x69,0xfa,0x7f}}
199 
200 
206 interface p6IKMIPBinary : public p6ICom
207 {
223  P6COMMETHOD next( P6BSTR* pBuffer ) = 0;
224 
236  P6COMMETHOD associatedValue( P6UINT64* pNumber ) = 0;
237 
246  P6COMMETHOD reset() = 0;
247 
258  P6COMMETHOD count( P6UINT32* pNumber ) = 0;
259 };
260 // {4C634FD3-5F17-4454-83D5-57BF5B5594D7}
261 #define IF_p6IKMIPBinary {0x4c634fd3,0x5f17,0x4454,{0x83,0xd5,0x57,0xbf,0x5b,0x55,0x94,0xd7}}
262 
263 // {9F939B61-6FC4-4579-83C5-AD61ABBF3A22}
264 #define COMP_p6KMIPBinary {0x9f939b61,0x6fc4,0x4579,{0x83,0xc5,0xad,0x61,0xab,0xbf,0x3a,0x22}}
265 
266 
274 typedef struct {
278 
286 typedef struct {
290 
291 
346 typedef struct {
349  union {
396  } value;
397 } P6KMIP_OBJECT_ATTRIBUTE;
398 
399 
405 interface p6IKMIPAttribute : public p6ICom
406 {
424 
438  P6COMMETHOD next( P6UINT32* pType ) = 0;
439 
448  P6COMMETHOD reset() = 0;
449 
460  P6COMMETHOD count( P6UINT32* pNumber ) = 0;
461 };
462 // {E39E896D-8F38-456d-A1C7-17E22119A919}
463 #define IF_p6IKMIPAttribute {0xe39e896d,0x8f38,0x456d,{0xa1,0xc7,0x17,0xe2,0x21,0x19,0xa9,0x19}}
464 
465 // {1AB3DF9E-5B29-4372-89CA-163DD31B65FC}
466 #define COMP_p6KMIPAttribute {0x1ab3df9e,0x5b29,0x4372,{0x89,0xca,0x16,0x3d,0xd3,0x1b,0x65,0xfc}}
467 
468 
474 interface p6IKMIPNamespace : public p6ICom
475 {
493  P6COMMETHOD next( P6KMIP_APPLICATION* pNamespace ) = 0;
494 
503  P6COMMETHOD reset() = 0;
504 
515  P6COMMETHOD count( P6UINT32* pNumber ) = 0;
516 };
517 // {AC4ABE06-E273-4c83-889D-5DDA6A023300}
518 #define IF_p6IKMIPNamespace {0xac4abe06,0xe273,0x4c83,{0x88,0x9d,0x5d,0xda,0x6a,0x2,0x33,0x0}}
519 
520 // {1E9FC2E2-F05C-478a-A098-D0087CC7C081}
521 #define COMP_p6KMIPNamespace {0x1e9fc2e2,0xf05c,0x478a,{0xa0,0x98,0xd0,0x8,0x7c,0xc7,0xc0,0x81}}
522 
523 
529 interface p6IKMIPName : public p6ICom
530 {
547  P6COMMETHOD next( P6KMIP_NAME* pName ) = 0;
548 
557  P6COMMETHOD reset() = 0;
558 
569  P6COMMETHOD count( P6UINT32* pNumber ) = 0;
570 };
571 // {055E94DA-FB6A-4083-B55A-4449C2101D77}
572 #define IF_p6IKMIPName {0x55e94da,0xfb6a,0x4083,{0xb5,0x5a,0x44,0x49,0xc2,0x10,0x1d,0x77}}
573 
574 // {966CE299-DC38-488a-898A-B79BBD0C3228}
575 #define COMP_p6KMIPName {0x966ce299,0xdc38,0x488a,{0x89,0x8a,0xb7,0x9b,0xbd,0xc,0x32,0x28}}
576 
577 
583 interface p6IKMIPExtInfo : public p6ICom
584 {
600  P6COMMETHOD next( P6KMIP_EXTENSION* pExtension ) = 0;
601 
610  P6COMMETHOD reset() = 0;
611 
622  P6COMMETHOD count( P6UINT32* pNumber ) = 0;
623 };
624 // {2D95D569-2BBE-4aaf-84FF-83890DA72F3F}
625 #define IF_p6IKMIPExtInfo {0x2d95d569,0x2bbe,0x4aaf,{0x84,0xff,0x83,0x89,0xd,0xa7,0x2f,0x3f}}
626 
627 // {0B49847A-1711-4e2b-A792-E98C0851A514}
628 #define COMP_p6KMIPExtInfo {0xb49847a,0x1711,0x4e2b,{0xa7,0x92,0xe9,0x8c,0x8,0x51,0xa5,0x14}}
629 
630 
649 typedef struct {
662 
669 interface p6IKMIPValInfo : public p6ICom
670 {
686  P6COMMETHOD next( P6KMIP_VALIDATION* pValidation ) = 0;
687 
696  P6COMMETHOD reset() = 0;
697 
708  P6COMMETHOD count( P6UINT32* pNumber ) = 0;
709 };
710 // {21436801-8A79-4e72-BD15-86BB5A7927B6}
711 #define IF_p6IKMIPValInfo {0x21436801,0x8a79,0x4e72,{0xbd,0x15,0x86,0xbb,0x5a,0x79,0x27,0xb6}}
712 
713 // {67117C60-56FD-4793-9AB3-D786DE40390C}
714 #define COMP_p6KMIPValInfo {0x67117c60,0x56fd,0x4793,{0x9a,0xb3,0xd7,0x86,0xde,0x40,0x39,0xc}}
715 
716 
724 interface p6IKMIPProfileInfo : public p6ICom
725 {
743  P6COMMETHOD next( P6KMIP_PROFILEINFO* pSupported ) = 0;
744 
753  P6COMMETHOD reset() = 0;
754 
765  P6COMMETHOD count( P6UINT32* pNumber ) = 0;
766 };
767 // {1731968A-F152-4452-B540-E2A0DFAC48D8}
768 #define IF_p6IKMIPProfileInfo {0x1731968a,0xf152,0x4452,{0xb5,0x40,0xe2,0xa0,0xdf,0xac,0x48,0xd8}}
769 
770 // {63CBCA9F-9F73-4a7d-A7E3-B53CB8121C80}
771 #define COMP_p6KMIPProfileInfo {0x63cbca9f,0x9f73,0x4a7d,{0xa7,0xe3,0xb5,0x3c,0xb8,0x12,0x1c,0x80}}
772 
773 
779 interface p6IKMIPRNGInfo : public p6ICom
780 {
791  P6COMMETHOD next( P6KMIP_RNGPARAMS* pRNG ) = 0;
792 
801  P6COMMETHOD reset() = 0;
802 
813  P6COMMETHOD count( P6UINT32* pNumber ) = 0;
814 };
815 // {4C57BD96-7FA1-476c-8E8E-61980917B5B0}
816 #define IF_p6IKMIPRNGInfo {0x4c57bd96,0x7fa1,0x476c,{0x8e,0x8e,0x61,0x98,0x9,0x17,0xb5,0xb0}}
817 
818 // {E0E85DAC-42F1-4a3d-9CFA-60AFE24277A7}
819 #define COMP_p6KMIPRNGInfo {0xe0e85dac,0x42f1,0x4a3d,{0x9c,0xfa,0x60,0xaf,0xe2,0x42,0x77,0xa7}}
820 
821 
841 typedef struct {
854 
863 typedef struct {
867 
880 typedef struct {
888 
906 typedef struct {
911 
915 
928 typedef struct {
931 
935 
945 typedef struct {
950 
963 typedef struct {
971 
981 typedef struct {
986 
1002 typedef struct {
1008 
1011 
1012 
1025 typedef struct {
1033 
1045 typedef struct {
1052 
1063 typedef struct {
1069 
1088 typedef struct {
1092  union {
1101  } value;
1102 } P6KMIP_REGKEYPARAMS;
1103 
1115 typedef struct {
1122 
1135 typedef struct {
1139  union {
1142  } value;
1143 } P6KMIP_CERTPARAMS;
1144 
1159 typedef struct {
1165 
1177 typedef struct {
1184 
1195 typedef struct {
1201 
1211 typedef struct {
1216 
1227 typedef struct {
1233 
1242 typedef struct {
1246 
1255 typedef struct {
1259 
1270 typedef struct {
1274 } P6KMIP_LEASE;
1275 
1288 typedef struct {
1294 } P6KMIP_RESULT;
1295 
1309 typedef struct {
1318 
1327 typedef struct {
1331 
1340 typedef struct {
1344 
1355 typedef struct {
1361 
1370 typedef struct {
1374 
1384 typedef struct {
1388 } P6KMIP_BLOB;
1389 
1400 typedef struct {
1405 } P6KMIP_PGPBLOB;
1406 
1420 typedef struct {
1425  union {
1428  } value;
1429 } P6KMIP_KEYBLOCK;
1430 
1443 typedef struct {
1451 
1466 typedef struct {
1476 
1488 typedef struct {
1495 
1505 typedef struct {
1510 
1528 typedef struct {
1541 
1551 typedef struct {
1556 
1566 typedef struct {
1570 } P6KMIP_SIGNOUT;
1571 
1582 typedef struct {
1587 
1622 typedef struct {
1625  union {
1645  } value;
1646 } P6KMIP_MANAGED;
1647 
1648 
1694 typedef struct {
1698  union {
1734  } operation;
1735 } P6KMIP_BATCHRESULT;
1736 
1742 interface p6IKMIPResult : public p6ICom
1743 {
1755  P6COMMETHOD next( P6KMIP_BATCHRESULT* pItem ) = 0;
1756 
1765  P6COMMETHOD reset() = 0;
1766 
1777  P6COMMETHOD count( P6UINT32* pNumber ) = 0;
1778 };
1779 // {3DEBB8D7-6A9C-4e96-87E5-8CE94A0F4F4D}
1780 #define IF_p6IKMIPResult {0x3debb8d7,0x6a9c,0x4e96,{0x87,0xe5,0x8c,0xe9,0x4a,0xf,0x4f,0x4d}}
1781 
1782 // {E87F5FD3-7C14-4f47-BDBB-A3BBC20FBF97}
1783 #define COMP_p6KMIPResult {0xe87f5fd3,0x7c14,0x4f47,{0xbd,0xbb,0xa3,0xbb,0xc2,0xf,0xbf,0x97}}
1784 
1785 
1839 typedef struct {
1854 } P6KMIP_PREF;
1855 
1856 
1892 const P6KMIPFLAGS P6KMIPFLG_NOFLAGS = 0x00000000;
1893 const P6KMIPFLAGS P6KMIPFLG_TRACE_OFF = 0x00000002;
1894 const P6KMIPFLAGS P6KMIPFLG_TRACE_BASIC = 0x00000004;
1895 const P6KMIPFLAGS P6KMIPFLG_TRACE_MSGS = 0x00000008;
1896 const P6KMIPFLAGS P6KMIPFLG_TRACE_FORMATXML = 0x00000010;
1897 const P6KMIPFLAGS P6KMIPFLG_TRACE_FORMATJSON = 0x00000020;
1898 const P6KMIPFLAGS P6KMIPFLG_TRACE_FORMATJSONML = 0x00000040;
1899 const P6KMIPFLAGS P6KMIPFLG_TRACE_FORMATBINARY = 0x00000080;
1900 const P6KMIPFLAGS P6KMIPFLG_TRACE_VERBOSE = 0x00000100;
1901 const P6KMIPFLAGS P6KMIPFLG_DEBUG_MODE = 0x00000200;
1902 const P6KMIPFLAGS P6KMIPFLG_TRACE_FORMATKMIPXML = 0x00000400;
1903 const P6KMIPFLAGS P6KMIPFLG_TRACE_HTTPHEADERS = 0x00000800;
1904 const P6KMIPFLAGS P6KMIPFLG_SERVER_TLS = 0x00001000;
1905 
1917 interface p6IKMIPClient : public p6ICom
1918 {
1949  P6COMMETHOD initialize( P6KMIPFLAGS flags, p6IKeystore* pCerts, P6KMIP_PREF preferences ) = 0;
1950 
1972  P6COMMETHOD setSSLOptions( const P6WCHAR* pCiphers, P6SECURESOCKETFLAGS fSecureFlags ) = 0;
1973 
1995  P6COMMETHOD open( const P6WCHAR* pHost, P6UINT32 port, P6KMIP_CREDENTIAL* pCredential ) = 0;
1996 
2004  P6COMMETHOD close() = 0;
2005 
2019 
2036  P6COMMETHOD extractExtension( P6UINT16 batchIndex, P6KMIP_RESPEXTENSION* pExtension ) = 0;
2037 
2055 
2072  P6COMMETHOD addAttributes( P6UINT32 attribCount, P6KMIP_ATTRIBPARAMS* pAttributes, p6IKMIPResult** pResult ) = 0;
2073 
2092  P6COMMETHOD activateObject( P6NCSTR uniqueId, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
2093 
2112  P6COMMETHOD archiveObject( P6NCSTR uniqueId, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
2113 
2133  P6COMMETHOD cancel( P6BCSTR asynchCorrelation, P6KMIP_MSGEXTENSION* pExtension, P6KMIP_RESULT* pResult, P6UINT32* pCancelResult ) = 0;
2134 
2151  P6COMMETHOD certifyObject( P6KMIP_CERTIFYPARAMS certifyParams, P6KMIP_NEWOBJECT* pCertify, P6KMIP_RESULT* pResult ) = 0;
2152 
2169  P6COMMETHOD createKeyObject( P6KMIP_KEYPARAMS keyParams, P6KMIP_NEWOBJECT* pCreate, P6KMIP_RESULT* pResult ) = 0;
2170 
2188  P6COMMETHOD createKeyPairObjects( P6KMIP_PAIRPARAMS pairParams, P6KMIP_NEWOBJECT* pPrivate, P6KMIP_NEWOBJECT* pPublic, P6KMIP_RESULT* pResult ) = 0;
2189 
2206  P6COMMETHOD createSplitKey( P6KMIP_SPLITPARAMS keyParams, P6KMIP_NEWOBJECT* pCreate, P6KMIP_RESULT* pResult ) = 0;
2207 
2224  P6COMMETHOD joinSplitKey( P6KMIP_JOINPARAMS keyParams, P6KMIP_NEWOBJECT* pCreate, P6KMIP_RESULT* pResult ) = 0;
2225 
2247  P6COMMETHOD deleteAttributeObject( P6NCSTR uniqueId, P6NCSTR attributeName, P6INT32* pIndex, P6KMIP_MSGEXTENSION* pExtension, P6KMIP_ATTRIBRESULT* pDelResult, P6KMIP_RESULT* pResult ) = 0;
2248 
2265  P6COMMETHOD deriveKeyObject( P6KMIP_DERIVEPARAMS keyParams, P6KMIP_NEWOBJECT* pDerived, P6KMIP_RESULT* pResult ) = 0;
2266 
2285  P6COMMETHOD destroyObject( P6NCSTR uniqueId, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
2286 
2305  P6COMMETHOD discoverVersions( P6BOOL bClientVersions, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPVersions** ppVersions, P6KMIP_RESULT* pResult ) = 0;
2306 
2324 
2343 
2362  P6COMMETHOD getAttributeList( P6NCSTR uniqueId, P6KMIP_MSGEXTENSION* pExtension, P6KMIP_ATTRIBUTENAMES* pName, P6KMIP_RESULT* pResult ) = 0;
2363 
2380  P6COMMETHOD getObject( P6KMIP_GETPARAMS get, P6KMIP_MANAGED* pObject, P6KMIP_RESULT* pResult ) = 0;
2381 
2403 
2424  P6COMMETHOD getUsageAllocation( P6NCSTR uniqueId, P6UINT64 usageLimitsCount, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
2425 
2452  P6COMMETHOD checkAndGetUsageAllocation( P6KMIP_CHECKPARAMS check, P6NCSTR uniqueId, P6UINT64 usageLimitsCount, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_CHECKRESULT* pCheck, P6KMIP_RESULT* pResult ) = 0;
2453 
2470  P6COMMETHOD locateObject( P6KMIP_LOCATEPARAMS locate, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
2471 
2494 
2515  P6COMMETHOD locateAndGetObject( P6KMIP_LOCATEPARAMS locate, P6KMIP_GETPARAMS get, P6KMIP_MANAGED* pObject, P6KMIP_RESULT* pLocateResult, P6KMIP_RESULT* pGetResult ) = 0;
2516 
2535 
2553 
2571  P6COMMETHOD modifyAttributes( P6UINT32 attribCount, P6KMIP_ATTRIBPARAMS* pAttributes, p6IKMIPResult** pResult ) = 0;
2572 
2592  P6COMMETHOD obtainLease( P6NCSTR uniqueId, P6KMIP_MSGEXTENSION* pExtension, P6KMIP_LEASE* pLease, P6KMIP_RESULT* pResult ) = 0;
2593 
2612  P6COMMETHOD poll( P6BCSTR asynchCorrelation, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPResult** pResult ) = 0;
2613 
2633  P6COMMETHOD queryServer( P6UINT32 queryCount, P6UINT32* pQueryFunctions, P6KMIP_MSGEXTENSION* pExtension, P6KMIP_SERVERINFO* pCapabilities, P6KMIP_RESULT* pResult ) = 0;
2634 
2651  P6COMMETHOD reCertifyObject( P6KMIP_CERTIFYPARAMS certifyParams, P6KMIP_NEWOBJECT* pCertify, P6KMIP_RESULT* pResult ) = 0;
2652 
2671  P6COMMETHOD recoverObject( P6NCSTR uniqueId, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
2672 
2691  P6COMMETHOD registerCertificateObject( P6KMIP_CERTPARAMS certificate, P6KMIP_NEWOBJECT* pRegResult, P6KMIP_RESULT* pResult ) = 0;
2692 
2713 
2733 
2753 
2772  P6COMMETHOD registerOpaqueObject( P6KMIP_OPAQUEPARAMS objParams, P6KMIP_NEWOBJECT* pRegResult, P6KMIP_RESULT* pResult ) = 0;
2773 
2793 
2810  P6COMMETHOD reKeyObject( P6KMIP_KEYPARAMS keyParams, P6KMIP_NEWOBJECT* pReKey, P6KMIP_RESULT* pResult ) = 0;
2811 
2829  P6COMMETHOD reKeyPairObjects( P6KMIP_PAIRPARAMS pairParams, P6KMIP_NEWOBJECT* pPrivate, P6KMIP_NEWOBJECT* pPublic, P6KMIP_RESULT* pResult ) = 0;
2830 
2851  P6COMMETHOD revokeObject( P6NCSTR uniqueId, P6KMIP_REVOCATION reason, P6TIME* pOccurenceDate, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
2852 
2873  P6COMMETHOD revokeAndDestroyObject( P6NCSTR uniqueId, P6KMIP_REVOCATION reason, P6TIME* pOccurenceDate, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
2874 
2891  P6COMMETHOD encrypt( P6KMIP_ENCRYPTPARAMS encryptParams, P6KMIP_CRYPTOOUT* pCipherText, P6KMIP_RESULT* pResult ) = 0;
2892 
2909  P6COMMETHOD decrypt( P6KMIP_ENCRYPTPARAMS decryptParams, P6KMIP_CRYPTOOUT* pClearText, P6KMIP_RESULT* pResult ) = 0;
2910 
2927  P6COMMETHOD sign( P6KMIP_SIGNPARAMS signParams, P6KMIP_SIGNOUT* pCipherText, P6KMIP_RESULT* pResult ) = 0;
2928 
2945  P6COMMETHOD signatureVerify( P6KMIP_SIGNPARAMS signParams, P6KMIP_SIGNOUT* pClearText, P6KMIP_RESULT* pResult ) = 0;
2946 
2963  P6COMMETHOD MAC( P6KMIP_SIGNPARAMS macParams, P6KMIP_SIGNOUT* pCipherText, P6KMIP_RESULT* pResult ) = 0;
2964 
2981  P6COMMETHOD MACVerify( P6KMIP_SIGNPARAMS macParams, P6KMIP_SIGNOUT* pClearText, P6KMIP_RESULT* pResult ) = 0;
2982 
3000  P6COMMETHOD RNGRetrieve( P6INT32 dataLength, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPBinary** pData, P6KMIP_RESULT* pResult ) = 0;
3001 
3019  P6COMMETHOD RNGSeed( P6BCSTR data, P6KMIP_MSGEXTENSION* pExtension, P6INT32* pDataLength, P6KMIP_RESULT* pResult ) = 0;
3020 
3039  P6COMMETHOD hash( P6KMIP_CRYPTOPARAMS cParams, P6BCSTR data, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPBinary** pHash, P6KMIP_RESULT* pResult ) = 0;
3040 
3057  P6COMMETHOD validate( P6KMIP_VALIDATEPARAMS chain, P6UINT32* pValidity, P6KMIP_RESULT* pResult ) = 0;
3058 
3073 
3087  P6COMMETHOD serverSupportsObject( P6UINT32 objectType ) = 0;
3088 
3100  P6COMMETHOD getResponseDOM( p6IDOMXML** pResponse ) = 0;
3101 };
3102 
3103 // {EAC45E0F-0C17-481c-801D-613EBE000581}
3104 #define IF_p6IKMIPClient {0xeac45e0f,0xc17,0x481c,{0x80,0x1d,0x61,0x3e,0xbe,0x0,0x5,0x81}}
3105 
3106 // {05AF5ED8-C94F-436b-943F-F13744FD2DFD}
3107 #define COMP_p6KMIPClient {0x5af5ed8,0xc94f,0x436b,{0x94,0x3f,0xf1,0x37,0x44,0xfd,0x2d,0xfd}}
3108 
3109 
3110 
3122 interface p6IKMIPClient2 : public p6ICom
3123 {
3154  P6COMMETHOD initialize( P6KMIPFLAGS flags, p6IKeystore* pCerts, P6KMIP_PREF preferences ) = 0;
3155 
3177  P6COMMETHOD setSSLOptions( const P6WCHAR* pCiphers, P6SECURESOCKETFLAGS fSecureFlags ) = 0;
3178 
3200  P6COMMETHOD open( const P6WCHAR* pHost, P6UINT32 port, P6KMIP_CREDENTIAL* pCredential ) = 0;
3201 
3209  P6COMMETHOD close() = 0;
3210 
3224 
3241  P6COMMETHOD extractExtension( P6UINT16 batchIndex, P6KMIP_RESPEXTENSION* pExtension ) = 0;
3242 
3260 
3277  P6COMMETHOD addAttributes( P6UINT32 attribCount, P6KMIP_ATTRIBPARAMS* pAttributes, p6IKMIPResult** pResult ) = 0;
3278 
3297  P6COMMETHOD activateObject( P6NCSTR uniqueId, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
3298 
3317  P6COMMETHOD archiveObject( P6NCSTR uniqueId, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
3318 
3338  P6COMMETHOD cancel( P6BCSTR asynchCorrelation, P6KMIP_MSGEXTENSION* pExtension, P6KMIP_RESULT* pResult, P6UINT32* pCancelResult ) = 0;
3339 
3356  P6COMMETHOD certifyObject( P6KMIP_CERTIFYPARAMS certifyParams, P6KMIP_NEWOBJECT* pCertify, P6KMIP_RESULT* pResult ) = 0;
3357 
3374  P6COMMETHOD createKeyObject( P6KMIP_KEYPARAMS keyParams, P6KMIP_NEWOBJECT* pCreate, P6KMIP_RESULT* pResult ) = 0;
3375 
3393  P6COMMETHOD createKeyPairObjects( P6KMIP_PAIRPARAMS pairParams, P6KMIP_NEWOBJECT* pPrivate, P6KMIP_NEWOBJECT* pPublic, P6KMIP_RESULT* pResult ) = 0;
3394 
3411  P6COMMETHOD createSplitKey( P6KMIP_SPLITPARAMS keyParams, P6KMIP_NEWOBJECT* pCreate, P6KMIP_RESULT* pResult ) = 0;
3412 
3429  P6COMMETHOD joinSplitKey( P6KMIP_JOINPARAMS keyParams, P6KMIP_NEWOBJECT* pCreate, P6KMIP_RESULT* pResult ) = 0;
3430 
3452  P6COMMETHOD deleteAttributeObject( P6NCSTR uniqueId, P6NCSTR attributeName, P6INT32* pIndex, P6KMIP_MSGEXTENSION* pExtension, P6KMIP_ATTRIBRESULT* pDelResult, P6KMIP_RESULT* pResult ) = 0;
3453 
3470  P6COMMETHOD deriveKeyObject( P6KMIP_DERIVEPARAMS keyParams, P6KMIP_NEWOBJECT* pDerived, P6KMIP_RESULT* pResult ) = 0;
3471 
3490  P6COMMETHOD destroyObject( P6NCSTR uniqueId, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
3491 
3510  P6COMMETHOD discoverVersions( P6BOOL bClientVersions, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPVersions** ppVersions, P6KMIP_RESULT* pResult ) = 0;
3511 
3529 
3548 
3567  P6COMMETHOD getAttributeList( P6NCSTR uniqueId, P6KMIP_MSGEXTENSION* pExtension, P6KMIP_ATTRIBUTENAMES* pName, P6KMIP_RESULT* pResult ) = 0;
3568 
3585  P6COMMETHOD getObject( P6KMIP_GETPARAMS get, P6KMIP_MANAGED* pObject, P6KMIP_RESULT* pResult ) = 0;
3586 
3608 
3629  P6COMMETHOD getUsageAllocation( P6NCSTR uniqueId, P6UINT64 usageLimitsCount, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
3630 
3657  P6COMMETHOD checkAndGetUsageAllocation( P6KMIP_CHECKPARAMS check, P6NCSTR uniqueId, P6UINT64 usageLimitsCount, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_CHECKRESULT* pCheck, P6KMIP_RESULT* pResult ) = 0;
3658 
3675  P6COMMETHOD locateObject( P6KMIP_LOCATEPARAMS locate, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
3676 
3699 
3720  P6COMMETHOD locateAndGetObject( P6KMIP_LOCATEPARAMS locate, P6KMIP_GETPARAMS get, P6KMIP_MANAGED* pObject, P6KMIP_RESULT* pLocateResult, P6KMIP_RESULT* pGetResult ) = 0;
3721 
3740 
3761  P6COMMETHOD locateAndPageObjects( P6KMIP_LOCATEPARAMS locate, P6UINT32 offsetItems, p6IKMIPStr** ppUniqueId, P6INT32* pLocatedItems, P6KMIP_RESULT* pResult ) = 0;
3762 
3780 
3798  P6COMMETHOD modifyAttributes( P6UINT32 attribCount, P6KMIP_ATTRIBPARAMS* pAttributes, p6IKMIPResult** pResult ) = 0;
3799 
3819  P6COMMETHOD obtainLease( P6NCSTR uniqueId, P6KMIP_MSGEXTENSION* pExtension, P6KMIP_LEASE* pLease, P6KMIP_RESULT* pResult ) = 0;
3820 
3839  P6COMMETHOD poll( P6BCSTR asynchCorrelation, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPResult** pResult ) = 0;
3840 
3860  P6COMMETHOD queryServer( P6UINT32 queryCount, P6UINT32* pQueryFunctions, P6KMIP_MSGEXTENSION* pExtension, P6KMIP_SERVERINFO* pCapabilities, P6KMIP_RESULT* pResult ) = 0;
3861 
3878  P6COMMETHOD reCertifyObject( P6KMIP_CERTIFYPARAMS certifyParams, P6KMIP_NEWOBJECT* pCertify, P6KMIP_RESULT* pResult ) = 0;
3879 
3898  P6COMMETHOD recoverObject( P6NCSTR uniqueId, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
3899 
3918  P6COMMETHOD registerCertificateObject( P6KMIP_CERTPARAMS certificate, P6KMIP_NEWOBJECT* pRegResult, P6KMIP_RESULT* pResult ) = 0;
3919 
3939 
3959 
3979 
3998  P6COMMETHOD registerOpaqueObject( P6KMIP_OPAQUEPARAMS objParams, P6KMIP_NEWOBJECT* pRegResult, P6KMIP_RESULT* pResult ) = 0;
3999 
4019 
4036  P6COMMETHOD reKeyObject( P6KMIP_KEYPARAMS keyParams, P6KMIP_NEWOBJECT* pReKey, P6KMIP_RESULT* pResult ) = 0;
4037 
4055  P6COMMETHOD reKeyPairObjects( P6KMIP_PAIRPARAMS pairParams, P6KMIP_NEWOBJECT* pPrivate, P6KMIP_NEWOBJECT* pPublic, P6KMIP_RESULT* pResult ) = 0;
4056 
4077  P6COMMETHOD revokeObject( P6NCSTR uniqueId, P6KMIP_REVOCATION reason, P6TIME* pOccurenceDate, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
4078 
4099  P6COMMETHOD revokeAndDestroyObject( P6NCSTR uniqueId, P6KMIP_REVOCATION reason, P6TIME* pOccurenceDate, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPStr** ppUniqueId, P6KMIP_RESULT* pResult ) = 0;
4100 
4130  P6COMMETHOD encrypt2( P6KMIP_ENCRYPTPARAMS encryptParams, P6KMIP_CRYPTOSTREAM* pStreamState, P6KMIP_CRYPTOOUT* pCipherText, P6KMIP_RESULT* pResult ) = 0;
4131 
4161  P6COMMETHOD decrypt2( P6KMIP_ENCRYPTPARAMS decryptParams, P6KMIP_CRYPTOSTREAM* pStreamState, P6KMIP_CRYPTOOUT* pClearText, P6KMIP_RESULT* pResult ) = 0;
4162 
4191  P6COMMETHOD sign2( P6KMIP_SIGNPARAMS signParams, P6KMIP_CRYPTOSTREAM* pStreamState, P6KMIP_SIGNOUT* pCipherText, P6KMIP_RESULT* pResult ) = 0;
4192 
4221  P6COMMETHOD signatureVerify2( P6KMIP_SIGNPARAMS signParams, P6KMIP_CRYPTOSTREAM* pStreamState, P6KMIP_SIGNOUT* pClearText, P6KMIP_RESULT* pResult ) = 0;
4222 
4251  P6COMMETHOD MAC2( P6KMIP_SIGNPARAMS macParams, P6KMIP_CRYPTOSTREAM* pStreamState, P6KMIP_SIGNOUT* pCipherText, P6KMIP_RESULT* pResult ) = 0;
4252 
4281  P6COMMETHOD MACVerify2( P6KMIP_SIGNPARAMS macParams, P6KMIP_CRYPTOSTREAM* pStreamState, P6KMIP_SIGNOUT* pClearText, P6KMIP_RESULT* pResult ) = 0;
4282 
4300  P6COMMETHOD RNGRetrieve( P6INT32 dataLength, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPBinary** pData, P6KMIP_RESULT* pResult ) = 0;
4301 
4319  P6COMMETHOD RNGSeed( P6BCSTR data, P6KMIP_MSGEXTENSION* pExtension, P6INT32* pDataLength, P6KMIP_RESULT* pResult ) = 0;
4320 
4352  P6COMMETHOD hash2( P6KMIP_CRYPTOPARAMS cParams, P6BCSTR data, P6KMIP_CRYPTOSTREAM* pStreamState, P6KMIP_MSGEXTENSION* pExtension, p6IKMIPBinary** pHash, P6KMIP_RESULT* pResult ) = 0;
4353 
4370  P6COMMETHOD validate( P6KMIP_VALIDATEPARAMS chain, P6UINT32* pValidity, P6KMIP_RESULT* pResult ) = 0;
4371 
4386 
4400  P6COMMETHOD serverSupportsObject( P6UINT32 objectType ) = 0;
4401 
4413  P6COMMETHOD getResponseDOM( p6IDOMXML** pResponse ) = 0;
4414 
4428  P6COMMETHOD setProtocolVersion( const P6CHAR* pVersion ) = 0;
4429 
4450  P6COMMETHOD getClientCredentials( P6KMIP_CREDENTIAL* pOneTime, p6IKeystore* pKeystore, P6KMIP_MANAGED* pPublic ) = 0;
4451 };
4452 
4453 // {CF0EF246-9328-485c-9FD6-42D8452099BB}
4454 #define IF_p6IKMIPClient2 {0xcf0ef246,0x9328,0x485c,{0x9f,0xd6,0x42,0xd8,0x45,0x20,0x99,0xbb}}
4455 
4456 
4457 #ifdef __cplusplus
4458 }
4459 #endif
4460 
4461 } // namespace
4462 
4463 
4464 #endif
4465 
P6KMIP_TEMPLATEATTRIBUTE attributes
Definition: p6kmipclient.h:947
P6KMIP_MANAGED getObject
This interface is an enumerator that returns a list of KMIP UTF-8 text string type values...
Definition: p6kmipclient.h:153
P6KMIP_ATTRIBPARAMS.
P6KMIP_KEYWRAPPING * pWrapInfo
virtual P6R::P6ERR serverSupportsOperation(P6UINT32 opCode)=0
Does the KMIP server support the specified operation? The caller can use this function instead of cal...
P6KMIP_DOMAINPARAMS.
Definition: p6kmipencoder.h:88
P6KMIP_DOMAINPARAMS dParams
Definition: p6kmipclient.h:356
P6KMIP_CRYPTOPARAMS encryptParams
virtual P6R::P6ERR cancel(P6BCSTR asynchCorrelation, P6KMIP_MSGEXTENSION *pExtension, P6KMIP_RESULT *pResult, P6UINT32 *pCancelResult)=0
Cancel a pending KMIP server request.
P6KMIP_SIGNPARAMS.
P6KMIP_USAGELIMITS attribute.
virtual P6R::P6ERR reKeyObject(P6KMIP_KEYPARAMS keyParams, P6KMIP_NEWOBJECT *pReKey, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to re-key an existing symmetric key managed object with a set of attributes speci...
Note that the server can return a KMIP_RESULT_PENDING status in the pResult parameter.
virtual P6R::P6ERR registerCertificateObject(P6KMIP_CERTPARAMS certificate, P6KMIP_NEWOBJECT *pRegResult, P6KMIP_RESULT *pResult)=0
Register any type of certificate managed object with the connected KMIP server.
P6LONGLONG P6INT64
Definition: p6types.h:50
P6KMIP_RESPEXTENSION.
const P6KMIPFLAGS P6KMIPFLG_TRACE_HTTPHEADERS
This interface is an enumerator that returns a list of KMIP Validations supported by a KMIP server an...
Definition: p6kmipclient.h:669
This interface allows the caller to find an existing key, certificate, or blob (e.g., password) by a namespace and name pair.
Definition: p6keystore.h:646
P6KMIP_MSGEXTENSION * pExtension
virtual P6R::P6ERR checkAndGetUsageAllocation(P6KMIP_CHECKPARAMS check, P6NCSTR uniqueId, P6UINT64 usageLimitsCount, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_CHECKRESULT *pCheck, P6KMIP_RESULT *pResult)=0
This function sends the combination of a check operation followed by a get usage allocation operation...
P6KMIP_TEMPLATEATTRIBUTE attributes
Definition: p6kmipclient.h:983
p6IKMIPAttribute * pAttributes
P6KMIP_NEWOBJECT joinSplitKey
This interface is an enumerator that returns a list of KMIP Conformance Profiles supported by a KMIP ...
Definition: p6kmipclient.h:724
P6KMIP_VERSION.
P6KMIP_BLOB.
Const Binary string.
Definition: p6types.h:167
virtual P6R::P6ERR sign2(P6KMIP_SIGNPARAMS signParams, P6KMIP_CRYPTOSTREAM *pStreamState, P6KMIP_SIGNOUT *pCipherText, P6KMIP_RESULT *pResult)=0
Request the server to sign data passed in the signParams parameter with a selected key (a KMIP 1...
p6IKMIPAttribute * pTemplate
P6KMIP_NEWOBJECT privateKeyInfo
P6KMIP_MSGEXTENSION * pExtension
Definition: p6kmipclient.h:910
P6KMIP_RAWCERT rawCertificate
P6KMIP_CRYPTOSTREAM.
p6IKMIPValInfo * pValidations
Definition: p6kmipclient.h:849
virtual P6R::P6ERR registerKeyObject(P6KMIP_REGKEYPARAMS key, P6KMIP_NEWOBJECT *pRegResult, P6KMIP_RESULT *pResult)=0
Register any type of key managed object (e.g., wrapped, unwrapped, tranparent, symmetric.
virtual P6R::P6ERR count(P6UINT32 *pNumber)=0
Return to the caller the total number of items stored in the enumerator.
P6KMIP_ATTRIBRESULT deleteAttribute
P6KMIP_MSGEXTENSION * pExtension
Definition: p6kmipclient.h:930
virtual P6R::P6ERR reKeyPairObjects(P6KMIP_PAIRPARAMS pairParams, P6KMIP_NEWOBJECT *pPrivate, P6KMIP_NEWOBJECT *pPublic, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to re-key an asymmetric key pair set of managed objects with a set of attributes ...
A convience structure to pass around a narrow string along with its length.
Definition: p6types.h:214
P6KMIP_SPLITSPEC splitdef
Definition: p6kmipclient.h:946
This interface is an enumerator that returns a list of KMIP P6KMIP_VERSION values.
Definition: p6kmipclient.h:37
P6KMIP_PAIRPARAMS.
Definition: p6kmipclient.h:906
virtual P6R::P6ERR archiveObject(P6NCSTR uniqueId, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
Notify the KMIP server that the client believes that the managed cryptographic object can be archived...
virtual P6R::P6ERR open(const P6WCHAR *pHost, P6UINT32 port, P6KMIP_CREDENTIAL *pCredential)=0
Open a TCP connection to the KMIP server at Host:port or IPAddr:port.
virtual P6R::P6ERR registerTemplateObject(P6KMIP_TEMPLATEPARAMS tparams, P6KMIP_NEWOBJECT *pRegResult, P6KMIP_RESULT *pResult)=0
Register a template managed object with the connected KMIP server.
virtual P6R::P6ERR reset()=0
This method is used to re-start the enumerator at the beginning.
P6KMIP_KEYWRAPPINGDATA wrapData
virtual P6R::P6ERR destroyObject(P6NCSTR uniqueId, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
Change the state on a managed object to deactivated and remove its content from a KMIP server...
P6KMIP_TEMPLATEATTRIBUTE attributes
virtual P6R::P6ERR reset()=0
This method is used to re-start the enumerator at the beginning.
This interface provides key metadata infrormation and key access.
Definition: p6cryptokey.h:1100
p6IDHKeyExchange * pDHPubKey
P6KMIP_DERIVEPARAMS.
Definition: p6kmipclient.h:981
P6UINT32 privateKeyEncoding
virtual P6R::P6ERR getAttributes(P6KMIP_GETATTRIBPARAMS attrib, P6KMIP_ATTRIBRESULT *pGetResult, P6KMIP_RESULT *pResult)=0
Obtain one or more attributes associated with a managed object.
p6IKMIPAttribute * pAttributes
virtual P6R::P6ERR serverSupportsOperation(P6UINT32 opCode)=0
Does the KMIP server support the specified operation? The caller can use this function instead of cal...
unsigned int P6UINT32
Definition: p6types.h:40
virtual P6R::P6ERR signatureVerify2(P6KMIP_SIGNPARAMS signParams, P6KMIP_CRYPTOSTREAM *pStreamState, P6KMIP_SIGNOUT *pClearText, P6KMIP_RESULT *pResult)=0
Request the server to verify a signature over data passed in the signParams parameter with a selected...
virtual P6R::P6ERR registerSecretDataObject(P6KMIP_SECRETPARAMS secret, P6KMIP_NEWOBJECT *pRegResult, P6KMIP_RESULT *pResult)=0
Register a secret data managed object with the connected KMIP server.
virtual P6R::P6ERR checkAndGet(P6KMIP_CHECKPARAMS check, P6KMIP_GETPARAMS get, P6KMIP_MANAGED *pObject, P6KMIP_CHECKRESULT *pCheck, P6KMIP_RESULT *pResult)=0
This function sends the combination of a check operation followed by a get operation to a KMIP server...
P6R's interface of the DOM parser.
Definition: p6domxml.h:99
P6UINT32 P6KMIPFLAGS
P6KMIPFLAGS.
P6KMIP_OBJECT_X509NAME x509certificateSubject
Definition: p6kmipclient.h:360
P6KMIP_TEMPLATEATTRIBUTE * pAttributes
Definition: p6kmipclient.h:968
P6KMIP_MSGEXTENSION * pExtension
Definition: p6kmipclient.h:886
P6KMIP_ATTRIBUTENAMES.
P6KMIP_REVOCATION attribute.
P6KMIP_MSGEXTENSION.
P6KMIP_WRAPSECRETDATA.
virtual P6R::P6ERR checkAndGetUsageAllocation(P6KMIP_CHECKPARAMS check, P6NCSTR uniqueId, P6UINT64 usageLimitsCount, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_CHECKRESULT *pCheck, P6KMIP_RESULT *pResult)=0
This function sends the combination of a check operation followed by a get usage allocation operation...
p6IKMIPBinary * pAsynchCorrelation
P6KMIP_ATTRIBRESULT getAttributes
P6KMIP_MSGEXTENSION * pExtension
Definition: p6kmipclient.h:948
P6KMIP_BLOB secretData
virtual P6R::P6ERR next(P6KMIP_VALIDATION *pValidation)=0
Get the next returned server supported validation definition.
P6R's keystore component to manage keys, certificates, and blobs.
virtual P6R::P6ERR locateAndGetObject(P6KMIP_LOCATEPARAMS locate, P6KMIP_GETPARAMS get, P6KMIP_MANAGED *pObject, P6KMIP_RESULT *pLocateResult, P6KMIP_RESULT *pGetResult)=0
This function sends the combination of a locate operation followed by a get operation to a KMIP serve...
P6KMIP_TEMPLATEATTRIBUTE * pPrivateKeyAttributes
Definition: p6kmipclient.h:908
virtual P6R::P6ERR sign(P6KMIP_SIGNPARAMS signParams, P6KMIP_SIGNOUT *pCipherText, P6KMIP_RESULT *pResult)=0
Request the server to sign data passed in the signParams parameter with a selected key (a KMIP 1...
p6IKMIPStr * pUniqueId
P6KMIP_ATTRIBUTE.
virtual P6R::P6ERR count(P6UINT32 *pNumber)=0
Return to the caller the total number of items stored in the enumerator.
p6IKMIPStr * pMessage
P6KMIP_WRAPKEYBLOCK wrappedPublicKey
p6IKMIPStr * pVendorId
Definition: p6kmipclient.h:844
P6KMIP_SIGNIN.
virtual P6R::P6ERR modifyAttributeObject(P6KMIP_ATTRIBPARAMS attribute, P6KMIP_ATTRIBRESULT *pModResult, P6KMIP_RESULT *pResult)=0
Change the value of an existing attribute of a managed object, selected by the uniqueIdentifier param...
P6KMIP_SPLITPARAMS.
Definition: p6kmipclient.h:945
p6IKMIPRNGInfo * pRNGs
Definition: p6kmipclient.h:848
virtual P6R::P6ERR cancel(P6BCSTR asynchCorrelation, P6KMIP_MSGEXTENSION *pExtension, P6KMIP_RESULT *pResult, P6UINT32 *pCancelResult)=0
Cancel a pending KMIP server request.
P6KMIP_NEWOBJECT reKeyObject
P6KMIP_CRYPTOIN.
p6IKMIPStr * pUniqueId
const P6KMIPFLAGS P6KMIPFLG_TRACE_BASIC
P6KMIP_USAGELIMITS usageLimits
Definition: p6kmipclient.h:370
P6KMIP_NEWKEYPAIR.
virtual P6R::P6ERR getClientCredentials(P6KMIP_CREDENTIAL *pOneTime, p6IKeystore *pKeystore, P6KMIP_MANAGED *pPublic)=0
Given a one time user name and password the server will return the clients TLS credentials to fully a...
p6ICryptoKey * pKey
bool P6BOOL
Boolean type.
Definition: p6types.h:101
P6KMIP_ENCRYPTPARAMS.
virtual P6R::P6ERR getUsageAllocation(P6NCSTR uniqueId, P6UINT64 usageLimitsCount, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
Request from the KMIP server a usage allocation for a managed object that can provide cryptographic p...
virtual P6R::P6ERR deleteAttributeObject(P6NCSTR uniqueId, P6NCSTR attributeName, P6INT32 *pIndex, P6KMIP_MSGEXTENSION *pExtension, P6KMIP_ATTRIBRESULT *pDelResult, P6KMIP_RESULT *pResult)=0
Delete an existing attribute of a managed object, selected by the uniqueIdentifier parameter or by th...
virtual P6R::P6ERR registerSecretDataObject(P6KMIP_SECRETPARAMS secret, P6KMIP_NEWOBJECT *pRegResult, P6KMIP_RESULT *pResult)=0
Register a secret data managed object with the connected KMIP server.
P6KMIP_TEMPLATEATTRIBUTE properties
P6KMIP_MSGEXTENSION * pExtension
p6IKMIPBinary * pAlternateNames
Definition: p6kmipclient.h:276
P6KMIP_RAWKEY.
virtual P6R::P6ERR decrypt(P6KMIP_ENCRYPTPARAMS decryptParams, P6KMIP_CRYPTOOUT *pClearText, P6KMIP_RESULT *pResult)=0
Request the server to decrypt data passed in the decryptParams parameter with a selected key (a KMIP ...
P6KMIP_TEMPLATEATTRIBUTE * pAttributes
Definition: p6kmipclient.h:929
P6KMIP_PREF.
P6KMIP_NAME attribute.
Definition: p6kmipencoder.h:48
virtual P6R::P6ERR modifyAttributes(P6UINT32 attribCount, P6KMIP_ATTRIBPARAMS *pAttributes, p6IKMIPResult **pResult)=0
Modify existing attributes to a managed object(s), selected by the uniqueId parameter or by the ID pl...
P6KMIP_NEWOBJECT createObject
virtual P6R::P6ERR addAttributeObject(P6KMIP_ATTRIBPARAMS attribute, P6KMIP_ATTRIBRESULT *pAddResult, P6KMIP_RESULT *pResult)=0
Add the attribute to a managed object, selected by the uniqueIdentifier parameter or by the ID placeh...
P6KMIP_MSGEXTENSION * pExtension
P6KMIP_OBJECT_CERTNAME certificateSubject
Definition: p6kmipclient.h:363
virtual P6R::P6ERR createSplitKey(P6KMIP_SPLITPARAMS keyParams, P6KMIP_NEWOBJECT *pCreate, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to create a split key and register each split as a separate managed object (a KMI...
virtual P6R::P6ERR createSplitKey(P6KMIP_SPLITPARAMS keyParams, P6KMIP_NEWOBJECT *pCreate, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to create a split key and register each split as a separate managed object (a KMI...
virtual P6R::P6ERR destroyObject(P6NCSTR uniqueId, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
Change the state on a managed object to deactivated and remove its content from a KMIP server...
P6KMIP_NEWKEYPAIR keyPairObjects
virtual P6R::P6ERR next(P6KMIP_EXTENSION *pExtension)=0
Get the next returned server supported extension definition.
virtual P6R::P6ERR revokeObject(P6NCSTR uniqueId, P6KMIP_REVOCATION reason, P6TIME *pOccurenceDate, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
Change the state on a managed cryptographic object to either compromised or deactivated.
P6KMIP_DRIVEKEY.
P6KMIP_NEWOBJECT certifyObject
P6KMIP_DIGEST attribute.
P6KMIP_TEMPLATEATTRIBUTE attributes
p6IKMIPStr * pNamespaces
Definition: p6kmipclient.h:846
P6KMIP_KEYPARAMS.
Definition: p6kmipclient.h:928
virtual P6R::P6ERR encrypt(P6KMIP_ENCRYPTPARAMS encryptParams, P6KMIP_CRYPTOOUT *pCipherText, P6KMIP_RESULT *pResult)=0
Request the server to encrypt data passed in the encryptParams parameter with a selected key (a KMIP ...
P6UINT32 validityIndicator
P6UINT32 maxTTLVSize
P6KMIP_BLOB opaqueObject
P6UINT32 * pKeyCompression
virtual P6R::P6ERR serverSupportsObject(P6UINT32 objectType)=0
Does the KMIP server support the specified managed object (e.g., a PGP key)? The caller can use this ...
virtual P6R::P6ERR next(P6KMIP_RNGPARAMS *pRNG)=0
Get the next returned server supported RNG definition.
P6KMIP_CRYPTOPARAMS cParams
Definition: p6kmipclient.h:355
virtual P6R::P6ERR createKeyPairObjects(P6KMIP_PAIRPARAMS pairParams, P6KMIP_NEWOBJECT *pPrivate, P6KMIP_NEWOBJECT *pPublic, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to create an asymmetric key pair set of managed objects with a set of attributes ...
virtual P6R::P6ERR getAttributeList(P6NCSTR uniqueId, P6KMIP_MSGEXTENSION *pExtension, P6KMIP_ATTRIBUTENAMES *pName, P6KMIP_RESULT *pResult)=0
Obtain the list of attributes that are associated with a managed object.
P6KMIP_SIGNOUT.
p6IKMIPBinary * pServerInfo
Definition: p6kmipclient.h:845
virtual P6R::P6ERR reKeyObject(P6KMIP_KEYPARAMS keyParams, P6KMIP_NEWOBJECT *pReKey, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to re-key an existing symmetric key managed object with a set of attributes speci...
virtual P6R::P6ERR count(P6UINT32 *pNumber)=0
Return to the caller the total number of items stored in the enumerator.
P6KMIP_MSGEXTENSION * pExtension
virtual P6R::P6ERR next(P6KMIP_PROFILEINFO *pSupported)=0
Get the next returned server supported profile definition.
P6KMIP_PGPBLOB.
virtual P6R::P6ERR queryServer(P6UINT32 queryCount, P6UINT32 *pQueryFunctions, P6KMIP_MSGEXTENSION *pExtension, P6KMIP_SERVERINFO *pCapabilities, P6KMIP_RESULT *pResult)=0
Query the KMIP server to determine it capabilities If an error is returned by the server any Result M...
P6UINT32 symmetricKeyEncoding
const P6KMIPFLAGS P6KMIPFLG_TRACE_FORMATJSON
P6KMIP_SPLITKEY.
virtual P6R::P6ERR locateAndCheckObject(P6KMIP_LOCATEPARAMS locate, P6KMIP_CHECKPARAMS check, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult, P6KMIP_CHECKRESULT *pCheck)=0
This function sends the combination of a locate operation followed by a check operation to a KMIP ser...
p6IKMIPBinary * pPrimeFieldSize
P6KMIP_CERTID attribute.
P6UINT16 asynchronous
virtual P6R::P6ERR count(P6UINT32 *pNumber)=0
Return to the caller the total number of items stored in the enumerator.
P6R's interface of the DOM parser.
P6KMIP_TEMPLATEATTRIBUTE attributes
p6IKMIPProfileInfo * pProfiles
Definition: p6kmipclient.h:850
virtual P6R::P6ERR reset()=0
This method is used to re-start the enumerator at the beginning.
virtual P6R::P6ERR discoverVersions(P6BOOL bClientVersions, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPVersions **ppVersions, P6KMIP_RESULT *pResult)=0
Query the KMIP server as to what protocol versions it supports.
virtual P6R::P6ERR locateAndGetAttributes(P6KMIP_LOCATEPARAMS locate, P6KMIP_GETATTRIBPARAMS attrib, p6IKMIPResult **pResult)=0
This function sends the combination of a locate operation folloed by a get attributes operation to a ...
virtual P6R::P6ERR getAttributesAndGet(P6KMIP_GETATTRIBPARAMS attrib, P6KMIP_GETPARAMS get, p6IKMIPResult **pResult)=0
This function sends the combination of a get attributes operation followed by a get operation to a KM...
P6KMIP_CRYPTOPARAMS attribute.
Definition: p6kmipencoder.h:68
virtual P6R::P6ERR MAC2(P6KMIP_SIGNPARAMS macParams, P6KMIP_CRYPTOSTREAM *pStreamState, P6KMIP_SIGNOUT *pCipherText, P6KMIP_RESULT *pResult)=0
Request the server to calculate a MAC over data passed in the macParams parameter with a selected key...
P6KMIP_BATCHRESULT.
P6KMIP_MSGEXTENSION * pExtension
P6KMIP_OBJECT_CERTNAME certificateIssuer
Definition: p6kmipclient.h:364
P6KMIP_VALIDATION.
Definition: p6kmipclient.h:649
p6IKMIPBinary * pBlob
virtual P6R::P6ERR recoverObject(P6NCSTR uniqueId, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
Request the KMIP server to make available a managed object from an archive.
P6KMIP_OBJECT_X509NAME attribute.
Definition: p6kmipclient.h:274
virtual P6R::P6ERR count(P6UINT32 *pNumber)=0
Return to the caller the total number of items stored in the enumerator.
virtual P6R::P6ERR obtainLease(P6NCSTR uniqueId, P6KMIP_MSGEXTENSION *pExtension, P6KMIP_LEASE *pLease, P6KMIP_RESULT *pResult)=0
Request a lease on a managed object.
virtual P6R::P6ERR setProtocolVersion(const P6CHAR *pVersion)=0
This function allows the caller to change the KMIP protocol version in use.
P6KMIP_NEWOBJECT.
virtual P6R::P6ERR createKeyPairObjects(P6KMIP_PAIRPARAMS pairParams, P6KMIP_NEWOBJECT *pPrivate, P6KMIP_NEWOBJECT *pPublic, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to create an asymmetric key pair set of managed objects with a set of attributes ...
virtual P6R::P6ERR locateObject(P6KMIP_LOCATEPARAMS locate, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
Locate zero or more managed objects that match the given attributes list.
This interface is an enumerator that returns a list of KMIP binary array values.
Definition: p6kmipclient.h:206
virtual P6R::P6ERR locateAndGetAttributes(P6KMIP_LOCATEPARAMS locate, P6KMIP_GETATTRIBPARAMS attrib, p6IKMIPResult **pResult)=0
This function sends the combination of a locate operation folloed by a get attributes operation to a ...
virtual P6R::P6ERR next(P6KMIP_BATCHRESULT *pItem)=0
Iterate though one or more batch results of a previous request.
P6KMIP_SPLITKEY splitKey
P6KMIP_KEYWRAPPINGDATA wrapData
virtual P6R::P6ERR joinSplitKey(P6KMIP_JOINPARAMS keyParams, P6KMIP_NEWOBJECT *pCreate, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to create a new managed object from several parts of a split key (a KMIP 1...
P6KMIP_SIGNIN cipherOp
P6KMIP_KEYWRAPPING.
P6KMIP_APPLICATION applicationInfo
Definition: p6kmipclient.h:385
virtual P6R::P6ERR getAttributes(P6KMIP_GETATTRIBPARAMS attrib, P6KMIP_ATTRIBRESULT *pGetResult, P6KMIP_RESULT *pResult)=0
Obtain one or more attributes associated with a managed object.
P6KMIP_RESULT.
P6UINT32 initialBufCount
virtual P6R::P6ERR locateObject(P6KMIP_LOCATEPARAMS locate, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
Locate zero or more managed objects that match the given attributes list.
virtual P6R::P6ERR reCertifyObject(P6KMIP_CERTIFYPARAMS certifyParams, P6KMIP_NEWOBJECT *pCertify, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to renew an existing certificate object for an existing asymmetrick key pair...
P6KMIP_VALIDATEPARAMS.
p6IKMIPBinary * pData
const P6KMIPFLAGS P6KMIPFLG_TRACE_FORMATKMIPXML
This interface is an enumerator that returns a list of KMIP attribute values.
Definition: p6kmipclient.h:405
unsigned short int P6UINT16
Definition: p6types.h:34
P6KMIP_WRAPSECRETDATA wrappedSecretData
P6KMIP_CRYPTOOUT decrypt
p6IKMIPEnum * pObjects
Definition: p6kmipclient.h:843
virtual P6R::P6ERR setSSLOptions(const P6WCHAR *pCiphers, P6SECURESOCKETFLAGS fSecureFlags)=0
This method allows the caller to over ride the default SSL settings.
const P6KMIPFLAGS P6KMIPFLG_TRACE_FORMATBINARY
P6UINT32 publicKeyEncoding
virtual P6R::P6ERR reset()=0
This method is used to re-start the enumerator at the beginning.
P6KMIP_CREDENTIAL.
P6KMIP_ATTRIBUTE * pItemList
virtual P6R::P6ERR next(P6NCSTR *pUTF8String)=0
Iterate though the next returned eumerations from the server.
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:76
P6KMIP_MSGEXTENSION * pExtension
Definition: p6kmipclient.h:984
virtual P6R::P6ERR serverSupportsObject(P6UINT32 objectType)=0
Does the KMIP server support the specified managed object (e.g., a PGP key)? The caller can use this ...
P6KMIP_ATTRIBUTE attribute
P6KMIP_WRAPPINGSPEC * pSpec
This interface is an enumerator that returns a list of RNG Parameters supported by a KMIP server retu...
Definition: p6kmipclient.h:779
virtual P6R::P6ERR reset()=0
This method is used to re-start the enumerator at the beginning.
P6KMIP_DERIVEKEY objects
Definition: p6kmipclient.h:982
P6KMIP_MSGEXTENSION * pExtension
P6KMIP_TEMPLATEATTRIBUTE attributes
P6KMIP_NEWKEYPAIR reKeyPairObjects
P6KMIP_SECRETPARAMS.
P6KMIP_SIGNOUT MACVerify
P6KMIP_MSGEXTENSION * pExtension
P6KMIP_LINK attribute.
int P6INT32
Definition: p6types.h:41
const P6WCHAR * pSubdirectory
P6KMIP_RAWKEYBLOCK.
p6IKMIPAttribute * pAttribute
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:96
virtual P6R::P6ERR registerTemplateObject(P6KMIP_TEMPLATEPARAMS tparams, P6KMIP_NEWOBJECT *pRegResult, P6KMIP_RESULT *pResult)=0
Register a template managed object with the connected KMIP server.
P6R::P6UINT32 P6SECURESOCKETFLAGS
Definition: p6net.h:538
P6KMIP_CERTIFYPARAMS.
virtual P6R::P6ERR archiveObject(P6NCSTR uniqueId, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
Notify the KMIP server that the client believes that the managed cryptographic object can be archived...
virtual P6R::P6ERR RNGRetrieve(P6INT32 dataLength, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPBinary **pData, P6KMIP_RESULT *pResult)=0
Request the server to return a random number of a specific length (a KMIP 1.2 function).
P6KMIP_X509CERTID attribute.
Definition: p6kmipencoder.h:98
P6KMIP_NEWOBJECT deriveKeyObject
P6KMIP_CERTPARAMS.
This interface is an enumerator that returns a list of results for each batch item in a request...
virtual P6R::P6ERR createKeyObject(P6KMIP_KEYPARAMS keyParams, P6KMIP_NEWOBJECT *pCreate, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to create a symmetric key managed object with a set of attributes specified by th...
virtual P6R::P6ERR RNGRetrieve(P6INT32 dataLength, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPBinary **pData, P6KMIP_RESULT *pResult)=0
Request the server to return a random number of a specific length (a KMIP 1.2 function).
virtual P6R::P6ERR getAttributeList(P6NCSTR uniqueId, P6KMIP_MSGEXTENSION *pExtension, P6KMIP_ATTRIBUTENAMES *pName, P6KMIP_RESULT *pResult)=0
Obtain the list of attributes that are associated with a managed object.
virtual P6R::P6ERR getResponseDOM(p6IDOMXML **pResponse)=0
Extract the DOM object that contains the previous KMIP server response message.
p6IKMIPBinary * pRNGRetrieve
virtual P6R::P6ERR registerCertificateObject(P6KMIP_CERTPARAMS certificate, P6KMIP_NEWOBJECT *pRegResult, P6KMIP_RESULT *pResult)=0
Register any type of certificate managed object with the connected KMIP server.
P6KMIP_KEYBLOCK privateKey
P6KMIP_KEYBLOCK symmetricKey
This encoder function defined in this file presents the lower level interface to the generation of KM...
P6KMIP_CHECKRESULT.
virtual P6R::P6ERR MAC(P6KMIP_SIGNPARAMS macParams, P6KMIP_SIGNOUT *pCipherText, P6KMIP_RESULT *pResult)=0
Request the server to calculate a MAC over data passed in the macParams parameter with a selected key...
virtual P6R::P6ERR getValue(P6KMIP_OBJECT_ATTRIBUTE *pValue)=0
Return the value of the attribute type pointed to by the enumerator's cursor.
virtual P6R::P6ERR setAsynchronousIndicator(P6BOOL bAsynch)=0
This Boolean flag indicates whether the client is able to accept an asynchronous response.
P6KMIP_RAWCERT.
Definition: p6kmipclient.h:863
virtual P6R::P6ERR addAttributes(P6UINT32 attribCount, P6KMIP_ATTRIBPARAMS *pAttributes, p6IKMIPResult **pResult)=0
Add the attribute to a managed object(s), selected by the uniqueId parameter or by the ID placeholder...
virtual P6R::P6ERR registerOpaqueObject(P6KMIP_OPAQUEPARAMS objParams, P6KMIP_NEWOBJECT *pRegResult, P6KMIP_RESULT *pResult)=0
Register an opaque managed object with the connected KMIP server.
virtual P6R::P6ERR decrypt2(P6KMIP_ENCRYPTPARAMS decryptParams, P6KMIP_CRYPTOSTREAM *pStreamState, P6KMIP_CRYPTOOUT *pClearText, P6KMIP_RESULT *pResult)=0
Request the server to decrypt data passed in the decryptParams parameter with a selected key (a KMIP ...
P6KMIP_X509CERTID x509certificateIdentifier
Definition: p6kmipclient.h:359
virtual P6R::P6ERR count(P6UINT32 *pNumber)=0
Return to the caller the total number of items stored in the enumerator.
Binary string.
Definition: p6types.h:153
virtual P6R::P6ERR locateAndGetObject(P6KMIP_LOCATEPARAMS locate, P6KMIP_GETPARAMS get, P6KMIP_MANAGED *pObject, P6KMIP_RESULT *pLocateResult, P6KMIP_RESULT *pGetResult)=0
This function sends the combination of a locate operation followed by a get operation to a KMIP serve...
P6UINT32 connectTimeout
P6KMIP_KEYBLOCK publicKey
virtual P6R::P6ERR count(P6UINT32 *pNumber)=0
Return to the caller the total number of items stored in the enumerator.
P6KMIP_RAWKEYBLOCK rawPublicKey
virtual P6R::P6ERR poll(P6BCSTR asynchCorrelation, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPResult **pResult)=0
Poll the KMIP server to determine the result of a previous request made to the KMIP server...
P6KMIP_RNGPARAMS.
virtual P6R::P6ERR deriveKeyObject(P6KMIP_DERIVEPARAMS keyParams, P6KMIP_NEWOBJECT *pDerived, P6KMIP_RESULT *pResult)=0
Derive a symmetric key or secret data object from existing managed objects already known by a KMIP se...
virtual P6R::P6ERR extractExtension(P6UINT16 batchIndex, P6KMIP_RESPEXTENSION *pExtension)=0
Every KMIP message batch item can have a message extension returned from the server.
virtual P6R::P6ERR obtainLease(P6NCSTR uniqueId, P6KMIP_MSGEXTENSION *pExtension, P6KMIP_LEASE *pLease, P6KMIP_RESULT *pResult)=0
Request a lease on a managed object.
P6KMIP_MSGEXTENSION * pExtension
virtual P6R::P6ERR RNGSeed(P6BCSTR data, P6KMIP_MSGEXTENSION *pExtension, P6INT32 *pDataLength, P6KMIP_RESULT *pResult)=0
Request the server to seed a random number generator with the binary data in the pData parameter (a K...
virtual P6R::P6ERR next(P6KMIP_APPLICATION *pNamespace)=0
Iterate though one or more returned server supported application namespaces.
virtual P6R::P6ERR next(P6UINT32 *pType)=0
Move the cursor to the next attribute saved inside of the enumerator.
const P6KMIPFLAGS P6KMIPFLG_NOFLAGS
const P6CHAR * pVersion
p6IKMIPStr * pUniqueId
P6UINT32 maxBufferSize
This interface is an enumerator that returns a list of KMIP Extension Information values (i...
Definition: p6kmipclient.h:583
P6ULONGLONG P6UINT64
Definition: p6types.h:49
virtual P6R::P6ERR reset()=0
This method is used to re-start the enumerator at the beginning.
P6KMIP_GETPARAMS.
P6KMIP_PROFILEINFO attribute.
virtual P6R::P6ERR count(P6UINT32 *pNumber)=0
Return to the caller the total number of items stored in the enumerator.
virtual P6R::P6ERR registerMDOObject(P6KMIP_REGMDOPARAMS key, P6KMIP_NEWOBJECT *pRegResult, P6KMIP_RESULT *pResult)=0
Register a metadata-only object (MDO) with the connected KMIP server.
virtual P6R::P6ERR createKeyObject(P6KMIP_KEYPARAMS keyParams, P6KMIP_NEWOBJECT *pCreate, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to create a symmetric key managed object with a set of attributes specified by th...
P6KMIP_NEWOBJECT registerObject
virtual P6R::P6ERR reset()=0
This method is used to re-start the enumerator at the beginning.
P6KMIP_TEMPLATEATTRIBUTE * pCommonAttributes
Definition: p6kmipclient.h:907
virtual P6R::P6ERR open(const P6WCHAR *pHost, P6UINT32 port, P6KMIP_CREDENTIAL *pCredential)=0
Open a TCP connection to the KMIP server at Host:port or IPAddr:port.
virtual P6R::P6ERR revokeObject(P6NCSTR uniqueId, P6KMIP_REVOCATION reason, P6TIME *pOccurenceDate, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
Change the state on a managed cryptographic object to either compromised or deactivated.
virtual P6R::P6ERR next(P6KMIP_NAME *pName)=0
Iterate though one or more returned template names.
virtual P6R::P6ERR next2(P6UINT32 *pValue)=0
Iterate though the next returned eumerations from the server.
P6KMIP_BLOB rawObject
virtual P6R::P6ERR setAsynchronousIndicator(P6BOOL bAsynch)=0
This Boolean flag indicates whether the client is able to accept an asynchronous response.
const P6KMIPFLAGS P6KMIPFLG_SERVER_TLS
p6IKMIPBinary * pData
This component provides the basics of the key exchange calculates used in the Diffe-Hellman key excha...
P6KMIP_OPAQUEPARAMS.
P6KMIP_KEYWRAPPINGDATA wrapData
virtual P6R::P6ERR count(P6UINT32 *pNumber)=0
Return to the caller the total number of items stored in the enumerator.
P6UINT32 receiveTimeout
virtual P6R::P6ERR signatureVerify(P6KMIP_SIGNPARAMS signParams, P6KMIP_SIGNOUT *pClearText, P6KMIP_RESULT *pResult)=0
Request the server to verify a signature over data passed in the signParams parameter with a selected...
virtual P6R::P6ERR MACVerify2(P6KMIP_SIGNPARAMS macParams, P6KMIP_CRYPTOSTREAM *pStreamState, P6KMIP_SIGNOUT *pClearText, P6KMIP_RESULT *pResult)=0
Request the server to verify a MAC over data passed in the macParams parameter with a selected key (a...
virtual P6R::P6ERR getObject(P6KMIP_GETPARAMS get, P6KMIP_MANAGED *pObject, P6KMIP_RESULT *pResult)=0
Obtain the managed object associated with a unique identifier.
This interface allows the caller to access parts of an X509 V3 certificate for use in protocols and i...
Definition: p6cert.h:180
virtual P6R::P6ERR setSSLOptions(const P6WCHAR *pCiphers, P6SECURESOCKETFLAGS fSecureFlags)=0
This method allows the caller to over ride the default SSL settings.
P6KMIP_CRYTOOUT.
p6IKMIPStr * pUsageAllocation
const P6KMIPFLAGS P6KMIPFLG_DEBUG_MODE
P6KMIP_RNGPARAMS randomNumberGenerator
Definition: p6kmipclient.h:395
virtual P6R::P6ERR hash2(P6KMIP_CRYPTOPARAMS cParams, P6BCSTR data, P6KMIP_CRYPTOSTREAM *pStreamState, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPBinary **pHash, P6KMIP_RESULT *pResult)=0
Request the server to calculate a hash over data passed in the data parameter with a selected key (a ...
P6KMIP_TEMPLATEATTRIBUTE * pPublicKeyAttributes
Definition: p6kmipclient.h:909
virtual P6R::P6ERR count(P6UINT32 *pNumber)=0
Return to the caller the total number of items stored in the enumerator.
P6KMIP_ATTRIBUTENAMES getAttributeList
virtual P6R::P6ERR locateAndPageObjects(P6KMIP_LOCATEPARAMS locate, P6UINT32 offsetItems, p6IKMIPStr **ppUniqueId, P6INT32 *pLocatedItems, P6KMIP_RESULT *pResult)=0
Locate zero or more managed objects that match the given attributes list allowing the caller to page ...
virtual P6R::P6ERR reset()=0
This method is used to re-start the enumerator at the beginning.
P6KMIP_MSGEXTENSION * pExtension
Definition: p6kmipclient.h:969
virtual P6R::P6ERR close()=0
Close an existing TCP connection to the KMIP server at Host:port.
virtual P6R::P6ERR reset()=0
This method is used to re-start the enumerator at the beginning.
p6IKMIPAttribute * pAttributes
P6KMIP_RAWKEYBLOCK rawPrivateKey
p6IKMIPName * pNames
virtual P6R::P6ERR getObject(P6KMIP_GETPARAMS get, P6KMIP_MANAGED *pObject, P6KMIP_RESULT *pResult)=0
Obtain the managed object associated with a unique identifier.
P6KMIP_XATTRIB attribute.
p6IKMIPBinary * pKeyValue
Network interfaces and definitions.
p6IKMIPBinary * pHash
virtual P6R::P6ERR activateObject(P6NCSTR uniqueId, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
Change the state on a managed cryptographic object from a Pre-active to the active state...
virtual P6R::P6ERR revokeAndDestroyObject(P6NCSTR uniqueId, P6KMIP_REVOCATION reason, P6TIME *pOccurenceDate, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
First revoke and then destroy the managed object identified by the uniqueId parameter.
virtual P6R::P6ERR validate(P6KMIP_VALIDATEPARAMS chain, P6UINT32 *pValidity, P6KMIP_RESULT *pResult)=0
Validate a single certificate chain.
This interface is an enumerator that returns a list of KMIP Template Names (i.e., Section 2...
Definition: p6kmipclient.h:529
virtual P6R::P6ERR checkAndGet(P6KMIP_CHECKPARAMS check, P6KMIP_GETPARAMS get, P6KMIP_MANAGED *pObject, P6KMIP_CHECKRESULT *pCheck, P6KMIP_RESULT *pResult)=0
This function sends the combination of a check operation followed by a get operation to a KMIP server...
P6KMIP_MSGEXTENSION * pExtension
P6KMIP_MSGEXTENSION * pExtension
virtual P6R::P6ERR locateAndCheckObject(P6KMIP_LOCATEPARAMS locate, P6KMIP_CHECKPARAMS check, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult, P6KMIP_CHECKRESULT *pCheck)=0
This function sends the combination of a locate operation followed by a check operation to a KMIP ser...
P6UINT32 compatibility1
#define P6COMMETHOD
Definition: p6types.h:917
P6KMIP_OBJECT_SPLITKEY wrappedSplitKey
P6KMIP_MSGEXTENSION * pExtension
virtual P6R::P6ERR certifyObject(P6KMIP_CERTIFYPARAMS certifyParams, P6KMIP_NEWOBJECT *pCertify, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to create a certificate object for an existing public key.
virtual P6R::P6ERR queryServer(P6UINT32 queryCount, P6UINT32 *pQueryFunctions, P6KMIP_MSGEXTENSION *pExtension, P6KMIP_SERVERINFO *pCapabilities, P6KMIP_RESULT *pResult)=0
Query the KMIP server to determine it capabilities If an error is returned by the server any Result M...
P6KMIP_REGKEYPARAMS.
p6IDHKeyExchange * pDHPrivKey
P6KMIP_WRAPKEYBLOCK wrappedSymmetricKey
virtual P6R::P6ERR registerOpaqueObject(P6KMIP_OPAQUEPARAMS objParams, P6KMIP_NEWOBJECT *pRegResult, P6KMIP_RESULT *pResult)=0
Register an opaque managed object with the connected KMIP server.
P6KMIP_WRAPKEYBLOCK.
P6KMIP_NEWOBJECT reCertifyObject
P6KMIP_OBJECT_SPLITKEY splitKey
virtual P6R::P6ERR reset()=0
This method is used to re-start the enumerator at the beginning.
P6KMIP_KEYBLOCK.
virtual P6R::P6ERR count(P6UINT32 *pNumber)=0
Return to the caller the total number of items stored in the enumerator.
P6KMIP_TEMPLATEATTRIBUTE attributes
P6KMIP_NEWOBJECT publicKeyInfo
P6KMIP_OBJECT_X509NAME x509certificateIssuer
Definition: p6kmipclient.h:361
const P6KMIPFLAGS P6KMIPFLG_TRACE_FORMATXML
virtual P6R::P6ERR close()=0
Close an existing TCP connection to the KMIP server at Host:port.
virtual P6R::P6ERR getAttributesAndGet(P6KMIP_GETATTRIBPARAMS attrib, P6KMIP_GETPARAMS get, p6IKMIPResult **pResult)=0
This function sends the combination of a get attributes operation followed by a get operation to a KM...
p6IKMIPBinary * pIV
virtual P6R::P6ERR modifyAttributeObject(P6KMIP_ATTRIBPARAMS attribute, P6KMIP_ATTRIBRESULT *pModResult, P6KMIP_RESULT *pResult)=0
Change the value of an existing attribute of a managed object, selected by the uniqueIdentifier param...
virtual P6R::P6ERR hash(P6KMIP_CRYPTOPARAMS cParams, P6BCSTR data, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPBinary **pHash, P6KMIP_RESULT *pResult)=0
Request the server to calculate a hash over data passed in the data parameter with a selected key (a ...
virtual P6R::P6ERR addAttributes(P6UINT32 attribCount, P6KMIP_ATTRIBPARAMS *pAttributes, p6IKMIPResult **pResult)=0
Add the attribute to a managed object(s), selected by the uniqueId parameter or by the ID placeholder...
const P6KMIPFLAGS P6KMIPFLG_TRACE_FORMATJSONML
P6KMIP_ATTRIBRESULT modifyAttribute
virtual P6R::P6ERR discoverVersions(P6BOOL bClientVersions, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPVersions **ppVersions, P6KMIP_RESULT *pResult)=0
Query the KMIP server as to what protocol versions it supports.
P6INT64 P6TIME
The wallclock time represented as the number of microseconds since midnight January 1 1970 UTC...
Definition: p6types.h:227
P6KMIP_CAPABILITIES.
P6KMIP_PGPKEY.
P6KMIP_RAWKEYBLOCK rawSymmetricKey
This interface is an enumerator that returns a list of KMIP Application Specific Information values (...
Definition: p6kmipclient.h:474
virtual P6R::P6ERR associatedValue(P6UINT64 *pNumber)=0
Return to the caller a value that is associated with the value LAST returned by next().
P6KMIP_OBJECT_CERTNAME attribute.
Definition: p6kmipclient.h:286
P6KMIP_CHECKPARAMS.
P6KMIP_LEASE.
p6IDHKeyExchange * pDHKey
P6KMIP_MSGEXTENSION * pExtension
virtual P6R::P6ERR getUsageAllocation(P6NCSTR uniqueId, P6UINT64 usageLimitsCount, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
Request from the KMIP server a usage allocation for a managed object that can provide cryptographic p...
P6KMIP_TEMPLATEATTRIBUTE.
P6KMIP_CRYPTOOUT encrypt
const P6KMIPFLAGS P6KMIPFLG_TRACE_VERBOSE
P6KMIP_REGMDOPARAMS.
P6KMIP_TEMPLATEATTRIBUTE * pAttributes
Note that the server can return a KMIP_RESULT_PENDING status in the pResult parameter.
virtual P6R::P6ERR encrypt2(P6KMIP_ENCRYPTPARAMS encryptParams, P6KMIP_CRYPTOSTREAM *pStreamState, P6KMIP_CRYPTOOUT *pCipherText, P6KMIP_RESULT *pResult)=0
Request the server to encrypt data passed in the encryptParams parameter with a selected key (a KMIP ...
P6KMIP_ATTRIBUTE * pAttributeList
Definition: p6kmipclient.h:885
p6IKMIPAttribute * pAttributes
const P6KMIPFLAGS P6KMIPFLG_TRACE_OFF
P6KMIP_REVOCATION revocation
Definition: p6kmipclient.h:380
P6KMIP_ATTRIBRESULT.
P6KMIP_KEYWRAPPINGDATA.
virtual P6R::P6ERR registerMDOObject(P6KMIP_REGMDOPARAMS key, P6KMIP_NEWOBJECT *pRegResult, P6KMIP_RESULT *pResult)=0
Register a metadata-only object (MDO) with the connected KMIP server.
virtual P6R::P6ERR initialize(P6KMIPFLAGS flags, p6IKeystore *pCerts, P6KMIP_PREF preferences)=0
Sets up the component to run properly.
P6KMIP_JOINPARAMS.
Definition: p6kmipclient.h:963
P6KMIP_APPLICATION attribute.
virtual P6R::P6ERR poll(P6BCSTR asynchCorrelation, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPResult **pResult)=0
Poll the KMIP server to determine the result of a previous request made to the KMIP server...
p6IKMIPAttribute * pAttributes
virtual P6R::P6ERR deleteAttributeObject(P6NCSTR uniqueId, P6NCSTR attributeName, P6INT32 *pIndex, P6KMIP_MSGEXTENSION *pExtension, P6KMIP_ATTRIBRESULT *pDelResult, P6KMIP_RESULT *pResult)=0
Delete an existing attribute of a managed object, selected by the uniqueIdentifier parameter or by th...
P6KMIP_PGPBLOB pgpKey
P6KMIP_SIGNOUT signatureVerify
virtual P6R::P6ERR extractExtension(P6UINT16 batchIndex, P6KMIP_RESPEXTENSION *pExtension)=0
Every KMIP message batch item can have a message extension returned from the server.
virtual P6R::P6ERR recoverObject(P6NCSTR uniqueId, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
Request the KMIP server to make available a managed object from an archive.
virtual P6R::P6ERR modifyAttributes(P6UINT32 attribCount, P6KMIP_ATTRIBPARAMS *pAttributes, p6IKMIPResult **pResult)=0
Modify existing attributes to a managed object(s), selected by the uniqueId parameter or by the ID pl...
This interface is an enumerator that returns a list of KMIP enumeration type values.
Definition: p6kmipclient.h:85
p6IKMIPStr * pUniqueId
const P6KMIPFLAGS P6KMIPFLG_TRACE_MSGS
p6IKMIPExtInfo * pExtensions
Definition: p6kmipclient.h:847
P6KMIP_SPLITSPEC.
P6KMIP_CRYPTOPARAMS signParams
P6KMIP_OBJECT_SPLITKEY.
P6KMIP_TEMPLATEPARAMS.
virtual P6R::P6ERR registerKeyObject(P6KMIP_REGKEYPARAMS key, P6KMIP_NEWOBJECT *pRegResult, P6KMIP_RESULT *pResult)=0
Register any type of key managed object (e.g., wrapped, unwrapped, tranparent, symmetric.
virtual P6R::P6ERR deriveKeyObject(P6KMIP_DERIVEPARAMS keyParams, P6KMIP_NEWOBJECT *pDerived, P6KMIP_RESULT *pResult)=0
Derive a symmetric key or secret data object from existing managed objects already known by a KMIP se...
P6KMIP_NEWOBJECT createSplitKeyObject
P6KMIP_LOCATEPARAMS.
Definition: p6kmipclient.h:880
virtual P6R::P6ERR MACVerify(P6KMIP_SIGNPARAMS macParams, P6KMIP_SIGNOUT *pClearText, P6KMIP_RESULT *pResult)=0
Request the server to verify a MAC over data passed in the macParams parameter with a selected key (a...
P6KMIP_MSGEXTENSION * pExtension
P6KMIP_OBJECT_ATTRIBUTE.
Definition: p6kmipclient.h:346
P6KMIP_CRYPTOIN cipherOp
P6KMIP_SERVERINFO.
Definition: p6kmipclient.h:841
virtual P6R::P6ERR next(P6BSTR *pBuffer)=0
Iterate though one or more returned binary buffers from the server.
virtual P6R::P6ERR reCertifyObject(P6KMIP_CERTIFYPARAMS certifyParams, P6KMIP_NEWOBJECT *pCertify, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to renew an existing certificate object for an existing asymmetrick key pair...
P6KMIP_CHECKRESULT checkResult
virtual P6R::P6ERR reKeyPairObjects(P6KMIP_PAIRPARAMS pairParams, P6KMIP_NEWOBJECT *pPrivate, P6KMIP_NEWOBJECT *pPublic, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to re-key an asymmetric key pair set of managed objects with a set of attributes ...
virtual P6R::P6ERR validate(P6KMIP_VALIDATEPARAMS chain, P6UINT32 *pValidity, P6KMIP_RESULT *pResult)=0
Validate a single certificate chain.
P6KMIP_CERTID certificateIdentifier
Definition: p6kmipclient.h:362
P6KMIP_CAPABILITIES capabilities
Definition: p6kmipclient.h:852
virtual P6R::P6ERR addAttributeObject(P6KMIP_ATTRIBPARAMS attribute, P6KMIP_ATTRIBRESULT *pAddResult, P6KMIP_RESULT *pResult)=0
Add the attribute to a managed object, selected by the uniqueIdentifier parameter or by the ID placeh...
P6KMIP_WRAPPINGSPEC.
virtual P6R::P6ERR count(P6UINT32 *pNumber)=0
Return to the caller the total number of items stored in the enumerator.
P6KMIP_MANAGED.
virtual P6R::P6ERR joinSplitKey(P6KMIP_JOINPARAMS keyParams, P6KMIP_NEWOBJECT *pCreate, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to create a new managed object from several parts of a split key (a KMIP 1...
P6UINT32 sendTimeout
p6IKMIPStr * pUniqueId
P6KMIP_GETATTRIBPARAMS.
P6UINT32 * pSecretDataType
Definition: p6kmipclient.h:967
P6KMIP_WRAPPEDKEY.
virtual P6R::P6ERR initialize(P6KMIPFLAGS flags, p6IKeystore *pCerts, P6KMIP_PREF preferences)=0
Sets up the component to run properly.
P6KMIP_ATTRIBRESULT addAttribute
P6KMIP_WRAPKEYBLOCK wrappedPrivateKey
p6IKMIPEnum * pRegMethods
Definition: p6kmipclient.h:851
P6KMIP_WRAPPEDKEY wrapKey
p6IKMIPEnum * pOperations
Definition: p6kmipclient.h:842
virtual P6R::P6ERR activateObject(P6NCSTR uniqueId, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
Change the state on a managed cryptographic object from a Pre-active to the active state...
virtual P6R::P6ERR certifyObject(P6KMIP_CERTIFYPARAMS certifyParams, P6KMIP_NEWOBJECT *pCertify, P6KMIP_RESULT *pResult)=0
Ask the KMIP server to create a certificate object for an existing public key.
p6IKMIPBinary * pBlob
virtual P6R::P6ERR getResponseDOM(p6IDOMXML **pResponse)=0
Extract the DOM object that contains the previous KMIP server response message.
virtual P6R::P6ERR next(P6KMIP_VERSION *pSupported)=0
Iterate though one or more returned server supported versopns.
virtual P6R::P6ERR reset()=0
This method is used to re-start the enumerator at the beginning.
virtual P6R::P6ERR revokeAndDestroyObject(P6NCSTR uniqueId, P6KMIP_REVOCATION reason, P6TIME *pOccurenceDate, P6KMIP_MSGEXTENSION *pExtension, p6IKMIPStr **ppUniqueId, P6KMIP_RESULT *pResult)=0
First revoke and then destroy the managed object identified by the uniqueId parameter.
char P6CHAR
Narrow character type.
Definition: p6types.h:71
P6KMIP_EXTENSION.
p6IKMIPBinary * pBlob
P6KMIP_MSGEXTENSION * pExtension
virtual P6R::P6ERR reset()=0
This method is used to re-start the enumerator at the beginning.
virtual P6R::P6ERR RNGSeed(P6BCSTR data, P6KMIP_MSGEXTENSION *pExtension, P6INT32 *pDataLength, P6KMIP_RESULT *pResult)=0
Request the server to seed a random number generator with the binary data in the pData parameter (a K...
virtual P6R::P6ERR next(P6NCSTR *pUTF8String)=0
Iterate though one or more returned strings from the server.