wiki:spec/SecOC

Version 2 (modified by fujisft-shigihara, 4 years ago) ( diff )

--

Secure Onboard Communication


概要

  • API一覧
API ID
[Dec]
ID
[Hex]
R4.2.2
SecOC_Init 1 0x01
SecOC_DeInit 5 0x05
SecOC_GetVersionInfo 2 0x02
SecOC_Transmit 3 0x03
SecOC_CancelTransmit 4 0x04
SecOC_AssociateKey 7 0x07
SecOC_FreshnessValueRead 8 0x08
SecOC_FreshnessValueWrite 9 0x09
SecOC_VerifyStatusOverride 11 0x0B
SecOC_RxIndication 66 0x42
SecOC_TpRxIndication 69 0x45
SecOC_TxConfirmation 64 0x40
SecOC_TpTxConfirmation 72 0x48
SecOC_TriggerTransmit 65 0x41
SecOC_CopyRxData 68 0x44
SecOC_CopyTxData 67 0x43
SecOC_StartOfReception 70 0x46
SecOC_MainFunction 6 0x06
  • エラーコード一覧
エラーコード 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
Note: See TracWiki for help on using the wiki.