10 #ifndef P6KEYSTORE_H__
11 #define P6KEYSTORE_H__ 1
38 static const P6KEYSTOREFLAGS P6KEYSTORE_NOFLAGS = 0x00000000;
39 static const P6KEYSTOREFLAGS P6KEYSTORE_RECOVERBADSIG = 0x00000001;
40 static const P6KEYSTOREFLAGS P6KEYSTORE_NOLOADMETA = 0x00000002;
64 #define P6KSMAXNAMESPACE 500
65 #define P6KSMAXNAME 500
66 #define P6KSMAXLINKTYPE 300
67 #define P6KSMAXLINKMETA 300
68 #define P6KSMAXATTRIBNAME 300
69 #define P6KSMAXATTRIBSTR 500
151 } P6KEYSTORE_ATTRIBUTE;
161 #define INTERFACE p6IEnumKeystore
192 #define IF_p6IEnumKeystore {0x2fea7c69,0xc0cf,0x4a80,{0x84,0x2f,0x1,0x97,0x4b,0x79,0xeb,0xda}}
201 #define INTERFACE p6IEnumKeystoreAttrib
232 #define IF_p6IEnumKeystoreAttrib {0x2a52d3f3,0xf42c,0x4a0b,{0xae,0x85,0xb0,0xaa,0xcc,0x82,0xb4,0xbf}}
242 #define INTERFACE p6IKeystoreQuery
526 #define IF_p6IKeystoreQuery {0xb3541c2e,0x703e,0x416d,{0xb0,0xcd,0x30,0x35,0xa7,0xb7,0x60,0x98}}
539 #define INTERFACE p6IKeystoreInit
644 #define IF_p6IKeystoreInit {0xCE121684,0x4E87,0x63FD,{0xBF,0xA6,0xAF,0x86,0xBE,0x5C,0x6D,0xA5}}
663 #define INTERFACE p6IKeystore
1213 #define IF_p6IKeystore {0x6ecb5d85,0x2751,0x49ad,{0x99,0xda,0x2a,0xa1,0x73,0xfc,0x27,0x37}}
1216 #define COMP_p6Keystore {0xc65cdff1,0x4e4a,0x4bba,{0x9e,0x38,0x12,0x73,0xc8,0x89,0x5e,0xf}}
1225 #define INTERFACE p6IKeystoreQuery2
1586 #define IF_p6IKeystoreQuery2 {0x319939ea,0xc0f5,0x4ad1,{0xb4,0x1,0xd1,0xef,0x9,0xaa,0x18,0x2c}}
1607 #define INTERFACE p6IKeystore2
2245 #define IF_p6IKeystore2 {0x8b158122,0x6543,0x45c3,{0xa8,0x4e,0xb2,0x74,0x4,0x5b,0xac,0x9c}}
2257 #define INTERFACE p6IKeystore3
2900 #define IF_p6IKeystore3 {0x0FF257BE,0x43BD,0x41D2,{0x7E,0xC5,0x51,0x62,0x1C,0x8C,0xC4,0x8D}}
2913 #define INTERFACE p6IKeystore4
3654 #define IF_p6IKeystore4 {0x7dd7bc7f,0x6ec3,0x4e26,{0xb8,0xf4,0x1b,0x16,0x88,0x64,0x4a,0xc0}}
3664 #define INTERFACE p6IKeystoreComplexQuery
3688 #define IF_p6IKeystoreComplexQuery {0x165c1e5e,0x340f,0x4d0a,{0xb7,0xf1,0xf2,0xf5,0x2e,0x9a,0xf3,0xc}}
3706 #define INTERFACE p6IKeystoreSSL
3970 #define IF_p6IKeystoreSSL {0xCAFAF35E,0xF45D,0x4D4A,{0x85,0xD0,0xE3,0x23,0xA9,0x99,0xFC,0x55}}
3981 #define INTERFACE p6IKeystoreSSL2
4511 #define IF_p6IKeystoreSSL2 {0x4550F136,0x49B3,0x6FA0,{0x0B,0x55,0xB7,0x97,0x69,0x9F,0x15,0x39}}
4519 #define P6_KEYSTORE_SERVICE_INTERFACE "p6r.com.p6IKeystore.Global"
P6SIGNHMAC
Supported HMAC algorthms for signing:
<div class="p6box"> This interface has been depricated in favor of p6IKeystore3.
Cryptography component definitions.
This interface provides key metadata infrormation and key access.
P6KEYSTORE_TYPE sourceType
This is an often used construct where an application needs to provide an unknown number of wide strin...
P6UINT32 P6KEYSTOREFLAGS
P6KEYSTOREFLAGS.
This interface allows the caller to find an existing key, certificate, or blob (e.g., password) by a namespace and name pair.
This interface allows the user to enumerate keys or certificates based on different sets of meta data...
<div class="p6box"> This interface has been depricated in favor of p6IKeystore3.
P6CRYPTOKEYCLASS
Used to categorize keys:
unsigned char P6BOOL
Boolean type.
P6KEYSTORE_TYPE
Value indicates the type of data returned in a P6R::p6IEnumKeystore enumerator.
<div class="p6box"> This interface has been depricated in favor of p6IKeystoreSSL2.
This interface allows the caller to find an existing key, certificate, or blob (e.g., password) by a namespace and name pair.
P6CRYPTOCIPHER
Cipher Type.
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Interface definitions for symmetric key encryption.
The base interface all [p6]COM components must derive from and implement.
#define P6KSMAXATTRIBNAME
The p6IEnumKeystore returns this type in order to distinguish between the keys, certs, blobs, and links that can all be stored in the same keystore.
This interface is a general purpose string enumerator.
P6CRYPTOKEYSTATE
The current state of the key as defined in: NIST DRAFT Special Publication 800-130, A Framework for Designing Cryptographic Key Management Systems, June 15, 2010.
Interface definition for X509 V3 Certificates.
A universally unique indentifier (UUID).
This enumerator allows the caller to get a list of all defined entries that exist in the openned keys...
This interface allows the caller to access parts of an X509 V3 certificate for use in protocols and i...
Provide SSL related helper methods to make it easier to store SSL client and server certificates in t...
#define P6DECLCOMMETHOD(method)
This interface provides symmetric key encryption/decryption using AES, Blowfish, CAST5 DES and varian...
P6INT64 P6TIME
The wallclock time represented as the number of microseconds since midnight January 1 1970 UTC...
A key, certificate, and blob can have any number of associated attributes.
The p6IKeystore interface uses the following definition for link retrival.
This enumerator allows the caller to get a list of all defined attributes associated with a specific ...
Interface definition for the cryptographic signature generation and verification. ...
P6KEYSTORE_TYPE targetType
This interface allows the user to build complex queries of multiple attributes at the same time to pe...
This interface allows the user to enumerate keys or certificates based on different sets of meta data...
char P6CHAR
Narrow character type.
This interface is used to create/open/manage the keystore.
#define P6DECLAREIF_(iface, baseif)
P6R Cryptographic key interface definitions.