Newer
Older
/*
* @author
*
* @version
* 1.0
* @desc
*
* @remark
*
* @see
*
*/
module TestCodec_SecuredMessages {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
// LibIts
import from IEEE1609dot2BaseTypes language "ASN.1:1997" all;
import from IEEE1609dot2 language "ASN.1:1997" all;
import from EtsiTs103097Module language "ASN.1:1997" all;
// LibItsSecurity
import from LibItsSecurity_EncdecDeclarations all;
import from LibItsSecurity_TypesAndValues all;
import from LibItsSecurity_Templates all;
import from LibItsSecurity_Pixits all;
// TestCodec
import from TestCodec_TestAndSystem all;
testcase tc_ssp_cam_1() runs on TCType system TCType {
var SspCAM v_sspCAM := valueof(m_sspCAMContainer_sign_all);
var bitstring v_encMsg;
v_encMsg := encvalue(valueof(v_sspCAM));
if (lengthof(v_encMsg) != 32) {
setverdict(fail);
} else {
var SspCAM v_sspCAM_dec;
if (decvalue(v_encMsg, v_sspCAM_dec) != 0) {
setverdict(fail);
} else if (not(match(v_sspCAM_dec, v_sspCAM))) {
setverdict(fail);
} else {
setverdict(pass);
}
}
} // End of testcase tc_ssp_cam_1
testcase tc_ssp_cam_2() runs on TCType system TCType {
var SspCAM v_sspCAM := valueof(m_sspCAMContainer_sign_all);
var bitstring v_encMsg;
v_sspCAM.publicTransport := '0'B;
v_sspCAM.specialTransport := '0'B;
v_sspCAM.dangerousGoods := '0'B;
v_sspCAM.roadwork := '0'B;
v_sspCAM.rescue := '0'B;
v_encMsg := encvalue(valueof(v_sspCAM));
if (lengthof(v_encMsg) != 32) {
setverdict(fail);
} else {
var SspCAM v_sspCAM_dec;
if (decvalue(v_encMsg, v_sspCAM_dec) != 0) {
setverdict(fail);
} else if (not(match(v_sspCAM_dec, v_sspCAM))) {
setverdict(fail);
testcase tc_ssp_denm() runs on TCType system TCType {
var SspDENM v_sspDENM := valueof(m_sspDENMContainer_sign_all);
var bitstring v_encMsg;
v_encMsg := encvalue(valueof(v_sspDENM));
if (lengthof(v_encMsg) != 32) {
setverdict(fail);
} else {
var SspDENM v_sspDENM_dec;
if (decvalue(v_encMsg, v_sspDENM_dec) != 0) {
setverdict(fail);
} else if (not(match(v_sspDENM_dec, v_sspDENM))) {
testcase tc_secured_message_unsecured() runs on TCType system TCType {
var template (value) EtsiTs103097Data v_secured_data;
var bitstring v_encMsg;
v_secured_data := m_etsiTs103097Data_unsecured(
v_encMsg := encvalue(valueof(v_secured_data));
} // End of testcase tc_secured_message_unsecured
testcase tc_secured_message_signed_1() runs on TCType system TCType {
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
var template (value) EtsiTs103097Data v_secured_data;
var octetstring v_raw_payload_to_be_signed := 'CAFFEDECA0000001'O;
var HashedId8 v_digest := '0000000000000000'O;
var bitstring v_encMsg;
v_secured_data := m_etsiTs103097Data_signed(
m_signedData(
sha256,
m_toBeSignedData(
m_signedDataPayload(
m_ieee1609Dot2Data({unsecuredData := v_raw_payload_to_be_signed})
),
m_headerInfo_gn(
-,
12345,
123456
)
),
{ digest := v_digest },
m_signature_ecdsaNistP256(
m_ecdsaNistP256Signature(
m_eccP256CurvePoint_x_only(
'08B2030104020A0D010C0105C0F80BB1460239348D17405C1A845151D4061200'O
),
'2617CF4E6B25097F03F502AD0C6F2F125974700D31A60FD1EF12040E4D8231AB'O
)
)
)
);
v_encMsg := encvalue(valueof(v_secured_data));
} // End of testcase tc_secured_message_signed_1
control {
execute(tc_ssp_cam_1());
execute(tc_ssp_cam_2());
execute(tc_ssp_denm());
execute(tc_secured_message_unsecured());
execute(tc_secured_message_signed_1());
} // End of module TestCodec_SecuredMessages