21 #ifndef P6KMIPENCODER_H__
22 #define P6KMIPENCODER_H__ 1
338 static const P6UINT8 KMIP_ATTRIB_UNIQUEIDENTIFIER = 1;
339 static const P6UINT8 KMIP_ATTRIB_NAME = 2;
340 static const P6UINT8 KMIP_ATTRIB_OBJECTTYPE = 3;
341 static const P6UINT8 KMIP_ATTRIB_CRYPTOALGORITHM = 4;
342 static const P6UINT8 KMIP_ATTRIB_CRYPTOLENGTH = 5;
343 static const P6UINT8 KMIP_ATTRIB_CRYPTOPARAMS = 6;
344 static const P6UINT8 KMIP_ATTRIB_CRYPTODOMAINPARAMS = 7;
345 static const P6UINT8 KMIP_ATTRIB_CERTIFICATETYPE = 8;
346 static const P6UINT8 KMIP_ATTRIB_CERTIFICATELENGTH = 9;
347 static const P6UINT8 KMIP_ATTRIB_X509CERTIFICATEIDENTIFIER = 10;
348 static const P6UINT8 KMIP_ATTRIB_X509CERTIFICATESUBJECT = 11;
349 static const P6UINT8 KMIP_ATTRIB_X509CERTIFICATEISSUER = 12;
350 static const P6UINT8 KMIP_ATTRIB_CERTIFICATEIDENTIFIER = 13;
351 static const P6UINT8 KMIP_ATTRIB_CERTIFICATESUBJECT = 14;
352 static const P6UINT8 KMIP_ATTRIB_CERTIFICATEISSUER = 15;
353 static const P6UINT8 KMIP_ATTRIB_DIGITALSIGALG = 16;
354 static const P6UINT8 KMIP_ATTRIB_DIGEST = 17;
355 static const P6UINT8 KMIP_ATTRIB_OPERATIONPOLICYNAME = 18;
356 static const P6UINT8 KMIP_ATTRIB_CRYPTOUSAGEMASK = 19;
357 static const P6UINT8 KMIP_ATTRIB_LEASETIME = 20;
358 static const P6UINT8 KMIP_ATTRIB_USAGELIMITS = 21;
359 static const P6UINT8 KMIP_ATTRIB_STATE = 22;
360 static const P6UINT8 KMIP_ATTRIB_INITIALDATE = 23;
361 static const P6UINT8 KMIP_ATTRIB_ACTIVATIONDATE = 24;
362 static const P6UINT8 KMIP_ATTRIB_PROCESSSTARTDATE = 25;
363 static const P6UINT8 KMIP_ATTRIB_PROTECTSTOPDATE = 26;
364 static const P6UINT8 KMIP_ATTRIB_DEACTIVATIONDATE = 27;
365 static const P6UINT8 KMIP_ATTRIB_DESTROYDATE = 28;
366 static const P6UINT8 KMIP_ATTRIB_COMPROMISEOCCURANCEDATE = 29;
367 static const P6UINT8 KMIP_ATTRIB_COMPROMISEDATE = 30;
368 static const P6UINT8 KMIP_ATTRIB_REVOCATION = 31;
369 static const P6UINT8 KMIP_ATTRIB_ARCHIVEDATE = 32;
370 static const P6UINT8 KMIP_ATTRIB_OBJECTGROUP = 33;
371 static const P6UINT8 KMIP_ATTRIB_FRESH = 34;
372 static const P6UINT8 KMIP_ATTRIB_LINK = 35;
373 static const P6UINT8 KMIP_ATTRIB_APPLICATIONINFO = 36;
374 static const P6UINT8 KMIP_ATTRIB_CONTACTINFORMATION = 37;
375 static const P6UINT8 KMIP_ATTRIB_LASTCHANGEDATE = 38;
376 static const P6UINT8 KMIP_ATTRIB_CUSTOM = 39;
377 static const P6UINT8 KMIP_ATTRIB_ALTERNATIVENAME = 40;
378 static const P6UINT8 KMIP_ATTRIB_KEYVALUEPRESENT = 41;
379 static const P6UINT8 KMIP_ATTRIB_KEYVALELOCATION = 42;
380 static const P6UINT8 KMIP_ATTRIB_ORIGCREATIONDATE = 43;
381 static const P6UINT8 KMIP_ATTRIB_EXTENSION = 44;
382 static const P6UINT8 KMIP_ATTRIB_NOVALUE = 45;
383 static const P6UINT8 KMIP_ATTRIB_RNG = 46;
384 static const P6UINT8 KMIP_ATTRIB_DESCRIPTION = 47;
385 static const P6UINT8 KMIP_ATTRIB_COMMENTS = 48;
386 static const P6UINT8 KMIP_ATTRIB_PKCS12_FRIENDLYNAME = 49;
387 static const P6UINT8 KMIP_ATTRIB_CERTSUBJECT_CN = 50;
388 static const P6UINT8 KMIP_ATTRIB_CERTSUBJECT_O = 51;
389 static const P6UINT8 KMIP_ATTRIB_CERTSUBJECT_OU = 52;
390 static const P6UINT8 KMIP_ATTRIB_CERTSUBJECT_EMAIL = 53;
391 static const P6UINT8 KMIP_ATTRIB_CERTSUBJECT_C = 54;
392 static const P6UINT8 KMIP_ATTRIB_CERTSUBJECT_ST = 55;
393 static const P6UINT8 KMIP_ATTRIB_CERTSUBJECT_L = 56;
394 static const P6UINT8 KMIP_ATTRIB_CERTSUBJECT_UID = 57;
395 static const P6UINT8 KMIP_ATTRIB_CERTSUBJECT_SERIALNUM = 58;
396 static const P6UINT8 KMIP_ATTRIB_CERTSUBJECT_TITLE = 59;
397 static const P6UINT8 KMIP_ATTRIB_CERTSUBJECT_DC = 60;
398 static const P6UINT8 KMIP_ATTRIB_CERTSUBJECT_DNQUALIFIER = 61;
399 static const P6UINT8 KMIP_ATTRIB_CERTISSUER_CN = 62;
400 static const P6UINT8 KMIP_ATTRIB_CERTISSUER_O = 63;
401 static const P6UINT8 KMIP_ATTRIB_CERTISSUER_OU = 64;
402 static const P6UINT8 KMIP_ATTRIB_CERTISSUER_EMAIL = 65;
403 static const P6UINT8 KMIP_ATTRIB_CERTISSUER_C = 66;
404 static const P6UINT8 KMIP_ATTRIB_CERTISSUER_ST = 67;
405 static const P6UINT8 KMIP_ATTRIB_CERTISSUER_L = 68;
406 static const P6UINT8 KMIP_ATTRIB_CERTISSUER_UID = 69;
407 static const P6UINT8 KMIP_ATTRIB_CERTISSUER_SERIALNUM = 70;
408 static const P6UINT8 KMIP_ATTRIB_CERTISSUER_TITLE = 71;
409 static const P6UINT8 KMIP_ATTRIB_CERTISSUER_DC = 72;
410 static const P6UINT8 KMIP_ATTRIB_CERTISSUER_DNQUALIFIER = 73;
411 static const P6UINT8 KMIP_ATTRIB_SENSITIVE = 74;
412 static const P6UINT8 KMIP_ATTRIB_ALWAYS_SENSITIVE = 75;
413 static const P6UINT8 KMIP_ATTRIB_EXTRACTABLE = 76;
414 static const P6UINT8 KMIP_ATTRIB_NEVER_EXTRACTABLE = 77;
415 static const P6UINT8 KMIP_ATTRIB_VENDOR = 78;
416 static const P6UINT8 KMIP_ATTRIB_SHORTUNIQUEID = 79;
417 static const P6UINT8 KMIP_ATTRIB_NIST_KEYTYPE = 80;
912 static const P6UINT8 KMIP_STREAM_INITIAL = 1;
913 static const P6UINT8 KMIP_STREAM_UPDATE = 2;
914 static const P6UINT8 KMIP_STREAM_FINAL = 3;
1051 } P6KMIP_CREDENTIAL;
1095 } P6KMIP_IMPORTOBJECT;
1112 static const P6UINT8 KMIP_CUST_NONE = 0x00;
1113 static const P6UINT8 KMIP_CUST_DISABLE_MAXSIZE = 0x01;
1114 static const P6UINT8 KMIP_CUST_DISABLE_TIMESTAMP = 0x02;
1115 static const P6UINT8 KMIP_CUST_DISABLE_BATCHITEMID = 0x04;
1116 static const P6UINT8 KMIP_CUST_FORCE_BATCHORDER = 0x08;
1451 } P6KMIP_ATTRIB_REFERENCE;
1477 static const P6KMIPENCODERFLAGS P6KMIPENCODER_NOFLAGS = 0x00000000;
1478 static const P6KMIPENCODERFLAGS P6KMIPENCODER_TRACEON = 0x00000001;
1490 #define INTERFACE p6IKMIPRequest
2780 #define IF_p6IKMIPRequest {0xb972a9bf,0xf0c,0x4f40,{0x85,0x91,0xcb,0x6d,0xdf,0x80,0x79,0x90}}
2795 #define INTERFACE p6IKMIPRequest2
4135 #define IF_p6IKMIPRequest2 {0x2e3a3a14,0xbad4,0x4399,{0x97,0xca,0xd,0x91,0x58,0x34,0x84,0x6d}}
4146 #define INTERFACE p6IKMIPRequest3
5550 #define IF_p6IKMIPRequest3 {0x56198fa9,0x6b0a,0x40fd,{0x86,0xcd,0xa0,0xe9,0xd1,0xd,0x95,0xcc}}
5560 #define INTERFACE p6IKMIPRequest4
6971 #define IF_p6IKMIPRequest4 {0x5a745ed4,0x9df5,0x4791,{0x86,0x31,0xc8,0xc,0x90,0xd,0x9f,0xf}}
6985 #define INTERFACE p6IKMIPResponse
7789 #define IF_p6IKMIPResponse {0xffb702bb,0x8ff4,0x423e,{0x9e,0x4d,0xa0,0xe8,0xd0,0x8b,0x42,0x33}}
7802 #define INTERFACE p6IKMIPResponse2
8932 #define IF_p6IKMIPResponse2 {0xe452ee43,0x9111,0x42ac,{0xac,0xa9,0xf8,0x37,0x57,0xed,0x67,0xd}}
8974 static const P6KMIPVERSION P6KMIP_VERSION_10 = 0;
8975 static const P6KMIPVERSION P6KMIP_VERSION_11 = 1;
8976 static const P6KMIPVERSION P6KMIP_VERSION_12 = 2;
8977 static const P6KMIPVERSION P6KMIP_VERSION_13 = 3;
8978 static const P6KMIPVERSION P6KMIP_VERSION_14 = 4;
8979 static const P6KMIPVERSION P6KMIP_VERSION_20 = 5;
8993 #define INTERFACE p6IKMIPEncoder
9030 #define IF_p6IKMIPEncoder {0x9d517a85,0xbc81,0x4bf8,{0xb2,0xfd,0xfb,0x67,0x9a,0x9b,0xc9,0xa3}}
9033 #define COMP_p6KMIPEncoder {0x7e0bab5e,0xb69f,0x4bcd,{0x8c,0xa1,0x9d,0x40,0xec,0xc,0x44,0xd9}}
P6KMIP_X509CERTNAME attribute.
P6INT32 parentStructureTag
P6KMIP_CERTNAME attribute.
P6NCSTR certificateIssuerDC
P6KMIP_USAGELIMITS attribute.
P6BOOL * pAttestationIndicator
P6NCSTR certificateIssuerOU
P6KMIP_NAME alternativeName
P6TIME originalCreationDate
P6INT32 predictionResistance
A convience structure to pass around a narrow string along with its length.
P6BCSTR authenticatedEncryptionTag
P6UINT32 FIPS186Variation
P6KMIP_CRYPTOPARAMS * pParams
This interface provides key metadata infrormation and key access.
P6KMIP_CERTID certificateIdentifier
P6KMIP_ATTRIBUTE * pAttributeList
P6KMIP_CAPABILITIES * pCapabilities
P6NCSTR operationPolicyName
P6KMIP_REVOCATION attribute.
This interface is used to create / encode the construction of a KMIP message as defined in Key Manage...
P6KMIP_WRAPPEDSECRET wrapSecret
P6NCSTR certificateSubjectSerialNumber
P6KMIP_REVOCATION revocation
P6NCSTR serverCorrelation
P6NCSTR certificateSubjectCN
unsigned char P6BOOL
Boolean type.
P6KMIP_VENDOR attribute (KMIP 2.0)
P6UINT32 publicKeyEncoding
P6KMIP_ATTRIB_REFERENCE (KMIP 2.0)
P6NCSTR certificateIssuerCN
This factory interface is responsible for creating and managing memory pooled Io Buffers (p6IIoBuffer...
P6UINT32 * pInitialCounterValue
P6NCSTR certificateSubjectUID
P6UINT32 maskGeneratorHashAlg
P6NCSTR certificateIssuerUID
P6NCSTR certificateSubjectDC
P6NCSTR distinguishedName
This interface is used to create / encode the construction of a KMIP request message as defined in Ke...
P6UINT32 symmetricKeyEncoding
P6NCSTR clientCorrelationValue
P6KMIP_CRYPTOPARAMS params
P6KMIP_RNGPARAMS randomNumberGenerator
P6NCSTR certificateIssuerSerialNumber
P6KMIP_CRYPTOPARAMS attribute.
This interface is used to create / encode the construction of a KMIP response message as defined in K...
P6KMIP_ATTRIBUTE * pAttributeList
P6KMIP_CERTNAME certificateSubject
P6UINT32 * pAttestationTypes
P6KMIP_RAWCERT rawCertificate
P6UINT32 shreddingAlgorithm
P6NCSTR certificateSubjectST
P6NCSTR certificateIssuerTitle
P6UINT32 * pInvocationFieldLength
P6UINT32 digitalSignatureAlg
P6KMIP_WRAPPEDKEY wrapKey
P6KMIP_KEYWRAPPING * pWrapInfo
p6IDHKeyExchange * pDHPrivKey
Interface definition for Diffe-Hellman Key Exchange References: 1) RFC 4253, SSH Transport Layer Prot...
P6UINT32 hashingAlgorithm
P6BOOL * pBatchOrderOption
The base interface all [p6]COM components must derive from and implement.
P6KMIP_KEYWRAPPING * pWrapInfo
P6KMIP_ATTRIBUTES (KMIP 2.0)
P6KMIP_APPLICATION applicationInfo
P6KMIP_X509CERTID attribute.
P6UINT32 privateKeyEncoding
P6KMIP_KEYWRAPPING wrapInfo
P6NCSTR certificateIssuerC
P6KMIP_CRYPTOPARAMS * pParams
P6NCSTR certificateSubjectOU
This interface is used to create / encode the construction of a KMIP request message as defined in Ke...
P6UINT32 * pAttestationTypes
P6NCSTR certificateIssuerEmail
P6NCSTR certificateIssuerST
P6NCSTR certificateSubjectC
P6NCSTR certificateIssuerDNQualifier
P6UINT32 recommendedCurve
P6KMIP_ATTRIBUTE * pAttributeList
Interface definition for X509 V3 Certificates.
P6NCSTR PKCS12FriendlyName
P6NCSTR certificateSubjectO
P6NCSTR replacedIdentifier
P6INT32 certificateLength
P6KMIP_EXTENSION * pExtension
P6NCSTR * pAttributeNames
P6KMIP_PROFILEINFO attribute.
P6UINT32 P6KMIPVERSION
P6KMIPVERSION.
P6KMIP_NAME keyValueLocation
P6KMIP_CREDENTIAL * pCredential
This component provides the basics of the key exchange calculates used in the Diffe-Hellman key excha...
P6KMIP_KEYWRAPPING * pWrapInfo
This interface is used to create / encode the construction of a KMIP request message as defined in Ke...
P6BCSTR distinguishedName
P6KMIP_ATTRIB_BYVENDOR vendor
P6NCSTR clientCorrelation
This interface allows the caller to access parts of an X509 V3 certificate for use in protocols and i...
P6KMIP_ATTRIBUTE * pAttributeList
P6KMIP_PROFILEINFO * pProfiles
P6KMIP_CERTNAME certificateIssuer
p6IDHKeyExchange * pDHPubKey
P6UINT32 cryptographicAlg
P6KMIP_XATTRIB attribute.
P6NCSTR contactInformation
P6KMIP_SETVALIDATION * pValidations
P6NCSTR certificateIssuerL
#define P6DECLCOMMETHOD(method)
P6KMIP_USAGELIMITS usageLimits
P6INT64 P6TIME
The wallclock time represented as the number of microseconds since midnight January 1 1970 UTC...
P6KMIP_SERVER_INFO2 * pServerInformation
P6KMIP_TEMPLATEATTRIBUTE.
P6KMIP_DOMAINPARAMS dParams
P6UINT32 P6KMIPENCODERFLAGS
P6KMIPENCODERFLAGS.
P6KMIP_X509CERTNAME x509certificateIssuer
P6KMIP_APPLICATION attribute.
P6KMIP_CRYPTOPARAMS cParams
P6KMIP_CERTREQUEST certificateRequest
P6KMIP_CRYPTOPARAMS params
P6UINT32 * pFixedFieldLength
P6KMIP_ATTESTATION attestation
P6NCSTR certificateSubjectTitle
P6NCSTR * pUniqueIdentifers
P6NCSTR certificateSubjectDNQualifier
P6KMIP_ATTRIBUTE * pAttributeList
Interfaces for wallclock and interval time.
P6KMIP_CRED_EXT1 extension1
P6NCSTR certificateIssuerO
P6UINT32 * pMaxResponseSize
P6BOOL * pAsynchIndicator
P6NCSTR certificateSubjectL
P6UINT32 * pRegistrationMethods
P6NCSTR certificateSubjectEmail
P6KMIP_X509CERTNAME x509certificateSubject
P6UINT32 * pCounterLength
P6KMIP_X509CERTID x509certificateIdentifier
P6NCSTR vendorIdentification
P6UINT32 * pBatchErrorOption
This interface is used to create / encode the construction of a KMIP request message as defined in Ke...
This interface is used to create / encode the construction of a KMIP response message as defined in K...
#define P6DECLAREIF_(iface, baseif)
P6R Cryptographic key interface definitions.
P6BCSTR authenticatedEncryptionAdditionalData