TestCodec_SecuredMessages.ttcn 4.15 KB
Newer Older
garciay's avatar
garciay committed
/*
 * @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_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.");
    }
    
    testcase tc_secured_message_signed() 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 module TestCodec_SecuredMessages