Loading ttcn/TestCodec/TestCodec_Pki.ttcn +39 −5 Original line number Diff line number Diff line Loading @@ -123,7 +123,7 @@ module TestCodec_Pki { var InnerEcRequest v_inner_ec_request; var Ieee1609Dot2Data v_inner_ec_request_signed_for_pop; var bitstring v_inner_ec_request_signed_for_pop_msg; var Ieee1609Dot2Data v_dec_inner_ec_request_signed_for_pop; var EtsiTs102941Data v_dec_inner_ec_request_signed_for_pop; var InnerEcRequest v_dec_inner_ec_request; var bitstring v_dec_inner_ec_request_msg; var bitstring v_tbs; Loading Loading @@ -207,7 +207,8 @@ module TestCodec_Pki { stop; } // Extract InnerEcRequest v_dec_inner_ec_request_msg := oct2bit(v_dec_inner_ec_request_signed_for_pop.content.signedData.tbsData.payload.data.content.unsecuredData); log("v_dec_inner_ec_request_signed_for_pop.content.enrolmentRequest= ", v_dec_inner_ec_request_signed_for_pop.content.enrolmentRequest); v_dec_inner_ec_request_msg := oct2bit(v_dec_inner_ec_request_signed_for_pop.content.enrolmentRequest.content.signedData.tbsData.payload.data.content.unsecuredData); v_result := decvalue(v_dec_inner_ec_request_msg, v_dec_inner_ec_request); if (v_result == 0) { log("Decode InnerEcRequest: ", v_dec_inner_ec_request); Loading Loading @@ -369,6 +370,9 @@ module TestCodec_Pki { var bitstring v_ieee1609dot2_signed_and_encrypted_data_msg; var Ieee1609Dot2Data v_dec_ieee1609dot2_signed_and_encrypted_data; var Ieee1609Dot2Data v_dec_ieee1609dot2_signed_data; var bitstring v_dec_inner_ec_response_msg; var EtsiTs102941Data v_dec_inner_ec_response; var integer v_result; if (not(PICS_SEC_FIXED_KEYS)) { Loading Loading @@ -427,7 +431,7 @@ module TestCodec_Pki { // Build secured PKI message v_enc_msg := encvalue(m_etsiTs102941Data_inner_ec_response(v_inner_ec_response)); if (f_build_pki_secured_message(v_private_key, v_publicKeyCompressed, v_compressedMode, bit2oct(v_enc_msg), v_ieee1609dot2_signed_and_encrypted_data) == false) { setverdict(fail, "Failed to secure InnerEcRequest message"); setverdict(fail, "Failed to secure InnerEcResponse message"); stop; } // Encode it Loading @@ -436,7 +440,7 @@ module TestCodec_Pki { log("Encoded message: ", v_ieee1609dot2_signed_and_encrypted_data_msg); setverdict(pass, "Encoded succeed"); // Decode encrypted InnerEcRequest // Decode encrypted InnerEcResponse v_result := decvalue(v_ieee1609dot2_signed_and_encrypted_data_msg, v_dec_ieee1609dot2_signed_and_encrypted_data); if (v_result == 0) { log("Decoded message: ", v_dec_ieee1609dot2_signed_and_encrypted_data); Loading @@ -452,10 +456,40 @@ module TestCodec_Pki { stop; } // Decrypt InnerEcRequest // Decrypt InnerEcResponse f_decrypt(v_private_key, v_dec_ieee1609dot2_signed_and_encrypted_data, v_dec_ieee1609dot2_signed_data); log("v_dec_ieee1609dot2_signed_data= ", v_dec_ieee1609dot2_signed_data); // Verify signature v_tbs := encvalue(v_dec_ieee1609dot2_signed_data.content.signedData.tbsData); if (fx_verifyWithEcdsaNistp256WithSha256( bit2oct(v_tbs), int2oct(0, 32), v_dec_ieee1609dot2_signed_data.content.signedData.signature_.ecdsaNistP256Signature.rSig.x_only & v_dec_ieee1609dot2_signed_data.content.signedData.signature_.ecdsaNistP256Signature.sSig, v_publicKeyCompressed, v_compressedMode) == true) { setverdict(pass, "Check signature succeed"); } else { setverdict(fail, "Check signature failed"); stop; } // Extract InnerEcResponse v_dec_inner_ec_response_msg := oct2bit(v_dec_ieee1609dot2_signed_data.content.signedData.tbsData.payload.data.content.unsecuredData); v_result := decvalue(v_dec_inner_ec_response_msg, v_dec_inner_ec_response); if (v_result == 0) { log("Decoded InnerEcResponse: ", v_dec_inner_ec_response); setverdict(pass, "Decoded succeed"); if (match(v_dec_inner_ec_response.content.enrolmentResponse, v_inner_ec_response)) { setverdict(pass, "Decoded match succeed"); } else { setverdict(fail, "Decoded match failed"); stop; } } else { setverdict(fail, "Decoding failed"); stop; } } // End of testcase tc_inner_ec_response_2 control { Loading Loading
ttcn/TestCodec/TestCodec_Pki.ttcn +39 −5 Original line number Diff line number Diff line Loading @@ -123,7 +123,7 @@ module TestCodec_Pki { var InnerEcRequest v_inner_ec_request; var Ieee1609Dot2Data v_inner_ec_request_signed_for_pop; var bitstring v_inner_ec_request_signed_for_pop_msg; var Ieee1609Dot2Data v_dec_inner_ec_request_signed_for_pop; var EtsiTs102941Data v_dec_inner_ec_request_signed_for_pop; var InnerEcRequest v_dec_inner_ec_request; var bitstring v_dec_inner_ec_request_msg; var bitstring v_tbs; Loading Loading @@ -207,7 +207,8 @@ module TestCodec_Pki { stop; } // Extract InnerEcRequest v_dec_inner_ec_request_msg := oct2bit(v_dec_inner_ec_request_signed_for_pop.content.signedData.tbsData.payload.data.content.unsecuredData); log("v_dec_inner_ec_request_signed_for_pop.content.enrolmentRequest= ", v_dec_inner_ec_request_signed_for_pop.content.enrolmentRequest); v_dec_inner_ec_request_msg := oct2bit(v_dec_inner_ec_request_signed_for_pop.content.enrolmentRequest.content.signedData.tbsData.payload.data.content.unsecuredData); v_result := decvalue(v_dec_inner_ec_request_msg, v_dec_inner_ec_request); if (v_result == 0) { log("Decode InnerEcRequest: ", v_dec_inner_ec_request); Loading Loading @@ -369,6 +370,9 @@ module TestCodec_Pki { var bitstring v_ieee1609dot2_signed_and_encrypted_data_msg; var Ieee1609Dot2Data v_dec_ieee1609dot2_signed_and_encrypted_data; var Ieee1609Dot2Data v_dec_ieee1609dot2_signed_data; var bitstring v_dec_inner_ec_response_msg; var EtsiTs102941Data v_dec_inner_ec_response; var integer v_result; if (not(PICS_SEC_FIXED_KEYS)) { Loading Loading @@ -427,7 +431,7 @@ module TestCodec_Pki { // Build secured PKI message v_enc_msg := encvalue(m_etsiTs102941Data_inner_ec_response(v_inner_ec_response)); if (f_build_pki_secured_message(v_private_key, v_publicKeyCompressed, v_compressedMode, bit2oct(v_enc_msg), v_ieee1609dot2_signed_and_encrypted_data) == false) { setverdict(fail, "Failed to secure InnerEcRequest message"); setverdict(fail, "Failed to secure InnerEcResponse message"); stop; } // Encode it Loading @@ -436,7 +440,7 @@ module TestCodec_Pki { log("Encoded message: ", v_ieee1609dot2_signed_and_encrypted_data_msg); setverdict(pass, "Encoded succeed"); // Decode encrypted InnerEcRequest // Decode encrypted InnerEcResponse v_result := decvalue(v_ieee1609dot2_signed_and_encrypted_data_msg, v_dec_ieee1609dot2_signed_and_encrypted_data); if (v_result == 0) { log("Decoded message: ", v_dec_ieee1609dot2_signed_and_encrypted_data); Loading @@ -452,10 +456,40 @@ module TestCodec_Pki { stop; } // Decrypt InnerEcRequest // Decrypt InnerEcResponse f_decrypt(v_private_key, v_dec_ieee1609dot2_signed_and_encrypted_data, v_dec_ieee1609dot2_signed_data); log("v_dec_ieee1609dot2_signed_data= ", v_dec_ieee1609dot2_signed_data); // Verify signature v_tbs := encvalue(v_dec_ieee1609dot2_signed_data.content.signedData.tbsData); if (fx_verifyWithEcdsaNistp256WithSha256( bit2oct(v_tbs), int2oct(0, 32), v_dec_ieee1609dot2_signed_data.content.signedData.signature_.ecdsaNistP256Signature.rSig.x_only & v_dec_ieee1609dot2_signed_data.content.signedData.signature_.ecdsaNistP256Signature.sSig, v_publicKeyCompressed, v_compressedMode) == true) { setverdict(pass, "Check signature succeed"); } else { setverdict(fail, "Check signature failed"); stop; } // Extract InnerEcResponse v_dec_inner_ec_response_msg := oct2bit(v_dec_ieee1609dot2_signed_data.content.signedData.tbsData.payload.data.content.unsecuredData); v_result := decvalue(v_dec_inner_ec_response_msg, v_dec_inner_ec_response); if (v_result == 0) { log("Decoded InnerEcResponse: ", v_dec_inner_ec_response); setverdict(pass, "Decoded succeed"); if (match(v_dec_inner_ec_response.content.enrolmentResponse, v_inner_ec_response)) { setverdict(pass, "Decoded match succeed"); } else { setverdict(fail, "Decoded match failed"); stop; } } else { setverdict(fail, "Decoding failed"); stop; } } // End of testcase tc_inner_ec_response_2 control { Loading