Commit 9660432f authored by Yann Garcia's avatar Yann Garcia
Browse files

Add support of unzip BFK AT download

parent c148ec09
Loading
Loading
Loading
Loading
+8 −19
Original line number Diff line number Diff line
@@ -15672,29 +15672,18 @@ module ItsPki_TestCases {
                                                 mw_http_response(
                                                                  mw_http_response_ok(
                                                                                      mw_http_message_body_binary(
                                                                                                                  mw_binary_body_ieee1609dot2_data(
                                                                                                                                                   mw_butterflyCertResponseMessage(
                                                                                                                                                                                   mw_encryptedData(
                                                                                                                                                                                                    { *, mw_recipientInfo_pskRecipInfo(v_aes_sym_key_hashed_id8), * },
                                                                                                                                                                                                    mw_symmetricCiphertext_aes128ccm
                                                                                                                                                                                                    )))))),
                                                                                                                  mw_http_message_body_binary_bfk_zip(
                                                                                                                                                      mw_http_message_body_binary_bfk_zip_signed_messages
                                                                  )))),
                                                v_response
                                                ) {
              tc_ac.stop;
              if (f_verify_pki_response_message(v_private_key, v_aes_sym_key, v_authentication_vector, vc_eaWholeHash, v_response.response.body.binary_body.ieee1609dot2_data, true, 1, v_etsi_ts_102941_data) == false) {
                log("*** " & testcasename() & ": FAIL: Failed to verify PKI message ***");
                f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
              } else {
                log(match(v_etsi_ts_102941_data, mw_etsiTs102941Data_ra_aca_cert_response(mw_ra_aca_cert_response)));
                if (match(v_etsi_ts_102941_data, mw_etsiTs102941Data_ra_aca_cert_response(mw_ra_aca_cert_response)) == true) {
              // TODO Check HTTP headers
              
              // TODO Check certificates
              log("*** " & testcasename() & ": PASS: Well formated ButterflyAuthorizationResponseMessage received ***");
              f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
                } else {
                  log("*** " & testcasename() & ": FAIL: Invalid ButterflyAuthorizationResponseMessage received ***");
                  f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
                }
              }
            }
            [] tc_ac.timeout {
              log("*** " & testcasename() & ": INCONC: Expected message not received ***");
+4 −4
Original line number Diff line number Diff line
@@ -2089,14 +2089,14 @@ module LibItsPki_Functions {

      // Generate EeRaDownloadRequest
      if (f_generate_ee_ra_download_request(p_filename, v_ee_ra_download_request) == false) {
        log("*** f_http_build_butterfly_at_download_request_message: ERROR: Failed to generate InnerEcRequest ***");
        log("f_http_build_butterfly_at_download_request_message: ERROR: Failed to generate InnerEcRequest");
        return false;
      }
      log ("f_http_build_butterfly_at_download_request_message: v_ee_ra_download_request: ", v_ee_ra_download_request);

      // Secure EeRaDownloadRequest
      if (f_extract_enc_key(vc_eaCertificate, v_public_enc_key, v_compressed_enc_key_mode) == false) {
        log("*** f_http_build_butterfly_at_download_request_message: ERROR: Non canonical EA certificate ***");
        log("f_http_build_butterfly_at_download_request_message: ERROR: Non canonical EA certificate");
        return false;
      }
      log("f_http_build_butterfly_at_download_request_message: Public encryption key: ", v_public_enc_key);
@@ -2108,7 +2108,7 @@ module LibItsPki_Functions {
      log("f_http_build_butterfly_at_download_request_message: vc_ec_cert_hashed_id8: ", vc_ec_hashed_id8);
      v_result := f_build_pki_secured_request_message_signed_with_pop(vc_ec_private_keys[vc_ec_keys_counter - 1], valueof(m_signerIdentifier_digest(vc_ec_hashed_id8[vc_ec_keys_counter - 1])), vc_eaHashedId8/*recipientId*/, v_public_enc_key, v_compressed_enc_key_mode, p_salt, bit2oct(encvalue(m_etsiTs102941Data_ee_ra_download_request(v_ee_ra_download_request))), PX_EC_ALG_FOR_EC, -, p_ieee1609dot2_signed_and_encrypted_data, p_aes_sym_key, p_encrypted_sym_key, p_authentication_vector, p_nonce, p_request_hash);
      if (v_result == false) {
        log("*** f_http_build_butterfly_at_download_request_message: ERROR: Failed to generate InnerEcRequestSignedForPop ***");
        log("f_http_build_butterfly_at_download_request_message: ERROR: Failed to generate InnerEcRequestSignedForPop");
        return false;
      } else {
        log("f_http_build_butterfly_at_download_request_message: p_ieee1609dot2_signed_and_encrypted_data= ", p_ieee1609dot2_signed_and_encrypted_data);
@@ -3786,7 +3786,7 @@ module LibItsPki_Functions {
                                                                                        ),
                                              m_validityPeriod(
                                                              f_getCurrentTime() / 1000,
                                                              m_duration_in_hours(PX_GENERATED_CERTIFICATE_DURATION - 1)
                                                              m_duration_in_hours(PX_GENERATED_CERTIFICATE_DURATION)
                                                              ),
                                              m_geographicRegion_identifiedRegion(
                                                                                  {