Commit a05902d5 authored by garciay's avatar garciay
Browse files

Add SSP definitions according to Draft ETSI TS 103 097 V1.1.6 Clause 6.9 ItsAidSsp

parent 7590b390
......@@ -7,6 +7,9 @@
*/
module LibItsSecurity_Pixits {
// LibCommon
import from LibCommon_DataStrings all;
// LibItsSecurity
import from LibItsSecurity_TypesAndValues all;
import from LibItsSecurity_Templates all;
......@@ -227,12 +230,18 @@ module LibItsSecurity_Pixits {
valueof(m_subject_attribute_its_aid_ssp_list(
{
{
16512,
'00'O
its_aid := 16512,
service_specific_permissions := {
version := '00'O,
sspContainer := omit
}
},
{
16513,
'00'O
its_aid := 16513,
service_specific_permissions := {
version := '00'O,
sspContainer := omit
}
}
}
))
......
......@@ -1648,6 +1648,7 @@ module LibItsSecurity_Templates {
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6 Specification of certificate format
*/
group certificatesRecv {
template (present) Certificate mw_certificate(
in template (present) SignerInfo p_signer_info :=?,
in template (present) SubjectInfo p_subject_info :=?,
......@@ -1836,6 +1837,244 @@ module LibItsSecurity_Templates {
} // End of group certificatesRecv
group ssp {
group sspTest {
template (present) ServiceSpecificPermissions m_sspTest := {
version := '00'O,
sspContainer := omit
} // End of template mw_sspTest
template (present) ServiceSpecificPermissions mw_sspTest := {
version := '00'O,
sspContainer := *
} // End of template mw_sspTest
} // End of group sspTest
group sspDenm {
group sspDenmSend {
/**
* @desc
*/
template (value) SspDENM m_sspDENMContainer_sign_all := {
trafficCondition := '1'B,
accident := '1'B,
roadworks := '1'B,
adverseWeatherCondition_Adhesion := '1'B,
hazardousLocation_SurfaceCondition := '1'B,
hazardousLocation_ObstacleOnTheRoad := '1'B,
hazardousLocation_AnimalOnTheRoad := '1'B,
humanPresenceOnTheRoad := '1'B,
wrongWayDriving := '1'B,
rescueAndRecoveryWorkInProgress := '1'B,
adverseWeatherCondition_ExtremeWeatherCondition := '1'B,
adverseWeatherCondition_Visibility := '1'B,
adverseWeatherCondition_Precipitation := '1'B,
slowVehicle := '1'B,
dangerousEndOfQueue := '1'B,
vehicleBreakdown := '1'B,
postCrash := '1'B,
humanProblem := '1'B,
stationaryVehicle := '1'B,
emergencyVehicleApproaching := '1'B,
hazardousLocation_DangerousCurve := '1'B,
collisionRisk := '1'B,
signalViolation := '1'B,
dangerousSituation := '1'B
} // End of template m_sspDENMContainer_sign_all
/**
* @desc
*/
template (value) SspDENM m_sspDENMContainer_vehicle
modifies m_sspDENMContainer_sign_all:= {
trafficCondition := '0'B,
accident := '0'B,
roadworks := '0'B,
adverseWeatherCondition_Adhesion := '0'B,
hazardousLocation_SurfaceCondition := '0'B,
hazardousLocation_ObstacleOnTheRoad := '0'B,
hazardousLocation_AnimalOnTheRoad := '0'B,
slowVehicle := '0'B,
dangerousEndOfQueue := '0'B,
vehicleBreakdown := '0'B,
stationaryVehicle := '0'B
} // End of template m_sspDENMContainer_sign_all
/**
* @desc
*/
template (value) SspDENM m_sspDENMContainer_roadSideUnit
modifies m_sspDENMContainer_sign_all:= {
trafficCondition := '0'B,
accident := '0'B,
roadworks := '0'B,
adverseWeatherCondition_Adhesion := '0'B,
hazardousLocation_SurfaceCondition := '0'B,
hazardousLocation_ObstacleOnTheRoad := '0'B,
hazardousLocation_AnimalOnTheRoad := '0'B,
humanPresenceOnTheRoad := '0'B,
wrongWayDriving := '0'B,
rescueAndRecoveryWorkInProgress := '0'B,
adverseWeatherCondition_ExtremeWeatherCondition := '0'B,
adverseWeatherCondition_Visibility := '0'B,
adverseWeatherCondition_Precipitation := '0'B,
postCrash := '0'B,
humanProblem := '0'B,
stationaryVehicle := '0'B,
hazardousLocation_DangerousCurve := '0'B,
collisionRisk := '0'B,
dangerousSituation := '0'B
} // End of template m_sspDENMContainer_roadSideUnit
/**
* @desc
*/
template (value) ServiceSpecificPermissions m_sspDENM_sign_all := {
version := '01'O,
sspContainer := {
sspDENM := m_sspDENMContainer_sign_all
} // End of field sspContainer
} // End of template m_sspDENM_sign_all
/**
* @desc
*/
template (value) ServiceSpecificPermissions m_sspDENM_vehicle
modifies m_sspDENM_sign_all := {
sspContainer := {
sspDENM := m_sspDENMContainer_vehicle
} // End of field sspContainer
} // End of template m_sspDENM_vehicle
/**
* @desc
*/
template (value) ServiceSpecificPermissions m_sspDENM_roadSideUnit
modifies m_sspDENM_sign_all := {
sspContainer := {
sspDENM := m_sspDENMContainer_vehicle
} // End of field sspContainer
} // End of template m_sspDENM_roadSideUnit
} // End of group sspDenmSend
group sspDenmRecv {
/**
* @desc
*/
template (present) SspDENM mw_sspDENMContainer_dummy := {
trafficCondition := ?,
accident := ?,
roadworks := ?,
adverseWeatherCondition_Adhesion := ?,
hazardousLocation_SurfaceCondition := ?,
hazardousLocation_ObstacleOnTheRoad := ?,
hazardousLocation_AnimalOnTheRoad := ?,
humanPresenceOnTheRoad := ?,
wrongWayDriving := ?,
rescueAndRecoveryWorkInProgress := ?,
adverseWeatherCondition_ExtremeWeatherCondition := ?,
adverseWeatherCondition_Visibility := ?,
adverseWeatherCondition_Precipitation := ?,
slowVehicle := ?,
dangerousEndOfQueue := ?,
vehicleBreakdown := ?,
postCrash := ?,
humanProblem := ?,
stationaryVehicle := ?,
emergencyVehicleApproaching := ?,
hazardousLocation_DangerousCurve := ?,
collisionRisk := ?,
signalViolation := ?,
dangerousSituation := ?
} // End of template mw_sspDENMContainer_dummy
/**
* @desc
*/
template (present) SspDENM mw_sspDENMContainer_vehicle
modifies mw_sspDENMContainer_dummy := {
trafficCondition := '0'B,
accident := '0'B,
roadworks := '0'B,
adverseWeatherCondition_Adhesion := '0'B,
hazardousLocation_SurfaceCondition := '0'B,
hazardousLocation_ObstacleOnTheRoad := '0'B,
hazardousLocation_AnimalOnTheRoad := '0'B,
slowVehicle := '0'B,
dangerousEndOfQueue := '0'B,
vehicleBreakdown := '0'B,
stationaryVehicle := '0'B
} // End of template mw_sspDENMContainer_vehicle
/**
* @desc
*/
template (present) SspDENM mw_sspDENMContainer_roadSideUnit
modifies mw_sspDENMContainer_dummy := {
trafficCondition := '0'B,
accident := '0'B,
roadworks := '0'B,
adverseWeatherCondition_Adhesion := '0'B,
hazardousLocation_SurfaceCondition := '0'B,
hazardousLocation_ObstacleOnTheRoad := '0'B,
hazardousLocation_AnimalOnTheRoad := '0'B,
humanPresenceOnTheRoad := '0'B,
wrongWayDriving := '0'B,
rescueAndRecoveryWorkInProgress := '0'B,
adverseWeatherCondition_ExtremeWeatherCondition := '0'B,
adverseWeatherCondition_Visibility := '0'B,
adverseWeatherCondition_Precipitation := '0'B,
postCrash := '0'B,
humanProblem := '0'B,
stationaryVehicle := '0'B,
hazardousLocation_DangerousCurve := '0'B,
collisionRisk := '0'B,
dangerousSituation := '0'B
} // End of template m_sspDENMContainer_roadSideUnit
/**
* @desc
*/
template (present) ServiceSpecificPermissions mw_sspDENM_dummy := {
version := '01'O,
sspContainer := {
sspDENM := mw_sspDENMContainer_dummy
}
} // End of template mw_sspDENM_dummy
/**
* @desc
*/
template (present) ServiceSpecificPermissions mw_sspDENM_vehicle
modifies mw_sspDENM_dummy := {
sspContainer := {
sspDENM := mw_sspDENMContainer_vehicle
}
} // End of template mw_sspDENM_vehicle
/**
* @desc
*/
template (present) ServiceSpecificPermissions mw_sspDENM_roadSideUnit
modifies mw_sspDENM_dummy := {
sspContainer := {
sspDENM := mw_sspDENMContainer_roadSideUnit
}
} // End of template mw_sspDENM_roadSideUnit
} // End of group sspDenmRecv
} // End of group sspDenm
} // End of group ssp
} // End of group certificates
/**
......
......@@ -767,10 +767,86 @@ module LibItsSecurity_TypesAndValues {
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6.9 ItsAidSsp
*/
type record ItsAidSsp {
IntX its_aid,
Oct1to31 service_specific_permissions
IntX its_aid,
ServiceSpecificPermissions service_specific_permissions
} // End of type ItsAidSsp
/**
* @desc Service specific permissions definition
* @member version SSP version control
* @member sspConatiner Service specific permissions definition
*/
type record ServiceSpecificPermissions {
Oct1 version,
ServiceSpecificPermissionsContainer sspContainer optional
} // End of type ServiceSpecificPermissions
/**
* @desc Service specific permissions definition
* @member sspDENM Service specific permissions definition for DENM
* @member opaque Service specific permissions definition for others
*/
type union ServiceSpecificPermissionsContainer {
SspDENM sspDENM,
Oct0to30 opaque
} // End of type ServiceSpecificPermissions
/**
* @desc Service specific permissions definition for DENM
* @member trafficCondition
* @member accident
* @member roadworks
* @member adverseWeatherCondition_Adhesion
* @member hazardousLocation_SurfaceCondition
* @member hazardousLocation_ObstacleOnTheRoad
* @member hazardousLocation_AnimalOnTheRoad
* @member humanPresenceOnTheRoad
* @member wrongWayDriving
* @member rescueAndRecoveryWorkInProgress
* @member adverseWeatherCondition_ExtremeWeatherCondition
* @member adverseWeatherCondition_Visibility
* @member adverseWeatherCondition_Precipitation
* @member slowVehicle
* @member dangerousEndOfQueue
* @member vehicleBreakdown
* @member postCrash
* @member humanProblem
* @member stationaryVehicle
* @member emergencyVehicleApproaching
* @member hazardousLocation_DangerousCurve
* @member collisionRisk
* @member signalViolation
* @member dangerousSituation
* @member reserved Reserved for Future Usage
* @see Draft ETSI EN 302 637-3 V1.2.10 Clause 6.2.2.2 Service Specific Permissions (SSP)
*/
type record SspDENM {
Bit1 trafficCondition,
Bit1 accident,
Bit1 roadworks,
Bit1 adverseWeatherCondition_Adhesion,
Bit1 hazardousLocation_SurfaceCondition,
Bit1 hazardousLocation_ObstacleOnTheRoad,
Bit1 hazardousLocation_AnimalOnTheRoad,
Bit1 humanPresenceOnTheRoad,
Bit1 wrongWayDriving,
Bit1 rescueAndRecoveryWorkInProgress,
Bit1 adverseWeatherCondition_ExtremeWeatherCondition,
Bit1 adverseWeatherCondition_Visibility,
Bit1 adverseWeatherCondition_Precipitation,
Bit1 slowVehicle,
Bit1 dangerousEndOfQueue,
Bit1 vehicleBreakdown,
Bit1 postCrash,
Bit1 humanProblem,
Bit1 stationaryVehicle,
Bit1 emergencyVehicleApproaching,
Bit1 hazardousLocation_DangerousCurve,
Bit1 collisionRisk,
Bit1 signalViolation,
Bit1 dangerousSituation
} // End of type SspDENM
} // End of group certificateSpecification
/**
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment