Binary support in shared libraries

This commit is contained in:
Jim Norman
2005-12-09 17:42:13 +00:00
parent c30b2b3195
commit f0946f22d5
12 changed files with 854 additions and 51 deletions

View File

@@ -461,6 +461,22 @@ miCASAWriteKey
SSCS_EXT_T * ext
);
SSCS_EXTERN_LIBCALL(int32_t)
miCASAReadBinaryKey
(
void * context,
uint32_t ssFlags,
SSCS_KEYCHAIN_ID_T * keyChainID,
SSCS_SECRET_ID_T * sharedSecretID,
SS_UTF8_T * key,
uint32_t keyLen,
uint8_t * val,
uint32_t * valLen,
SSCS_PASSWORD_T * epPassword,
uint32_t * bytesRequired,
SSCS_EXT_T * ext
);
SSCS_EXTERN_LIBCALL(int32_t)
miCASASetMasterPasscode
(

View File

@@ -89,6 +89,7 @@ typedef unsigned char SS_UTF8_T;
// used to denote what structure is being used for the credentials
#define SSCS_CRED_TYPE_BASIC_F 0x00000001L
#define SSCS_CRED_TYPE_BINARY_F 0x00000002L
// used to denote the type of username being requested or set
#define USERNAME_TYPE_CN_F 0x00000000L // default behavior
@@ -113,7 +114,15 @@ typedef struct _sscs_basic_credential
uint32_t pwordLen;
SS_UTF8_T password[NSSCS_MAX_PWORD_LEN];
} SSCS_BASIC_CREDENTIAL;
typedef struct _sscs_binary_credential
{
uint32_t idLen;
SS_UTF8_T id[NSSCS_MAX_SECRET_ID_LEN];
uint32_t *dataLen;
uint8_t *data;
} SSCS_BINARY_CREDENTIAL;
typedef struct _sscs_ext_t
{

View File

@@ -444,16 +444,45 @@ int sscs_UnlockCache
int sscs_CacheWriteKey
(
void *ssHandle,
uint32_t ssFlags,
void *ssHandle,
uint32_t ssFlags,
SSCS_KEYCHAIN_ID_T *keyChainID,
SSCS_SECRET_ID_T *secretID,
SS_UTF8_T *key,
uint32_t keyLen,
uint8_t *val,
uint32_t valLen,
SS_UTF8_T *key,
uint32_t keyLen,
uint8_t *val,
int32_t valLen,
SSCS_PASSWORD_T *epPassword,
void *reserved
);
int sscs_CacheWriteBinaryKey
(
void *ssHandle,
uint32_t ssFlags,
SSCS_KEYCHAIN_ID_T *keyChainID,
SSCS_SECRET_ID_T *secretID,
SS_UTF8_T *key,
uint32_t keyLen,
uint8_t *val,
uint32_t valLen,
SSCS_PASSWORD_T *epPassword,
void *reserved
void *reserved
);
int sscs_CacheReadBinaryKey
(
void *ssHandle,
uint32_t ssFlags,
SSCS_KEYCHAIN_ID_T *keychainID,
SSCS_SECRET_ID_T *secretID,
SS_UTF8_T *key,
uint32_t keyLen,
uint8_t *val,
uint32_t *valLen,
SSCS_PASSWORD_T *epPassword,
uint32_t *bytesRequired,
void *reserved
);
int32_t sscs_SetMasterPasscode

View File

@@ -153,12 +153,39 @@ int ipc_ReadKey
SS_UTF8_T *key,
uint32_t keyLen,
uint8_t *val,
uint32_t valLen,
uint32_t *valLen,
SSCS_PASSWORD_T *epPassword,
uint32_t *bytesRequired
);
int ipc_WriteKey
(
SSCS_SECRETSTORE_HANDLE_T *ssHandle,
uint32_t ssFlags,
SSCS_KEYCHAIN_ID_T *keychainID,
SSCS_SECRET_ID_T *secretID,
SS_UTF8_T *key,
uint32_t keyLen,
uint8_t *val,
uint32_t valLen,
SSCS_PASSWORD_T *epPassword,
SSCS_EXT_T *ext
);
int ipc_ReadBinaryKey
(
SSCS_SECRETSTORE_HANDLE_T *ssHandle,
SSCS_KEYCHAIN_ID_T *keychainID,
SSCS_SECRET_ID_T *secretID,
SS_UTF8_T *key,
uint32_t keyLen,
uint8_t *val,
uint32_t *valLen,
SSCS_PASSWORD_T *epPassword,
uint32_t *bytesRequired
);
int ipc_WriteBinaryKey
(
SSCS_SECRETSTORE_HANDLE_T *ssHandle,
uint32_t ssFlags,

View File

@@ -112,6 +112,14 @@
#define REQ_IS_SECRET_PERSISTENT 0x0013
#define RESP_IS_SECRET_PERSISTENT 0x1013
#define REQ_IS_OBJECT_SERIALIZATION 0x0014
#define RESP_IS_OBJECT_SERIALIZATION 0x1014
#define REQ_WRITE_BINARY_KEY_MSGID 0x0015
#define RESP_WRITE_BINARY_KEY_MSGID 0x1015
#define REQ_READ_BINARY_KEY_MSGID 0x0016
#define RESP_READ_BINARY_KEY_MSGID 0x1016
#define EXT_TYPE_WINDOWS_LUID 0x00000001;
#define WINDOWS_LUID_LEN 0x00000008;