|
|
|
|
@@ -900,6 +900,15 @@ miCASAOpenSecretStoreCache
|
|
|
|
|
{
|
|
|
|
|
goto errorLevel2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sscs_Utf8Strncpy(kc.keychainID, SSCS_SERVER_KEY_CHAIN_ID, SSCS_S_KC_ID_SERVER_CHARS);
|
|
|
|
|
kc.len = SSCS_S_KC_ID_SERVER_CHARS;
|
|
|
|
|
|
|
|
|
|
if(sscs_CacheAddKeychain(storeContext->ssHandle, ssFlags, &kc, NULL))
|
|
|
|
|
{
|
|
|
|
|
goto errorLevel2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* ############################### CODE EXITS HERE ############################# */
|
|
|
|
|
@@ -3110,9 +3119,16 @@ miCASAGetCredential
|
|
|
|
|
return NSSCS_E_BUFFER_LEN;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// set default keychain
|
|
|
|
|
kc.len = SSCS_S_KC_ID_CHARS;
|
|
|
|
|
sscs_Utf8Strncpy(kc.keychainID, SSCS_SESSION_KEY_CHAIN_ID, SSCS_S_KC_ID_CHARS);
|
|
|
|
|
if (*credentialType & SSCS_CRED_TYPE_SERVER_F)
|
|
|
|
|
{
|
|
|
|
|
kc.len = SSCS_S_KC_ID_SERVER_CHARS;
|
|
|
|
|
sscs_Utf8Strncpy(kc.keychainID, SSCS_SERVER_KEY_CHAIN_ID, SSCS_S_KC_ID_SERVER_CHARS);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
kc.len = SSCS_S_KC_ID_CHARS;
|
|
|
|
|
sscs_Utf8Strncpy(kc.keychainID, SSCS_SESSION_KEY_CHAIN_ID, SSCS_S_KC_ID_CHARS);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// open secretStore
|
|
|
|
|
sscs_Utf8Strncpy(store.ssName, SSCS_DEFAULT_SECRETSTORE_ID, SSCS_DEFAULT_SECRETSTORE_ID_LEN);
|
|
|
|
|
@@ -3124,7 +3140,7 @@ miCASAGetCredential
|
|
|
|
|
return NSSCS_E_SYSTEM_FAILURE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(*credentialType == SSCS_CRED_TYPE_BINARY_F)
|
|
|
|
|
if(*credentialType & SSCS_CRED_TYPE_BINARY_F)
|
|
|
|
|
{
|
|
|
|
|
// first check appSecretID
|
|
|
|
|
rcode = miCASAReadBinaryKey(
|
|
|
|
|
@@ -3370,10 +3386,18 @@ miCASASetCredential
|
|
|
|
|
return NSSCS_E_SYSTEM_FAILURE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
kc.len = SSCS_S_KC_ID_CHARS;
|
|
|
|
|
sscs_Utf8Strncpy(kc.keychainID, SSCS_SESSION_KEY_CHAIN_ID, SSCS_S_KC_ID_CHARS);
|
|
|
|
|
if (credentialType & SSCS_CRED_TYPE_SERVER_F)
|
|
|
|
|
{
|
|
|
|
|
kc.len = SSCS_S_KC_ID_SERVER_CHARS;
|
|
|
|
|
sscs_Utf8Strncpy(kc.keychainID, SSCS_SERVER_KEY_CHAIN_ID, SSCS_S_KC_ID_SERVER_CHARS);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
kc.len = SSCS_S_KC_ID_CHARS;
|
|
|
|
|
sscs_Utf8Strncpy(kc.keychainID, SSCS_SESSION_KEY_CHAIN_ID, SSCS_S_KC_ID_CHARS);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(credentialType == SSCS_CRED_TYPE_BINARY_F)
|
|
|
|
|
if(credentialType & SSCS_CRED_TYPE_BINARY_F)
|
|
|
|
|
{
|
|
|
|
|
binaryCred = (SSCS_BINARY_CREDENTIAL *)credential;
|
|
|
|
|
|
|
|
|
|
@@ -3513,22 +3537,23 @@ miCASASetCredential
|
|
|
|
|
|
|
|
|
|
/* ############################### CODE ENDS HERE ############################# */
|
|
|
|
|
} // end of miCASASetCredential
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* NAME - miCASARemoveCredential
|
|
|
|
|
* NAME - miCASADeleteCredential
|
|
|
|
|
*
|
|
|
|
|
* DESCRIPTION
|
|
|
|
|
* This call removes a managed credential with given the appSecretID
|
|
|
|
|
* This replaces miCASARemoveCredential in future releases by
|
|
|
|
|
* adding the credentilalType parameter
|
|
|
|
|
* the sharedSecretID is ignored now - TBD
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
SSCS_GLOBAL_LIBCALL(int32_t)
|
|
|
|
|
miCASARemoveCredential
|
|
|
|
|
miCASADeleteCredential
|
|
|
|
|
(
|
|
|
|
|
uint32_t ssFlags, // IN
|
|
|
|
|
SSCS_SECRET_ID_T * appSecretID, // IN
|
|
|
|
|
SSCS_SECRET_ID_T * sharedSecretID, // Optional IN
|
|
|
|
|
uint32_t credentialType, // IN
|
|
|
|
|
SSCS_EXT_T * ext // Reserved
|
|
|
|
|
)
|
|
|
|
|
{ /* beginning of the call */
|
|
|
|
|
@@ -3565,8 +3590,16 @@ miCASARemoveCredential
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// remove the secret for the appSecretID passed in
|
|
|
|
|
kc.len = SSCS_S_KC_ID_CHARS;
|
|
|
|
|
sscs_Utf8Strncpy(kc.keychainID, SSCS_SESSION_KEY_CHAIN_ID, SSCS_S_KC_ID_CHARS);
|
|
|
|
|
if (credentialType == SSCS_CRED_TYPE_SERVER_F)
|
|
|
|
|
{
|
|
|
|
|
kc.len = SSCS_S_KC_ID_SERVER_CHARS;
|
|
|
|
|
sscs_Utf8Strncpy(kc.keychainID, SSCS_SERVER_KEY_CHAIN_ID, SSCS_S_KC_ID_SERVER_CHARS);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
kc.len = SSCS_S_KC_ID_CHARS;
|
|
|
|
|
sscs_Utf8Strncpy(kc.keychainID, SSCS_SESSION_KEY_CHAIN_ID, SSCS_S_KC_ID_CHARS);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
secID.type = SSCS_CREDENTIAL_TYPE_F;
|
|
|
|
|
secID.len = appSecretID->len;
|
|
|
|
|
@@ -3579,6 +3612,33 @@ miCASARemoveCredential
|
|
|
|
|
|
|
|
|
|
return(rcode);
|
|
|
|
|
|
|
|
|
|
/* ############################### CODE ENDS HERE ############################# */
|
|
|
|
|
} // end of miCASADeleteCredential
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* NAME - miCASARemoveCredential
|
|
|
|
|
*
|
|
|
|
|
* DESCRIPTION
|
|
|
|
|
* This call removes a managed credential with given the appSecretID
|
|
|
|
|
* the sharedSecretID is ignored now - TBD
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
SSCS_GLOBAL_LIBCALL(int32_t)
|
|
|
|
|
miCASARemoveCredential
|
|
|
|
|
(
|
|
|
|
|
uint32_t ssFlags, // IN
|
|
|
|
|
SSCS_SECRET_ID_T * appSecretID, // IN
|
|
|
|
|
SSCS_SECRET_ID_T * sharedSecretID, // Optional IN
|
|
|
|
|
SSCS_EXT_T * ext // Reserved
|
|
|
|
|
)
|
|
|
|
|
{ /* beginning of the call */
|
|
|
|
|
/* ########################## DECLARATIONS START HERE ######################### */
|
|
|
|
|
return miCASADeleteCredential(ssFlags,
|
|
|
|
|
appSecretID,
|
|
|
|
|
sharedSecretID,
|
|
|
|
|
SSCS_CRED_TYPE_BASIC_F,
|
|
|
|
|
ext);
|
|
|
|
|
|
|
|
|
|
/* ############################### CODE ENDS HERE ############################# */
|
|
|
|
|
} // end of miCASARemoveCredential
|
|
|
|
|
|
|
|
|
|
|