1a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* 2a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * mainSecKeysOnly.c 3a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 4a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved. 5a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * All rights reserved. 6a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 7a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Redistribution and use in source and binary forms, with or without 8a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * modification, are permitted provided that the following conditions 9a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * are met: 10a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 11a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Redistributions of source code must retain the above copyright 12a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * notice, this list of conditions and the following disclaimer. 13a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Redistributions in binary form must reproduce the above copyright 14a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * notice, this list of conditions and the following disclaimer in 15a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * the documentation and/or other materials provided with the 16a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * distribution. 17a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Neither the name Texas Instruments nor the names of its 18a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * contributors may be used to endorse or promote products derived 19a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * from this software without specific prior written permission. 20a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 21a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 33a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 34a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \file mainSecSm.c 35a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \brief 802.1X finite state machine header file 36a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 37a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * \see mainSecSm.h 38a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 39a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 40a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 41a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/***************************************************************************/ 42a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* */ 43a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* MODULE: mainSecSm.c */ 44a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* PURPOSE: Main Security State Machine API */ 45a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* */ 46a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/***************************************************************************/ 47a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 48a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define __FILE_ID__ FILE_ID_37 49a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "osApi.h" 50a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "paramOut.h" 51a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "fsm.h" 52a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "report.h" 53a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "DataCtrl_Api.h" 54a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "smeApi.h" 55a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "rsn.h" 56a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "rsnApi.h" 57a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "mainSecSm.h" 58a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "mainSecKeysOnly.h" 59a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "mainKeysSm.h" 60a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 61a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* Constants */ 62a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 63a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* Enumerations */ 64a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 65a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* Typedefs */ 66a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 67a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* Structures */ 68a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 69a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* External data definitions */ 70a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 71a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* External functions definitions */ 72a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 73a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* Global variables */ 74a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 75a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* functions */ 76a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_getAuthState(mainSec_t *pMainSec, TIWLN_SECURITY_STATE *supp1XState); 77a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 78a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_reportAuthFailure(mainSec_t *pMainSec, EAuthStatus authStatus) ; 79a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_setAuthIdentity(mainSec_t *pMainSec, authIdentity_t *authIdentity); 80a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 81a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 82a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* rsn_mainSecSmKeysOnlyInit 83a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 84a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b Description: 85a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 86a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* Init main security state machine state machine 87a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 88a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b ARGS: 89a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 90a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* none 91a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 92a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b RETURNS: 93a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 94a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* TI_OK on success, TI_NOK otherwise. 95a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 96a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \sa 97a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*/ 98a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_config(mainSec_t *pMainSec, 99a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRsnPaeConfig *pPaeConfig) 100a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 101a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_STATUS status; 102a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /** Main 802.1X State Machine matrix */ 103a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt fsm_actionCell_t mainSecKeysOnly_matrix[MAIN_SEC_KEYS_ONLY_NUM_STATES][MAIN_SEC_KEYS_ONLY_NUM_EVENTS] = 104a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt { 105a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* next state and actions for IDLE state */ 106a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {{MAIN_KO_STATE_START, (fsm_Action_t)mainSecKeysOnly_startIdle}, 107a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {MAIN_KO_STATE_IDLE, (fsm_Action_t)mainSecKeysOnly_Nop}, 108a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {MAIN_KO_STATE_IDLE, (fsm_Action_t)mainSecKeysOnly_unexpected}, 109a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {MAIN_KO_STATE_IDLE, (fsm_Action_t)mainSecKeysOnly_unexpected} 110a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt }, 111a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* next state and actions for START state */ 112a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {{MAIN_KO_STATE_START, (fsm_Action_t)mainSecKeysOnly_Nop}, 113a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {MAIN_KO_STATE_IDLE, (fsm_Action_t)mainSecKeysOnly_stopStart}, 114a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {MAIN_KO_STATE_AUTHORIZED, (fsm_Action_t)mainSecKeysOnly_keysCompleteStart}, 115a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {MAIN_KO_STATE_NONAUTHORIZED, (fsm_Action_t)mainSecKeysOnly_keysTOStart}, 116a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt }, 117a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* next state and actions for AUTHORIZED state */ 118a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {{MAIN_KO_STATE_AUTHORIZED, (fsm_Action_t)mainSecKeysOnly_unexpected}, 119a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {MAIN_KO_STATE_IDLE, (fsm_Action_t)mainSecKeysOnly_stopAuthorized}, 120a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {MAIN_KO_STATE_AUTHORIZED, (fsm_Action_t)mainSecKeysOnly_Nop}, 121a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {MAIN_KO_STATE_AUTHORIZED, (fsm_Action_t)mainSecKeysOnly_unexpected}, 122a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt }, 123a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* next state and actions for NONAUTORIZED state */ 124a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {{MAIN_KO_STATE_START, (fsm_Action_t)mainSecKeysOnly_unexpected}, 125a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {MAIN_KO_STATE_IDLE, (fsm_Action_t)mainSecKeysOnly_stopNonAuthorized}, 126a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {MAIN_KO_STATE_NONAUTHORIZED, (fsm_Action_t)mainSecKeysOnly_unexpected}, 127a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt {MAIN_KO_STATE_NONAUTHORIZED, (fsm_Action_t)mainSecKeysOnly_unexpected}, 128a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } 129a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt }; 130a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 131a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt status = fsm_Config(pMainSec->pMainSecSm, &mainSecKeysOnly_matrix[0][0], 132a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt MAIN_SEC_KEYS_ONLY_NUM_STATES, MAIN_SEC_KEYS_ONLY_NUM_EVENTS, NULL, pMainSec->hOs); 133a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (status != TI_OK) 134a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt { 135a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTRACE0(pMainSec->hReport, REPORT_SEVERITY_ERROR, "MAIN_SEC_SM: Error in configuring full SM\n"); 136a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return status; 137a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } 138a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 139a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pMainSec->currentState = MAIN_KO_STATE_IDLE; 140a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pMainSec->start = mainSecKeysOnly_start; 141a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pMainSec->stop = mainSecKeysOnly_stop; 142a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pMainSec->reportKeysStatus = mainSecKeysOnly_reportKeysStatus; 143a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pMainSec->getAuthState = (mainSecSm_getAuthState_t)mainSecKeysOnly_getAuthState; 144a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pMainSec->reportReAuthenticate = (mainSecSmReportReauthentication_t)mainSecKeysOnly_unexpected; 145a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pMainSec->setSessionKey = (mainSecSmSetSessionKey_t)mainSecKeysOnly_unexpected; 146a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pMainSec->getSessionKey = (mainSecSmGetSessionKey_t)mainSecKeysOnly_unexpected; 147a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pMainSec->reportAuthStatus = (mainSecSmReportAuthStatus_t)mainSecKeysOnly_unexpected; 148a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pMainSec->getAuthIdentity = (mainSecSm_getAuthIdentity_t)mainSecKeysOnly_unexpected; 149a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pMainSec->setAuthIdentity = (mainSecSm_getAuthIdentity_t)mainSecKeysOnly_setAuthIdentity; 150a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pMainSec->reportAuthFailure = (mainSecSm_reportAuthFailure_t)mainSecKeysOnly_reportAuthFailure; 151a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 152a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRACE0(pMainSec->hReport, REPORT_SEVERITY_INFORMATION, "mainSecKeysOnly_config\n"); 153a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 154a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_OK; 155a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 156a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 157a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 158a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 159a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* mainSecSmNull_Start 160a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 161a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b Description: 162a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 163a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* Start the NULL main security SM. Reports success to the rsn module immediately. 164a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 165a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b ARGS: 166a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 167a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* none 168a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 169a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b RETURNS: 170a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 171a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* TI_OK on success, TI_NOK otherwise. 172a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 173a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \sa 174a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*/ 175a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_start(mainSec_t *pMainSec) 176a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 177a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_STATUS status; 178a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 179a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt status = fsm_Event(pMainSec->pMainSecSm, &pMainSec->currentState, MAIN_KO_EVENT_START, pMainSec); 180a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 181a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return status; 182a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 183a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 184a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 185a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 186a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* mainSecSmNull_Stop 187a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 188a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b Description: 189a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 190a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* Start the NULL main security SM. Reports success to the rsn module immediately. 191a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 192a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b ARGS: 193a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 194a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* none 195a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 196a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b RETURNS: 197a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 198a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* TI_OK on success, TI_NOK otherwise. 199a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 200a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \sa 201a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*/ 202a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_stop(mainSec_t *pMainSec) 203a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 204a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_STATUS status; 205a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 206a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt status = fsm_Event(pMainSec->pMainSecSm, &pMainSec->currentState, MAIN_KO_EVENT_STOP, pMainSec); 207a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 208a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return status; 209a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 210a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 211a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 212a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 213a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* mainSecSmNull_Stop 214a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 215a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b Description: 216a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 217a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* Start the NULL main security SM. Reports success to the rsn module immediately. 218a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 219a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b ARGS: 220a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 221a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* none 222a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 223a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b RETURNS: 224a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 225a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* TI_OK on success, TI_NOK otherwise. 226a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 227a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \sa 228a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*/ 229a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_reportKeysStatus(mainSec_t *pMainSec, TI_STATUS keysStatus) 230a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 231a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_STATUS status; 232a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 233a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pMainSec->data.status = keysStatus; 234a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 235a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt if (keysStatus == TI_OK) 236a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt { 237a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt status = fsm_Event(pMainSec->pMainSecSm, &pMainSec->currentState, MAIN_KO_EVENT_KEYS_COMPLETE, pMainSec); 238a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } else { 239a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTRACE0(pMainSec->hReport, REPORT_SEVERITY_ERROR, "MAIN_SEC_SM: Error in Keys\n"); 240a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt status = TI_OK; 241a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } 242a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 243a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return status; 244a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 245a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 246a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 247a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 248a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* mainSecSmNull_setKey 249a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 250a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b Description: 251a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 252a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* Start the NULL main security SM. Reports success to the rsn module immediately. 253a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 254a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b ARGS: 255a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 256a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* none 257a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 258a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b RETURNS: 259a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 260a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* TI_OK on success, TI_NOK otherwise. 261a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 262a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \sa 263a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*/ 264a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_setSessionKey(mainSec_t *pMainSec, TI_UINT8* pKey, TI_UINT8 keyLen) 265a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 266a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt os_memoryCopy(pMainSec->hOs, pMainSec->sessionKey, pKey, keyLen); 267a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pMainSec->sessionKeyLen = keyLen; 268a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 269a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_OK; 270a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 271a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 272a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** 273a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 274a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* mainSecSmNull_setKey 275a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 276a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b Description: 277a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 278a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* Start the NULL main security SM. Reports success to the rsn module immediately. 279a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 280a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b ARGS: 281a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 282a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* none 283a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 284a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b RETURNS: 285a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 286a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* TI_OK on success, TI_NOK otherwise. 287a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 288a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \sa 289a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*/ 290a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_getSessionKey(mainSec_t *pMainSec, TI_UINT8* pKey, TI_UINT32* pKeyLen) 291a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 292a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt os_memoryCopy(pMainSec->hOs, pKey, pMainSec->sessionKey, pMainSec->sessionKeyLen); 293a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *pKeyLen = pMainSec->sessionKeyLen; 294a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 295a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_OK; 296a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 297a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 298a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 299a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 300a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* State machine implementation functions */ 301a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 302a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_startIdle(struct _mainSec_t *pMainSec) 303a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 304a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_STATUS status = TI_OK; 305a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 306a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTRACE0(pMainSec->hReport, REPORT_SEVERITY_SM, "MAIN_SEC_SM: mainSecKeysOnly_StartIdle...\n"); 307a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt status = pMainSec->pMainKeys->start(pMainSec->pMainKeys); 308a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 309a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return status; 310a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 311a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 312a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_stopStart(struct _mainSec_t *pMainSec) 313a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 314a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_STATUS status = TI_OK; 315a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 316a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTRACE0(pMainSec->hReport, REPORT_SEVERITY_SM, "MAIN_SEC_SM: mainSecKeysOnly_StopStart...\n"); 317a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt status = pMainSec->pMainKeys->stop(pMainSec->pMainKeys); 318a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 319a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return status; 320a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 321a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 322a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_keysCompleteStart(struct _mainSec_t *pMainSec) 323a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 324a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_STATUS status = TI_OK; 325a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 326a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTRACE0(pMainSec->hReport, REPORT_SEVERITY_SM, "MAIN_SEC_SM: mainSecKeysOnly_KeysCompleteAuthenticated...\n"); 327a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt status = pMainSec->pParent->reportStatus(pMainSec->pParent, pMainSec->data.status); 328a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 329a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return(status); 330a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 331a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 332a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_keysTOStart(struct _mainSec_t *pMainSec) 333a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 334a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_STATUS status = TI_OK; 335a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 336a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return(status); 337a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 338a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 339a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_stopAuthorized(struct _mainSec_t *pMainSec) 340a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 341a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_STATUS status = TI_OK; 342a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 343a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTRACE0(pMainSec->hReport, REPORT_SEVERITY_SM, "MAIN_SEC_SM: mainSecKeysOnly_StopAuthorized...\n"); 344a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt status = pMainSec->pMainKeys->stop(pMainSec->pMainKeys); 345a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 346a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return(status); 347a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 348a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 349a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_stopNonAuthorized(struct _mainSec_t *pMainSec) 350a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 351a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_STATUS status = TI_OK; 352a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 353a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTRACE0(pMainSec->hReport, REPORT_SEVERITY_SM, "MAIN_SEC_SM: mainSecKeysOnly_StopNonAuthorized...\n"); 354a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt status = pMainSec->pMainKeys->stop(pMainSec->pMainKeys); 355a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 356a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return(status); 357a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 358a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 359a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* state machine action functions */ 360a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 361a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_Nop(void* pData) 362a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 363a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return(TI_OK); 364a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 365a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 366a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_unexpected(void* pData) 367a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 368a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_NOK; 369a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 370a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 371a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /** 372a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 373a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* mainSecKeysOnly_getAuthState: \n 374a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 375a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b Description: 376a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 377a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* Get authentication state from supp1x SM. 378a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 379a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b ARGS: 380a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 381a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* I - pMainSec - pMainSec SM context \n 382a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* I - authIdentity - pointer to authentication state \n 383a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 384a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \b RETURNS: 385a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 386a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* TI_OK if successful, TI_NOK otherwise. 387a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* 388a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt* \sa 389a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt*/ 390a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 391a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_getAuthState(mainSec_t *pMainSec, TIWLN_SECURITY_STATE *secState) 392a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 393a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt switch (pMainSec->currentState) 394a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt { 395a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case MAIN_KO_STATE_START: 396a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *secState = eSecurityStateAuthenticating; 397a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 398a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 399a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case MAIN_KO_STATE_AUTHORIZED: 400a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *secState = eSecurityStateAuthenticated; 401a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 402a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 403a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case MAIN_KO_STATE_NONAUTHORIZED: 404a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *secState = eSecurityStateNotAuthenticated ; 405a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 406a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 407a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt default: 408a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *secState = eSecurityStateHalted; 409a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 410a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } 411a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 412a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_OK; 413a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 414a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} /*mainSecKeysOnly_getAuthState*/ 415a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 416a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 417a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_reportAuthFailure(mainSec_t *pMainSec, EAuthStatus authStatus) 418a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 419a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 420a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_OK; 421a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 422a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 423a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 424a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS mainSecKeysOnly_setAuthIdentity(mainSec_t *pMainSec, authIdentity_t *authIdentity) 425a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 426a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 427a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt return TI_OK; 428a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 429