{{{ #!html
Secure Onboard Communication
}}} [[BR]] = 概要 = * API一覧 ||= API =||= ID[[BR]][Dec] =||= ID[[BR]][Hex] =||= R4.2.2 =|| || [#SecOC_Init SecOC_Init] || 1|| 0x01|| ○ || || [#SecOC_DeInit SecOC_DeInit] || 5|| 0x05|| ○ || || [#SecOC_GetVersionInfo SecOC_GetVersionInfo] || 2|| 0x02|| ○ || || [#SecOC_Transmit SecOC_Transmit] || 3|| 0x03|| ○ || || [#SecOC_CancelTransmit SecOC_CancelTransmit] || 4|| 0x04|| ○ || || [#SecOC_AssociateKey SecOC_AssociateKey] || 7|| 0x07|| ○ || || [#SecOC_FreshnessValueRead SecOC_FreshnessValueRead] || 8|| 0x08|| ○ || || [#SecOC_FreshnessValueWrite SecOC_FreshnessValueWrite] || 9|| 0x09|| ○ || || [#SecOC_VerifyStatusOverride SecOC_VerifyStatusOverride] || 11|| 0x0B|| ○ || || [#SecOC_RxIndication SecOC_RxIndication] || 66|| 0x42|| ○ || || [#SecOC_TpRxIndication SecOC_TpRxIndication] || 69|| 0x45|| ○ || || [#SecOC_TxConfirmation SecOC_TxConfirmation] || 64|| 0x40|| ○ || || [#SecOC_TpTxConfirmation SecOC_TpTxConfirmation] || 72|| 0x48|| ○ || || [#SecOC_TriggerTransmit SecOC_TriggerTransmit] || 65|| 0x41|| ○ || || [#SecOC_CopyRxData SecOC_CopyRxData] || 68|| 0x44|| ○ || || [#SecOC_CopyTxData SecOC_CopyTxData] || 67|| 0x43|| ○ || || [#SecOC_StartOfReception SecOC_StartOfReception] || 70|| 0x46|| ○ || || [#SecOC_MainFunction SecOC_MainFunction] || 6|| 0x06|| ○ || * コンフィギュレーション一覧(R4.2.2) * [#SecOCGeneral SecOCGeneral] (○) * [#SecOCDevErrorDetect SecOCDevErrorDetect] (○) * [#SecOCMainFunctionPeriod SecOCMainFunctionPeriod] (○) * [#SecOCMaxAlignScalarType SecOCMaxAlignScalarType] (○) * [#SecOCVerificationStatusCallout SecOCVerificationStatusCallout] (○) * [#SecOCVersionInfoApi SecOCVersionInfoApi] (○) * [#SecOCNvMBlockDescriptor SecOCNvMBlockDescriptor] (○) * [#SecOCRxPduProcessing SecOCRxPduProcessing] (○) * [#SecOCAuthInfoTxLength SecOCAuthInfoTxLength] (○) * [#SecOCDataId SecOCDataId] (○) * [#SecOCFreshnessCounterSyncAttempts SecOCFreshnessCounterSyncAttempts] (○) * [#SecOCFreshnessTimestampTimePeriodFactor SecOCFreshnessTimestampTimePeriodFactor] (○) * [#SecOCFreshnessValueId SecOCFreshnessValueId] (○) * [#SecOCFreshnessValueLength SecOCFreshnessValueLength] (○) * [#SecOCFreshnessValueTxLength SecOCFreshnessValueTxLength] (○) * [#SecOCKeyId SecOCKeyId] (○) * [#SecOCRxAcceptanceWindow SecOCRxAcceptanceWindow] (○) * [#SecOCSecondaryFreshnessValueId SecOCSecondaryFreshnessValueId] (○) * [#SecOCUseFreshnessTimestamp SecOCUseFreshnessTimestamp] (○) * [#SecOCVerificationStatusPropagationMode SecOCVerificationStatusPropagationMode] (○) * [#SecOCSameBufferPduRef SecOCSameBufferPduRef] (○) * [#SecOCRxAuthServiceConfigRef SecOCRxAuthServiceConfigRef] (○) * [#SecOCRxAuthenticPduLayer SecOCRxAuthenticPduLayer] (○) * [#SecOCRxAuthenticLayerPduRef SecOCRxAuthenticLayerPduRef] (○) * [#SecOCRxSecuredPduLayer SecOCRxSecuredPduLayer] (○) * [#SecOCRxSecuredLayerPduId SecOCRxSecuredLayerPduId] (○) * [#SecOCRxSecuredLayerPduRef SecOCRxSecuredLayerPduRef] (○) * [#SecOCSameBufferPduCollection SecOCSameBufferPduCollection] (○) * [#SecOCBufferLength SecOCBufferLength] (○) * [#SecOCTxPduProcessing SecOCTxPduProcessing] (○) * [#SecOCAuthInfoTxLength SecOCAuthInfoTxLength] (○) * [#SecOCAuthenticationRetries SecOCAuthenticationRetries] (○) * [#SecOCDataId SecOCDataId] (○) * [#SecOCFreshnessTimestampTimePeriodFactor SecOCFreshnessTimestampTimePeriodFactor] (○) * [#SecOCFreshnessValueId SecOCFreshnessValueId] (○) * [#SecOCFreshnessValueLength SecOCFreshnessValueLength] (○) * [#SecOCFreshnessValueTxLength SecOCFreshnessValueTxLength] (○) * [#SecOCKeyId SecOCKeyId] (○) * [#SecOCUseFreshnessTimestamp SecOCUseFreshnessTimestamp] (○) * [#SecOCSameBufferPduRef SecOCSameBufferPduRef] (○) * [#SecOCTxAuthServiceConfigRef SecOCTxAuthServiceConfigRef] (○) * [#SecOCTxAuthenticPduLayer SecOCTxAuthenticPduLayer] (○) * [#SecOCTxAuthenticLayerPduId SecOCTxAuthenticLayerPduId] (○) * [#SecOCTxAuthenticLayerPduRef SecOCTxAuthenticLayerPduRef] (○) * [#SecOCTxSecuredPduLayer SecOCTxSecuredPduLayer] (○) * [#SecOCTxSecuredLayerPduId SecOCTxSecuredLayerPduId] (○) * [#SecOCTxSecuredLayerPduRef SecOCTxSecuredLayerPduRef] (○) * エラーコード一覧 ||= エラーコード =||= Dec =||= Hex =||= R4.2.2 =|| || SECOC_E_PARAM_POINTER || 1|| 0x01|| ○ || || SECOC_E_INVALID_REQUEST || 2|| 0x02|| ○ || || SECOC_E_INVALID_PDU_SDU_ID || 3|| 0x03|| ○ || || SECOC_E_CRYPTO_FAILURE || 4|| 0x04|| ○ || || SECOC_E_RESTORE_FAILURE || 5|| 0x05|| ○ || || SECOC_E_FRESHNESS_VALUE_AT_LIMIT || 6|| 0x06|| ○ || ---- = API仕様 = == SecOC_Init == {{{ void SecOC_Init(const SecOC_ConfigType* config) }}} == SecOC_DeInit == {{{ void SecOC_DeInit(void) }}} == SecOC_GetVersionInfo == {{{ void SecOC_GetVersionInfo(Std_VersionInfoType* versioninfo) }}} == SecOC_Transmit == {{{ Std_ReturnType SecOC_Transmit(PduIdType id, const PduInfoType* info) }}} == SecOC_CancelTransmit == {{{ Std_ReturnType SecOC_CancelTransmit(PduIdType id) }}} == SecOC_AssociateKey == {{{ Std_ReturnType SecOC_AssociateKey(uint8 keyID, const SecOC_KeyType* keyPtr) }}} == SecOC_FreshnessValueRead == {{{ Std_ReturnType SecOC_FreshnessValueRead(uint16 freshnessValueID, uint64* counterValue) }}} == SecOC_FreshnessValueWrite == {{{ Std_ReturnType SecOC_FreshnessValueWrite(uint16 freshnessValueID, uint64 counterValue) }}} == SecOC_VerifyStatusOverride == {{{ Std_ReturnType SecOC_VerifyStatusOverride(uint16 freshnessValueID, uint8 overrideStatus, uint8 numberOfMessagesToOverride) }}} == SecOC_RxIndication == {{{ void SecOC_RxIndication(PduIdType RxPduId, const PduInfoType* PduInfoPtr) }}} == SecOC_TpRxIndication == {{{ void SecOC_TpRxIndication(PduIdType id, Std_ReturnType result) }}} == SecOC_TxConfirmation == {{{ void SecOC_TxConfirmation(PduIdType TxPduId) }}} == SecOC_TpTxConfirmation == {{{ void SecOC_TpTxConfirmation(PduIdType id, Std_ReturnType result) }}} == SecOC_TriggerTransmit == {{{ Std_ReturnType SecOC_TriggerTransmit(PduIdType TxPduId, PduInfoType* PduInfoPtr) }}} == SecOC_CopyRxData == {{{ BufReq_ReturnType SecOC_CopyRxData(PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr) }}} == SecOC_CopyTxData == {{{ BufReq_ReturnType SecOC_CopyTxData(PduIdType id, const PduInfoType* info, RetryInfoType* retry, PduLengthType* availableDataPtr) }}} == SecOC_StartOfReception == {{{ BufReq_ReturnType SecOC_StartOfReception(PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr) }}} == SecOC_MainFunction == {{{ void SecOC_MainFunction(void) }}} ---- = コンフィギュレーション仕様 = == SecOCGeneral == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCGeneral }}} * 型:Container * 多重度:1 == SecOCDevErrorDetect == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCGeneral/SecOCDevErrorDetect }}} * 型:BooleanParam * 多重度:1 == SecOCMainFunctionPeriod == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCGeneral/SecOCMainFunctionPeriod }}} * 型:FloatParam * 多重度:1 * 上限値:0.255 * 下限値:0 == SecOCMaxAlignScalarType == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCGeneral/SecOCMaxAlignScalarType }}} * 型:StringParam * 多重度:1 == SecOCVerificationStatusCallout == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCGeneral/SecOCVerificationStatusCallout }}} * 型:FunctionName * 多重度:0..* == SecOCVersionInfoApi == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCGeneral/SecOCVersionInfoApi }}} * 型:BooleanParam * 多重度:1 == SecOCNvMBlockDescriptor == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCGeneral/SecOCNvMBlockDescriptor }}} * 型:Reference * 多重度:1 * 参照先:{{{/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor}}} == SecOCRxPduProcessing == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing }}} * 型:Container * 多重度:0..* == SecOCAuthInfoTxLength == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCAuthInfoTxLength }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SecOCDataId == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCDataId }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SecOCFreshnessCounterSyncAttempts == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCFreshnessCounterSyncAttempts }}} * 型:IntegerParam * 多重度:0..1 * 上限値:65535 * 下限値:0 == SecOCFreshnessTimestampTimePeriodFactor == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCFreshnessTimestampTimePeriodFactor }}} * 型:IntegerParam * 多重度:1 * 上限値:4294967295 * 下限値:0 == SecOCFreshnessValueId == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCFreshnessValueId }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SecOCFreshnessValueLength == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCFreshnessValueLength }}} * 型:IntegerParam * 多重度:1 * 上限値:64 * 下限値:0 == SecOCFreshnessValueTxLength == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCFreshnessValueTxLength }}} * 型:IntegerParam * 多重度:1 * 上限値:64 * 下限値:0 == SecOCKeyId == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCKeyId }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SecOCRxAcceptanceWindow == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCRxAcceptanceWindow }}} * 型:FloatParam * 多重度:0..1 * 上限値:Inf * 下限値:0 == SecOCSecondaryFreshnessValueId == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCSecondaryFreshnessValueId }}} * 型:IntegerParam * 多重度:0..1 * 上限値:65535 * 下限値:0 == SecOCUseFreshnessTimestamp == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCUseFreshnessTimestamp }}} * 型:BooleanParam * 多重度:1 == SecOCVerificationStatusPropagationMode == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCVerificationStatusPropagationMode }}} * 型:EnumerationParam * 多重度:1 * 選択肢: * BOTH * FAILURE_ONLY * NONE == SecOCSameBufferPduRef == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCSameBufferPduRef }}} * 型:Reference * 多重度:0..1 * 参照先:{{{/AUTOSAR/EcucDefs/SecOC/SecOCSameBufferPduCollection}}} == SecOCRxAuthServiceConfigRef == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCRxAuthServiceConfigRef }}} * 型:Reference * 多重度:1 * 参照先: * {{{/AUTOSAR/EcucDefs/Cal/CalMacVerify/CalMacVerifyConfig}}} * {{{/AUTOSAR/EcucDefs/Cal/CalSignatureVerify/CalSignatureVerifyConfig}}} * {{{/AUTOSAR/EcucDefs/Csm/CsmMacVerify/CsmMacVerifyConfig}}} * {{{/AUTOSAR/EcucDefs/Csm/CsmSignatureVerify/CsmSignatureVerifyConfig}}} == SecOCRxAuthenticPduLayer == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCRxAuthenticPduLayer }}} * 型:Container * 多重度:1 == SecOCRxAuthenticLayerPduRef == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCRxAuthenticPduLayer/SecOCRxAuthenticLayerPduRef }}} * 型:Reference * 多重度:1 * 参照先:{{{/AUTOSAR/EcucDefs/EcuC/EcucConfigSet/EcucPduCollection/Pdu}}} == SecOCRxSecuredPduLayer == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCRxSecuredPduLayer }}} * 型:Container * 多重度:1 == SecOCRxSecuredLayerPduId == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCRxSecuredPduLayer/SecOCRxSecuredLayerPduId }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SecOCRxSecuredLayerPduRef == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCRxPduProcessing/SecOCRxSecuredPduLayer/SecOCRxSecuredLayerPduRef }}} * 型:Reference * 多重度:1 * 参照先:{{{/AUTOSAR/EcucDefs/EcuC/EcucConfigSet/EcucPduCollection/Pdu}}} == SecOCSameBufferPduCollection == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCSameBufferPduCollection }}} * 型:Container * 多重度:0..* == SecOCBufferLength == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCSameBufferPduCollection/SecOCBufferLength }}} * 型:IntegerParam * 多重度:1 * 上限値:4294967295 * 下限値:0 == SecOCTxPduProcessing == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing }}} * 型:Container * 多重度:0..* == SecOCAuthInfoTxLength == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCAuthInfoTxLength }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SecOCAuthenticationRetries == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCAuthenticationRetries }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SecOCDataId == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCDataId }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SecOCFreshnessTimestampTimePeriodFactor == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCFreshnessTimestampTimePeriodFactor }}} * 型:IntegerParam * 多重度:1 * 上限値:4294967295 * 下限値:0 == SecOCFreshnessValueId == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCFreshnessValueId }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SecOCFreshnessValueLength == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCFreshnessValueLength }}} * 型:IntegerParam * 多重度:1 * 上限値:64 * 下限値:0 == SecOCFreshnessValueTxLength == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCFreshnessValueTxLength }}} * 型:IntegerParam * 多重度:1 * 上限値:64 * 下限値:0 == SecOCKeyId == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCKeyId }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SecOCUseFreshnessTimestamp == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCUseFreshnessTimestamp }}} * 型:BooleanParam * 多重度:1 == SecOCSameBufferPduRef == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCSameBufferPduRef }}} * 型:Reference * 多重度:0..1 * 参照先:{{{/AUTOSAR/EcucDefs/SecOC/SecOCSameBufferPduCollection}}} == SecOCTxAuthServiceConfigRef == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCTxAuthServiceConfigRef }}} * 型:Reference * 多重度:1 * 参照先: * {{{/AUTOSAR/EcucDefs/Cal/CalMacGenerate/CalMacGenerateConfig}}} * {{{/AUTOSAR/EcucDefs/Cal/CalSignatureGenerate/CalSignatureGenerateConfig}}} * {{{/AUTOSAR/EcucDefs/Csm/CsmMacGenerate/CsmMacGenerateConfig}}} * {{{/AUTOSAR/EcucDefs/Csm/CsmSignatureGenerate/CsmSignatureGenerateConfig}}} == SecOCTxAuthenticPduLayer == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCTxAuthenticPduLayer }}} * 型:Container * 多重度:1 == SecOCTxAuthenticLayerPduId == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCTxAuthenticPduLayer/SecOCTxAuthenticLayerPduId }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SecOCTxAuthenticLayerPduRef == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCTxAuthenticPduLayer/SecOCTxAuthenticLayerPduRef }}} * 型:Reference * 多重度:1 * 参照先:{{{/AUTOSAR/EcucDefs/EcuC/EcucConfigSet/EcucPduCollection/Pdu}}} == SecOCTxSecuredPduLayer == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCTxSecuredPduLayer }}} * 型:Container * 多重度:1 == SecOCTxSecuredLayerPduId == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCTxSecuredPduLayer/SecOCTxSecuredLayerPduId }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SecOCTxSecuredLayerPduRef == {{{ /AUTOSAR/EcucDefs/SecOC/SecOCTxPduProcessing/SecOCTxSecuredPduLayer/SecOCTxSecuredLayerPduRef }}} * 型:Reference * 多重度:1 * 参照先:{{{/AUTOSAR/EcucDefs/EcuC/EcucConfigSet/EcucPduCollection/Pdu}}}