Commit fe5140eb authored by Yann Garcia's avatar Yann Garcia
Browse files

Change module EtsiTs102941MessagesItss into EtsiTs102941MessagesCa

parent cfe16c58
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -104,7 +104,10 @@ void pki_layer::sendMsg(const EtsiTs102941TypesAuthorizationValidation::Authoriz
    return;
  }
  
  // FIXME Encapsulate p_authorization_validation_request into EtsiTs102941Data first
  // Create the EtsiTs102941Data layer
  EtsiTs102941MessagesCa::EtsiTs102941Data etsi_ts_102941_data;
  etsi_ts_102941_data.content().authorizationValidationRequest() = p_authorization_validation_request;
  loggers::get_instance().log_msg("pki_layer::sendMsg: AuthorizationValidationRequest: ", etsi_ts_102941_data);
  
  OCTETSTRING authorization_validation_request;
  _etsi_ts102941_types_authorization_validation_request.encode(p_authorization_validation_request, authorization_validation_request);
Compare b951e6f1 to ee052906
Original line number Diff line number Diff line
Subproject commit b951e6f197f1fe65a99a0916cf63d6a98a506e09
Subproject commit ee0529068f3ecf75f6845029f10935668a70340d
+15 −21
Original line number Diff line number Diff line
@@ -673,13 +673,22 @@ module TestCodec_Pki {
    log("whole-v_hashedid8_ea_certificate= ", v_hashedid8_ea_certificate);
    
    // Create InnerEcResponse message
    f_generate_autorization_validation_response(
    f_generate_authorization_validation_response(
                                                 'DF0185451707BD702C957AB8B8AF827A6FBFBA7777723DDCA40CF6F58DAEA4E4'O,
                                                valueof(v_cert),
                                                 valueof(
                                                         m_certificate_subject_attributes(
                                                                                          v_cert.toBeSigned.appPermissions,
                                                                                          { { subjectPermissions := { all_ := NULL }, minChainLength := 1, chainLengthRange   := 0, eeType := '00000000'B } },
                                                                                          v_cert.toBeSigned.id,
                                                                                          v_cert.toBeSigned.validityPeriod,
                                                                                          v_cert.toBeSigned.region,
                                                                                          v_cert.toBeSigned.assuranceLevel
                                                                                          )
                                                         ),
                                                 v_authorization_validation_response
                                 );
    // Build secured PKI message
    v_enc_msg := encvalue(m_etsiTs102941Data_v_authorization_validation_response(v_authorization_validation_response));
    v_enc_msg := encvalue(m_etsiTs102941Data_authorization_validation_response(v_authorization_validation_response));
    if (ischosen(v_cert_ts_a_ea.toBeSigned.encryptionKey.publicKey.eciesNistP256.compressed_y_0)) {
      v_ret := f_build_pki_secured_message(v_private_key_cert_iut_a_ea, valueof(m_signerIdentifier_digest(v_hashed_id8_cert_iut_a_ea)), int2oct(0, 8), v_cert_ts_a_ea.toBeSigned.encryptionKey.publicKey.eciesNistP256.compressed_y_0, 0, bit2oct(v_enc_msg), v_ieee1609dot2_signed_and_encrypted_data);
    } else {
@@ -745,23 +754,8 @@ module TestCodec_Pki {
    if (v_result == 0) {
      log("Decoded authorization_validation_response: ", v_dec_authorization_validation_response);
      setverdict(pass, "Decoded succeed");
      if (match(v_dec_inner_ec_response.content.enrolmentResponse, v_authorization_validation_response)) {
      if (match(v_dec_authorization_validation_response.content.authorizationValidationResponse, v_authorization_validation_response)) {
        setverdict(pass, "Decoded match succeed");
        // Extract the new EA certificate
        v_cert := v_dec_inner_ec_response.content.enrolmentResponse.certificate;
        // Check signature
        v_tbs := encvalue(v_cert.toBeSigned);
        if (f_verifyWithEcdsaNistp256WithSha256(
                                                bit2oct(v_tbs),
                                                int2oct(11, 32),
                                                valueof(v_cert.signature_.ecdsaNistP256Signature.rSig.x_only) & valueof(v_cert.signature_.ecdsaNistP256Signature.sSig),
                                                v_publicKeyCompressed,
                                                v_compressedMode) == true) {
          setverdict(pass, "Check signature succeed");
        } else {
          setverdict(fail, "Check signature failed");
          stop;
        }
      } else {
        setverdict(fail, "Decoded match failed");
        stop;