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() 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))) {
} else {
setverdict(pass);
}
}
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))) {
} else {
setverdict(pass);
}
}
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(
} // End of testcase tc_secured_message_unsecured
testcase tc_secured_message_signed_1() runs on TCType system TCType {
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
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(v_secured_data);
setverdict(pass, "Encoding passed.");
} // End of testcase tc_secured_message_signed_1
control {
execute(tc_ssp_cam());
execute(tc_ssp_denm());
execute(tc_secured_message_unsecured());
execute(tc_secured_message_signed_1());