/* * @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); } } } // End of testcase tc_ssp_cam 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); } } } // End of testcase tc_ssp_denm 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( 'CAFEDECA'O ); v_encMsg := encvalue(v_secured_data); setverdict(pass, "Encoding passed."); } // End of testcase tc_secured_message_unsecured testcase tc_secured_message_signed_1() runs on TCType system TCType { 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()); } } // End of module TestCodec_SecuredMessages