Commit 24851ae3 authored by YannGarcia's avatar YannGarcia
Browse files

Validate XML envelopped signature mechanism

parent 7a40e21f
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -100,7 +100,6 @@ int xml_codec::decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::
  if ((it->second.find("<PullRequest") != std::string::npos) || (it->second.find(":PullRequest") != std::string::npos)) {
  if ((it->second.find("<PullRequest") != std::string::npos) || (it->second.find(":PullRequest") != std::string::npos)) {
    http__www__cise__eu__servicemodel__v1__message::PullRequest pull_request;
    http__www__cise__eu__servicemodel__v1__message::PullRequest pull_request;
    pull_request.decode(http__www__cise__eu__servicemodel__v1__message::PullRequest_descr_, decoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED);
    pull_request.decode(http__www__cise__eu__servicemodel__v1__message::PullRequest_descr_, decoding_buffer, TTCN_EncDec::CT_XER, XER_EXTENDED);
    loggers::get_instance().log_msg("2222222222222222222222222222222222222222222222222222: ", pull_request);
    msg.pull__request() = pull_request;
    msg.pull__request() = pull_request;
  } else if ((it->second.find("<PullResponse") != std::string::npos) || (it->second.find(":PullResponse") != std::string::npos)) {
  } else if ((it->second.find("<PullResponse") != std::string::npos) || (it->second.find(":PullResponse") != std::string::npos)) {
    http__www__cise__eu__servicemodel__v1__message::PullResponse pull_response;
    http__www__cise__eu__servicemodel__v1__message::PullResponse pull_response;
@@ -110,7 +109,6 @@ int xml_codec::decode (const OCTETSTRING& p_data, LibHttp__XmlMessageBodyTypes::
    loggers::get_instance().warning("xml_codec::decode: Unsupported variant");
    loggers::get_instance().warning("xml_codec::decode: Unsupported variant");
    return -1;
    return -1;
  }
  }
  loggers::get_instance().log("3333333333333333333333333333333333333333333333333333");


  loggers::get_instance().log_msg("<<< xml_codec::decode: ", (const Base_Type&)msg);
  loggers::get_instance().log_msg("<<< xml_codec::decode: ", (const Base_Type&)msg);
  return 0;
  return 0;
+1 −1
Original line number Original line Diff line number Diff line
@@ -8,7 +8,7 @@ LibCise_Pics.PICS_IUT_ADAPTOR := true
# LibCise
# LibCise
LibCise_Pics.PICS_CISE_SECURITY                  := true
LibCise_Pics.PICS_CISE_SECURITY                  := true
LibCise_Pics.PICS_CISE_CERTIFICATES_DB_PATH      := "/home/yann/dev/cise/keystore"
LibCise_Pics.PICS_CISE_CERTIFICATES_DB_PATH      := "/home/yann/dev/cise/keystore"
LibCise_Pics.PICS_CISE_TS_CERTIFICATE            := "signing_ca.eucise.fr.pem"
LibCise_Pics.PICS_CISE_TS_CERTIFICATE            := "sim1_node01.node01.eucise.fr.pem"
LibCise_Pics.PICS_CISE_TS_SIGNING_PRIVATE_KEY    := "sim1_node01.node01.eucise.fr.pkcs8"
LibCise_Pics.PICS_CISE_TS_SIGNING_PRIVATE_KEY    := "sim1_node01.node01.eucise.fr.pkcs8"
#LibCise_Pics.PICS_CISE_CERTIFICATES_DB_PATH      := "/home/yann/var/ssl/live/yanngarcia.ddns.net"
#LibCise_Pics.PICS_CISE_CERTIFICATES_DB_PATH      := "/home/yann/var/ssl/live/yanngarcia.ddns.net"
#LibCise_Pics.PICS_CISE_TS_CERTIFICATE            := "cert.pem"
#LibCise_Pics.PICS_CISE_TS_CERTIFICATE            := "cert.pem"
Original line number Original line Diff line number Diff line
Subproject commit b3e32ae45e559819ba3eab8ba748a03ff6fdd284
Subproject commit 3c00b81c1e158922c83ae0c0de5288631dd1a2be
+16 −13
Original line number Original line Diff line number Diff line
@@ -146,9 +146,12 @@ module AtsCise_TestCases {
      // Local variables
      // Local variables
      var Headers v_headers;
      var Headers v_headers;
      var HttpMessage v_response;
      var HttpMessage v_response;
      var charstring v_date_time := f_get_current_date_time();
      // var charstring v_date_time := f_get_current_date_time();
      var charstring v_message_id := f_generate_uuid();
      // var charstring v_message_id := f_generate_uuid();
      var charstring v_correlation_id := f_generate_uuid();
      // var charstring v_correlation_id := f_generate_uuid();
      var charstring v_date_time := "2023-02-15T09:47:23+0100"; // For debug purpose with Mockoon
      var charstring v_message_id := "c57dc1e1-9473-c1fa-40c4-88a4fc32"; // For debug purpose with Mockoon
      var charstring v_correlation_id := "19789ef3-2e5f-393d-9011-407be7d5"; // For debug purpose with Mockoon
      var PullRequest v_pull_request;
      var PullRequest v_pull_request;
      var octetstring v_pull_request_signed;
      var octetstring v_pull_request_signed;
      var charstring v_pull_request_signed_canonicalized;
      var charstring v_pull_request_signed_canonicalized;
@@ -166,7 +169,7 @@ module AtsCise_TestCases {
      f_cf_01_up();
      f_cf_01_up();


      // Test adapter configuration
      // Test adapter configuration
      var octetstring to_encode := char2oct("");
      /*var octetstring to_encode := char2oct("");
      log("fx_enc_base64(", to_encode, ")= ", fx_enc_base64(to_encode));
      log("fx_enc_base64(", to_encode, ")= ", fx_enc_base64(to_encode));
      to_encode := char2oct("f");
      to_encode := char2oct("f");
      log("fx_enc_base64(", to_encode, ")= ", fx_enc_base64(to_encode));
      log("fx_enc_base64(", to_encode, ")= ", fx_enc_base64(to_encode));
@@ -198,7 +201,7 @@ module AtsCise_TestCases {
      to_decode := char2oct("Zm9vYmFy");
      to_decode := char2oct("Zm9vYmFy");
      log("fx_dec_base64(", to_decode, ")= ", fx_dec_base64(to_decode));
      log("fx_dec_base64(", to_decode, ")= ", fx_dec_base64(to_decode));
      to_decode := char2oct("eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA==");
      to_decode := char2oct("eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA==");
      log("fx_dec_base64(", to_decode, ")= ", fx_dec_base64(to_decode));
      log("fx_dec_base64(", to_decode, ")= ", fx_dec_base64(to_decode));*/




      // Preamble
      // Preamble
@@ -255,7 +258,7 @@ module AtsCise_TestCases {
      f_init_default_headers_list(-, -, v_headers);
      f_init_default_headers_list(-, -, v_headers);
      httpPort.send(
      httpPort.send(
                    m_http_request(
                    m_http_request(
                                   m_http_request_get(
                                   m_http_request_post(
                                                       PICS_ROOT_API & PX_CISE_PULL_REQUEST_URI & "?messageId=" & v_message_id,
                                                       PICS_ROOT_API & PX_CISE_PULL_REQUEST_URI & "?messageId=" & v_message_id,
                                                       v_headers,
                                                       v_headers,
                                                       mw_http_message_body_xml(
                                                       mw_http_message_body_xml(
+2 −1
Original line number Original line Diff line number Diff line
@@ -166,7 +166,8 @@ module LibCise_Functions {
                              v_sign.signedInfo.reference.digestValue, 
                              v_sign.signedInfo.reference.digestValue, 
                              v_sign.signatureValue, 
                              v_sign.signatureValue, 
                              v_sign.keyInfo.x509Data.x509SubjectName, 
                              v_sign.keyInfo.x509Data.x509SubjectName, 
                              v_sign.keyInfo.x509Data.x509Certificate
                              v_sign.keyInfo.x509Data.x509Certificate,
                              p_debug_message
                              );
                              );
    } // End of function f_verify_sign_pull_request
    } // End of function f_verify_sign_pull_request