Commit 4250b3b4 authored by Yann Garcia's avatar Yann Garcia
Browse files

Validate TC_SECPKI_EA_BFK_AUTH_01_BV

parent 86f32f09
Loading
Loading
Loading
Loading
+1069 −262

File changed.

Preview size limit exceeded, changes collapsed.

+9 −2
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ module LibItsPki_EncdecDeclarations {
  import from EtsiTs102941TypesAuthorization language "ASN.1:1997" all;
  import from EtsiTs102941TypesAuthorizationValidation language "ASN.1:1997" all;
  import from EtsiTs102941MessagesCa language "ASN.1:1997" all;
  import from Ieee1609Dot2Dot1EeRaInterface language "ASN.1:1997" all;
  import from EtsiTs103097Module language "ASN.1:1997" all;
  import from EtsiTs102941TrustLists language "ASN.1:1997" all;

@@ -102,6 +103,12 @@ module LibItsPki_EncdecDeclarations {
  external function fx_dec_AuthorizationValidationResponse(inout bitstring b, out EtsiTs102941TypesAuthorizationValidation.AuthorizationValidationResponse p) return integer
  with {extension "prototype(sliding) decode(PER)"}

  external function fx_enc_RaEeCertInfo(in Ieee1609Dot2Dot1EeRaInterface.RaEeCertInfo p) return bitstring
  with {extension "prototype(convert) encode(PER)"}

  external function fx_dec_RaEeCertInfo(inout bitstring b, out Ieee1609Dot2Dot1EeRaInterface.RaEeCertInfo p) return integer
  with {extension "prototype(sliding) decode(PER)"}

  /**
   * @desc Encoding function for EtsiTs102941BaseTypes PublicKeys
   * @param p The certificate to encode
+19 −9
Original line number Diff line number Diff line
@@ -30,6 +30,11 @@ module LibItsPki_Pics {
   */
  modulepar boolean PICS_SECPKI_ENROLMENT := true;

  /**
   * @desc Does the IUT support X509 enrolment?
   */
  modulepar boolean PICS_SECPKI_ENROLLMENT_X509 := false;
  
  /**
   * @desc Does the IUT support autorization?
   */
@@ -138,29 +143,34 @@ module LibItsPki_Pics {
  modulepar boolean PICS_SIMULATE_AA_ENTITY := false;
  
  /**
   * @desc HTTP POST URI for InnerECRequest
   * @desc HTTP POST URI for InnerECRequest message
   */
  modulepar charstring PICS_HTTP_POST_URI_EC := "/enrolment";
  
  /**
   * @desc HTTP POST URI for BFK Authorization request
   * @desc HTTP POST URI for BFK AuthorizationRequest message
   */
  modulepar charstring PICS_HTTP_POST_URI_BFK_EC := "/auth_request";
  modulepar charstring PICS_HTTP_POST_URI_BFK_AUTH := "/butterflyAuthorization";
  
  /**
   * @desc HTTP POST URI for InnerATRequest
   * @desc HTTP POST URI for BFK AtDownloadRequest message
   */
  modulepar charstring PICS_HTTP_POST_URI_AT := "/authorize";
  modulepar charstring PICS_HTTP_POST_URI_BFK_AT_DOWNLOAD := "/butterflyDownload";
  
  /**
   * @desc HTTP POST URI for authorization validation
   * @desc HTTP POST URI for certificate request message
   */
  modulepar charstring PICS_HTTP_POST_URI_ATV := "/authorize_validate";
  modulepar charstring PICS_HTTP_POST_URI_BFK_AA := "/cert_request";
  
  /**
   * @desc HTTP POST URI for certificate request
   * @desc HTTP POST URI for InnerATRequest message
   */
  modulepar charstring PICS_HTTP_POST_URI_BFK_AA := "/cert_request";
  modulepar charstring PICS_HTTP_POST_URI_AT := "/authorize";
  
  /**
   * @desc HTTP POST URI for authorization validation message
   */
  modulepar charstring PICS_HTTP_POST_URI_ATV := "/authorize_validate";
  
  /**
   * @desc HTTP GET URI for Certificate Trusted List
+129 −75
Original line number Diff line number Diff line
@@ -243,25 +243,35 @@ module LibItsPki_Templates {
                                                                   ) modifies m_etsiTs103097Data_encrypted := {
  } // End of template m_authorizationResponseMessage

  template (present) EtsiTs103097Data mw_butterflyAuthorizationRequest(
  template (present) EtsiTs103097Data mw_butterflyAuthorizationRequestMessage(
                                                                              template (present) EncryptedData p_encryptedData := ?
                                                                              ) modifies mw_etsiTs103097Data_encrypted := {
  } // End of template mw_butterflyAuthorizationRequest
  } // End of template mw_butterflyAuthorizationRequestMessage

  template (present) EtsiTs103097Data mw_butterflyAuthorizationResponseMessage(
                                                                               template (present) SignedData p_signedData := ?
                                                                               ) modifies mw_etsiTs103097Data_signed := {
  } // End of template mw_butterflyAuthorizationResponseMessage

  template (value) EtsiTs103097Data m_butterflyCertRequestMessage(
                                                                  in template (value) EncryptedData p_encryptedData
                                                                  ) modifies m_etsiTs103097Data_encrypted := {
  } // End of template m_butterflyCertRequestMessage

  template (present) EtsiTs103097Data mw_butterflyAuthorizationResponse(
  template (present) EtsiTs103097Data mw_butterflyCertRequestMessage(
                                                                     template (present) EncryptedData p_encryptedData := ?
                                                                     ) modifies mw_etsiTs103097Data_encrypted := {
  } // End of template mw_butterflyAuthorizationResponse
  } // End of template mw_butterflyCertRequestMessage

  template (present) EtsiTs103097Data mw_butterfly_cert_request(
                                                                template (present) EncryptedData p_encryptedData := ?
  template (value) EtsiTs103097Data m_butterflyCertResponseMessage(
                                                                   in template (value) EncryptedData p_encryptedData
                                                                   ) modifies mw_etsiTs103097Data_encrypted := {
  } // End of template mw_butterfly_cert_request
  } // End of template m_butterflyCertResponseMessage

  template (present) EtsiTs103097Data mw_butterfly_cert_response(
  template (present) EtsiTs103097Data mw_butterflyCertResponseMessage(
                                                                      template (present) EncryptedData p_encryptedData := ?
                                                                      ) modifies mw_etsiTs103097Data_encrypted := {
  } // End of template mw_butterfly_cert_response
  } // End of template mw_butterflyCertResponseMessage

  template (present) EtsiTs103097Data/*AuthorizationResponseMessage*/ mw_authorizationResponseMessage(
                                                                                  template (present) EncryptedData p_encryptedData := ?
@@ -366,6 +376,94 @@ module LibItsPki_Templates {
    authorizationValidationResponse := p_authorization_validation_response
  } // End of template mw_authorizationValidationResponse

  template (value) EtsiTs102941DataContent m_butterflyAuthorizationRequest(
                                                                           in template (value) EeRaCertRequest p_butterfly_authorization_request
                                                                           ) := {
    butterflyAuthorizationRequest := p_butterfly_authorization_request
  } // End of template m_butterflyAuthorizationRequest

  template (present) EtsiTs102941DataContent mw_butterflyAuthorizationRequest(
                                                                              template (present) EeRaCertRequest p_butterfly_authorization_request := ?
                                                                              ) := {
    butterflyAuthorizationRequest := p_butterfly_authorization_request
  } // End of template mw_butterflyAuthorizationRequest

  template (value) EtsiTs102941DataContent m_butterflyAuthorizationResponse(
                                                                            in template (value) RaEeCertInfo p_butterfly_authorization_response
                                                                            ) := {
    butterflyAuthorizationResponse := p_butterfly_authorization_response
  } // End of template m_butterflyAuthorizationResponse

  template (present) EtsiTs102941DataContent mw_butterflyAuthorizationResponse(
                                                                               template (present) RaEeCertInfo p_butterfly_authorization_response := ?
                                                                               ) := {
    butterflyAuthorizationResponse := p_butterfly_authorization_response
  } // End of template mw_butterflyAuthorizationResponse




  // //::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyAuthorizationRequest PRESENT})})}
  // template (value) ButterflyAuthorizationRequestMessage m_ee_ra_cert_request_message(
  //                                                                                                 in template (value) EncryptedData p_encryptedData
  //                                                                                                 ) modifies m_etsiTs103097Data_encrypted := {
  // } // End of template m_ee_ra_cert_request

  // template (present) ButterflyAuthorizationRequestMessage mw_butterfly_authorization_request_message(
  //                                                                                                    template (present) EncryptedData p_encryptedData := ?
  //                                                                                                 ) modifies mw_etsiTs103097Data_encrypted := {
  // } // End of template mw_butterfly_authorization_request

  // //::= EtsiTs103097Data-Encrypted-Unicast {EtsiTs102941ButterflyAuthorizationRequest-X509Signed} 
  // template (value) X509SignedButterflyAuthorizationRequestMessage m_x509_signed_butterfly_authorization_request_message(
  //                                                                                                                       in template (value) EncryptedData p_encryptedData
  //                                                                                                                       ) modifies m_etsiTs103097Data_encrypted := {
  // } // End of template m_x509_signed_butterfly_authorization_request_message

  // template (present) X509SignedButterflyAuthorizationRequestMessage mw_x509_signed_butterfly_authorization_request_message(
  //                                                                                                                          template (present) EncryptedData p_encryptedData := ?
  //                                                                                                                          ) modifies mw_etsiTs103097Data_encrypted := {
  // } // End of template mw_x509_signed_butterfly_authorization_request_message

  // //::= EtsiTs103097Data-Signed {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyAuthorizationResponse PRESENT})})}
  // template (value) ButterflyAuthorizationResponseMessage m_butterfly_authorization_response_message(
  //                                                                                                   in template (value) EncryptedData p_encryptedData
  //                                                                                                   ) modifies m_etsiTs103097Data_encrypted := {
  // } // End of template m_butterfly_authorization_response_message

  // template (present) ButterflyAuthorizationResponseMessage mw_butterfly_authorization_response_message(
  //                                                                                                      template (present) EncryptedData p_encryptedData := ?
  //                                                                                                      ) modifies mw_etsiTs103097Data_encrypted := {
  // } // End of template mw_butterfly_authorization_response_message

  // template (value) ButterflyAtDownloadRequestMessage m_butterfly_at_download_request_message(
  //                                                                                            in template (value) EncryptedData p_encryptedData
  //                                                                                            ) modifies m_etsiTs103097Data_encrypted := {
  // } // End of template m_butterfly_at_download_request_message

  // template (present) ButterflyAtDownloadRequestMessage mw_butterfly_at_download_request_message(
  //                                                                                               template (present) EncryptedData p_encryptedData := ?
  //                                                                                               ) modifies mw_etsiTs103097Data_encrypted := {
  // } // End of template mw_butterfly_at_download_request_message



















  template (value) InnerEcRequest m_innerEcRequest(
                                                   in template (value) octetstring p_itsId,
                                                   in template (value) PublicKeys p_publicKeys,
@@ -683,51 +781,7 @@ module LibItsPki_Templates {
    certIssuePermissions := p_certIssuePermissions
  } // End of template mw_certificate_subject_attributes


  //::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyAuthorizationRequest PRESENT})})}
  template (value) ButterflyAuthorizationRequestMessage m_butterfly_authorization_request_message(
                                                                                                  in template (value) EncryptedData p_encryptedData
                                                                                                  ) modifies m_etsiTs103097Data_encrypted := {
  } // End of template m_butterfly_authorization_request

  template (present) ButterflyAuthorizationRequestMessage mw_butterfly_authorization_request_message(
                                                                                                     template (present) EncryptedData p_encryptedData := ?
                                                                                                  ) modifies mw_etsiTs103097Data_encrypted := {
  } // End of template mw_butterfly_authorization_request

  //::= EtsiTs103097Data-Encrypted-Unicast {EtsiTs102941ButterflyAuthorizationRequest-X509Signed} 
  template (value) X509SignedButterflyAuthorizationRequestMessage m_x509_signed_butterfly_authorization_request_message(
                                                                                                                        in template (value) EncryptedData p_encryptedData
                                                                                                                        ) modifies m_etsiTs103097Data_encrypted := {
  } // End of template m_x509_signed_butterfly_authorization_request_message

  template (present) X509SignedButterflyAuthorizationRequestMessage mw_x509_signed_butterfly_authorization_request_message(
                                                                                                                           template (present) EncryptedData p_encryptedData := ?
                                                                                                                           ) modifies mw_etsiTs103097Data_encrypted := {
  } // End of template mw_x509_signed_butterfly_authorization_request_message

  //::= EtsiTs103097Data-Signed {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyAuthorizationResponse PRESENT})})}
  template (value) ButterflyAuthorizationResponseMessage m_butterfly_authorization_response_message(
                                                                                                    in template (value) EncryptedData p_encryptedData
                                                                                                    ) modifies m_etsiTs103097Data_encrypted := {
  } // End of template m_butterfly_authorization_response_message

  template (present) ButterflyAuthorizationResponseMessage mw_butterfly_authorization_response_message(
                                                                                                       template (present) EncryptedData p_encryptedData := ?
                                                                                                       ) modifies mw_etsiTs103097Data_encrypted := {
  } // End of template mw_butterfly_authorization_response_message

  template (value) ButterflyAtDownloadRequestMessage m_butterfly_at_download_request_message(
                                                                                             in template (value) EncryptedData p_encryptedData
                                                                                             ) modifies m_etsiTs103097Data_encrypted := {
  } // End of template m_butterfly_at_download_request_message

  template (present) ButterflyAtDownloadRequestMessage mw_butterfly_at_download_request_message(
                                                                                                template (present) EncryptedData p_encryptedData := ?
                                                                                                ) modifies mw_etsiTs103097Data_encrypted := {
  } // End of template mw_butterfly_at_download_request_message

  template (value) EeRaCertRequest m_butterfly_authorization_request(
  template (value) EeRaCertRequest m_ee_ra_cert_request(
                                                        in Time32 p_generationTime,
                                                        in CertificateType p_type,
                                                        in template (value) ToBeSignedCertificate p_tbsCert,
@@ -738,20 +792,20 @@ module LibItsPki_Templates {
    type_           := p_type,
    tbsCert         := p_tbsCert,
    additionalParams:= p_additionalParams
  } // End of template m_butterfly_authorization_request
  } // End of template m_ee_ra_cert_request

  template (present) EeRaCertRequest mw_butterfly_authorization_request(
  template (present) EeRaCertRequest mw_ee_ra_cert_request(
                                                           template (present) Time32 p_generationTime := ?,
                                                           template (present)  CertificateType p_type := ?,
                                                           template (present) ToBeSignedCertificate p_tbsCert := ?,
                                                                        template AdditionalParams p_additionalParams := *
                                                           template AdditionalParams p_additionalParams := ?
                                                           ) := {
    version         := 2,
    generationTime  := p_generationTime,
    type_           := p_type,
    tbsCert         := p_tbsCert,
    additionalParams:= p_additionalParams
  } // End of template mw_butterfly_authorization_request
  } // End of template mw_ee_ra_cert_request

  template (value) AdditionalParams m_additional_params_original(
                                                                 in template (value) ButterflyParamsOriginal p_original
+1 −0
Original line number Diff line number Diff line
@@ -168,6 +168,7 @@ module LibItsPki_TypesAndValues {
  type record of integer EcCompressedModes;
  type record of HashedId8 EcHashedId8;
  type record of EtsiTs103097Certificate EcCertificates;
  type record of EtsiTs103097Certificate BfkCertificates;
}
with {
  variant ""
Loading