Commit 53ee5178 authored by garciay's avatar garciay
Browse files

Cleanup Security templates & Types

parent 6424f714
Loading
Loading
Loading
Loading
+65 −60
Original line number Original line Diff line number Diff line
@@ -14,10 +14,15 @@ module LibItsGeoNetworking_Functions {
  // Libcommon
  // Libcommon
  import from LibCommon_BasicTypesAndValues all;
  import from LibCommon_BasicTypesAndValues all;
  import from LibCommon_DataStrings all;
  import from LibCommon_DataStrings all;
  import from LibCommon_VerdictControl {type FncRetCode;}
  import from LibCommon_VerdictControl all;
  import from LibCommon_Sync all;
  import from LibCommon_Sync all;
  import from LibCommon_Time all;
  import from LibCommon_Time all;
    
    
  // LibIts
  import from IEEE1609dot2BaseTypes language "ASN.1:1997" all;
  import from IEEE1609dot2 language "ASN.1:1997" all;
  import from EtsiTs103097Module language "ASN.1:1997" all;
    
  // LibItsCommon
  // LibItsCommon
  import from LibItsCommon_TypesAndValues all;
  import from LibItsCommon_TypesAndValues all;
  import from LibItsExternal_TypesAndValues all;
  import from LibItsExternal_TypesAndValues all;
@@ -1225,16 +1230,16 @@ module LibItsGeoNetworking_Functions {
                                              ) {
                                              ) {
        repeat;
        repeat;
      }
      }
      [vc_gnDefaultActive] geoNetworkingPort.receive(
      /* FIXME To be reviewed [vc_gnDefaultActive] geoNetworkingPort.receive(
                                                     mw_geoNwInd(
                                                     mw_geoNwInd(
                                                                 mw_geoNwSecPdu(
                                                                 mw_geoNwSecPdu(
                                                                                mdw_securedMessage_CAMs,
                                                                                mw_securedMessage_CAMs,
                                                                                ?
                                                                                ?
                                                                                ))) {
                                                                                ))) {
        // Skip CAM messages
        // Skip CAM messages
        log("*** a_default: WARNING: Skip secured CAM messages ***");
        log("*** a_default: WARNING: Skip secured CAM messages ***");
        repeat;
        repeat;
      }
      }*/
      [vc_gnDefaultActive] geoNetworkingPort.receive {
      [vc_gnDefaultActive] geoNetworkingPort.receive {
        log("*** a_default: WARNING: Received an unexpected message ***");
        log("*** a_default: WARNING: Received an unexpected message ***");
        repeat;
        repeat;
@@ -2538,9 +2543,9 @@ module LibItsGeoNetworking_Functions {
     * @param   p_InSecMsg  SecurityMessage template 
     * @param   p_InSecMsg  SecurityMessage template 
     * @param   p_received  returns received SecurityMessage 
     * @param   p_received  returns received SecurityMessage 
     */
     */
    altstep a_securedMessage (
    /* FIXME To be reviewed altstep a_securedMessage (
                              in template (present) SecuredMessage p_InSecMsg,
                              in template (present) EtsiTs103097Data p_InSecMsg,
                              out SecuredMessage p_received
                              out EtsiTs103097Data p_received
                              ) runs on ItsGeoNetworking {
                              ) runs on ItsGeoNetworking {
      var GeoNetworkingInd v_geoNw;
      var GeoNetworkingInd v_geoNw;
      [] geoNetworkingPort.receive(mw_geoNwInd(
      [] geoNetworkingPort.receive(mw_geoNwInd(
@@ -2552,33 +2557,33 @@ module LibItsGeoNetworking_Functions {
                                                              ))) -> value v_geoNw {
                                                              ))) -> value v_geoNw {
      p_received := f_getSecuredMessage(v_geoNw.msgIn);
      p_received := f_getSecuredMessage(v_geoNw.msgIn);
      }
      }
    }
    }*/
        
        
    /**
    /**
     * @desc         Receive GN message with security containing certificate as a signer info
     * @desc         Receive GN message with security containing certificate as a signer info
     * @param p_cert returns the certificate used for sign received message
     * @param p_cert returns the certificate used for sign received message
     */
     */
    altstep a_securedMessageWithCertificate(
    /* FIXME To be reviewed altstep a_securedMessageWithCertificate(
                                            out SecuredMessage p_received
                                            out EtsiTs103097Data p_received
                                            ) runs on ItsGeoNetworking {
                                            ) runs on ItsGeoNetworking {
            
            
      [] a_securedMessage (
      [] a_securedMessage (
                           mdw_securedMessage (superset(mw_header_field_signer_info_certificate)),
                           mw_securedMessage (superset(mw_header_field_signer_info_certificate)),
                           p_received
                           p_received
                           ) {
                           ) {
        // Nothing to do
        // Nothing to do
      }
      }
    } // End of altstep a_securedMessageWithCertificate
    }*/ // End of altstep a_securedMessageWithCertificate


    /**
    /**
     * @desc         Receive GN message with security containing certificate chain as a signer info
     * @desc         Receive GN message with security containing certificate chain as a signer info
     * @param p_cert returns the certificate used for sign received message
     * @param p_cert returns the certificate used for sign received message
     */
     */
    altstep a_securedMessageWithCertificateChain(
    /* FIXME To be reviewed altstep a_securedMessageWithCertificateChain(
                                                 out SecuredMessage p_received
                                                 out EtsiTs103097Data p_received
                                                 ) runs on ItsGeoNetworking {
                                                 ) runs on ItsGeoNetworking {
      [] a_securedMessage (
      [] a_securedMessage (
                           mdw_securedMessage(
                           mw_securedMessage(
                                              superset(
                                              superset(
                                                       mw_header_field_signer_info_certificate_chain
                                                       mw_header_field_signer_info_certificate_chain
                                                       )),
                                                       )),
@@ -2586,17 +2591,17 @@ module LibItsGeoNetworking_Functions {
                           ) {
                           ) {
        // Nothing to do
        // Nothing to do
      }
      }
    } // End of altstep a_securedMessageWithCertificateChain
    }*/ // End of altstep a_securedMessageWithCertificateChain
        
        
    /**
    /**
     * @desc         Receive GN message with security containing digest as a signer info
     * @desc         Receive GN message with security containing digest as a signer info
     * @param p_cert returns the certificate used for sign received message
     * @param p_cert returns the certificate used for sign received message
     */
     */
    altstep a_securedMessageWithDigest(
    /* FIXME To be reviewed altstep a_securedMessageWithDigest(
                                       out SecuredMessage p_received
                                       out EtsiTs103097Data p_received
                                       ) runs on ItsGeoNetworking {
                                       ) runs on ItsGeoNetworking {
      [] a_securedMessage (
      [] a_securedMessage (
                           mdw_securedMessage (
                           mw_securedMessage (
                                               superset(
                                               superset(
                                                        mw_header_field_signer_info_digest
                                                        mw_header_field_signer_info_digest
                                                        )), 
                                                        )), 
@@ -2604,7 +2609,7 @@ module LibItsGeoNetworking_Functions {
                           ) {
                           ) {
        // Nothing to do
        // Nothing to do
      }
      }
    } // End of altstep a_securedMessageWithDigest
    }*/ // End of altstep a_securedMessageWithDigest
        
        
  } // End of group altSteps
  } // End of group altSteps
    
    
@@ -2615,14 +2620,14 @@ module LibItsGeoNetworking_Functions {
     * @return the certificate used for sign received message
     * @return the certificate used for sign received message
     */
     */
    function f_waitForCertificate(
    function f_waitForCertificate(
                                  out Certificate p_cert
                                  out EtsiTs103097Certificate p_cert
                                  ) runs on ItsGeoNetworking return boolean {
                                  ) runs on ItsGeoNetworking return boolean {
      var SecuredMessage v_recv;
      var EtsiTs103097Data v_recv;
      var boolean v_ret := false;
      var boolean v_ret := false;
            
            
      alt {
      /* FIXME To be reviewed alt {
        [] a_securedMessageWithCertificate(v_recv) {
        [] a_securedMessageWithCertificate(v_recv) {
          var SignerInfo v_si;
          var SignerIdentifier v_si;
                    
                    
          if (f_getMsgSignerInfo(v_recv, v_si) == true) { 
          if (f_getMsgSignerInfo(v_recv, v_si) == true) { 
            if (ischosen(v_si.signerInfo.certificate)) {
            if (ischosen(v_si.signerInfo.certificate)) {
@@ -2631,7 +2636,7 @@ module LibItsGeoNetworking_Functions {
            }
            }
          }
          }
        }
        }
      } // End of 'alt' statement
      }*/ // End of 'alt' statement
            
            
      return v_ret;
      return v_ret;
    } // End of function f_waitForCertificate
    } // End of function f_waitForCertificate
@@ -2640,21 +2645,21 @@ module LibItsGeoNetworking_Functions {
     * @desc  Wait for GN message with security containing certificate chain as a signer info
     * @desc  Wait for GN message with security containing certificate chain as a signer info
     * @return the certificate used for sign received message
     * @return the certificate used for sign received message
     */
     */
    function f_waitForCertificateChain (out CertificateChain p_chain)
    function f_waitForCertificateChain (out SequenceOfCertificate p_chain)
    runs on ItsGeoNetworking
    runs on ItsGeoNetworking
    return boolean {
    return boolean {
      var SecuredMessage v_recv;
      var EtsiTs103097Data v_recv;
      var boolean v_ret := false;
      var boolean v_ret := false;
            
            
      alt {
      /* FIXME To be reviewed alt {
        [] a_securedMessageWithCertificateChain(v_recv) {
        [] a_securedMessageWithCertificateChain(v_recv) {
          var SignerInfo v_si;
          var SignerIdentifier v_si;
          if(f_getMsgSignerInfo(v_recv, v_si)) {
          if(f_getMsgSignerInfo(v_recv, v_si)) {
          p_chain :=  v_si.signerInfo.certificates;
          p_chain :=  v_si.signerInfo.certificates;
          v_ret := true;
          v_ret := true;
          }
          }
        }
        }
      }
      }*/
      return v_ret;
      return v_ret;
    }
    }


@@ -2665,10 +2670,10 @@ module LibItsGeoNetworking_Functions {
    function f_askForCertificateChain (in template(value) octetstring p_CamPayload)
    function f_askForCertificateChain (in template(value) octetstring p_CamPayload)
    runs on ItsGeoNetworking
    runs on ItsGeoNetworking
    return boolean {
    return boolean {
      var SecuredMessage v_recv;
      var EtsiTs103097Data v_recv;
      var SignerInfo     v_si;
      var SignerIdentifier v_si;
      var boolean v_ret := false;
      var boolean v_ret := false;
      alt {
      /* FIXME To be reviewed alt {
        [] a_securedMessageWithCertificate(v_recv) {
        [] a_securedMessageWithCertificate(v_recv) {
          if(f_getMsgSignerInfo(v_recv, v_si)) {
          if(f_getMsgSignerInfo(v_recv, v_si)) {
            if(f_getCertificateSignerInfo(v_si.signerInfo.certificate, v_si)) {
            if(f_getCertificateSignerInfo(v_si.signerInfo.certificate, v_si)) {
@@ -2682,7 +2687,7 @@ module LibItsGeoNetworking_Functions {
            }
            }
          }
          }
        }
        }
      }
      }*/
      return v_ret;
      return v_ret;
    }
    }
    /**
    /**
@@ -2690,15 +2695,15 @@ module LibItsGeoNetworking_Functions {
     * @return the certificate chain used for sign received message
     * @return the certificate chain used for sign received message
     */
     */
    function f_askAndWaitForCertificateChain(
    function f_askAndWaitForCertificateChain(
                                             out CertificateChain p_chain, 
                                             out SequenceOfCertificate p_chain, 
                                             in template(value) octetstring p_CamPayload
                                             in template(value) octetstring p_CamPayload
                                             ) runs on ItsGeoNetworking return boolean {
                                             ) runs on ItsGeoNetworking return boolean {
      // Local variables
      // Local variables
      var SecuredMessage v_recv;
      var EtsiTs103097Data v_recv;
      var SignerInfo     v_si;
      var SignerIdentifier v_si;
      var boolean v_ret := false;
      var boolean v_ret := false;
            
            
      alt {
      /* FIXME To be reviewed alt {
        [] a_securedMessageWithCertificate(v_recv) {
        [] a_securedMessageWithCertificate(v_recv) {
          tc_ac.stop;
          tc_ac.stop;
          if(f_getMsgSignerInfo(v_recv, v_si)) {
          if(f_getMsgSignerInfo(v_recv, v_si)) {
@@ -2718,7 +2723,7 @@ module LibItsGeoNetworking_Functions {
          v_ret := true;
          v_ret := true;
          } 
          } 
        }
        }
      } // End of 'alt' statement
      }*/ // End of 'alt' statement
            
            
      return v_ret;
      return v_ret;
    } // End of function f_askAndWaitForCertificateChain
    } // End of function f_askAndWaitForCertificateChain
@@ -2731,18 +2736,18 @@ module LibItsGeoNetworking_Functions {
                             out HashedId8 p_digest
                             out HashedId8 p_digest
                             ) runs on ItsGeoNetworking return boolean {
                             ) runs on ItsGeoNetworking return boolean {
      // Local variables
      // Local variables
      var SecuredMessage v_recv;
      var EtsiTs103097Data v_recv;
      var boolean v_ret := false;
      var boolean v_ret := false;
            
            
      alt {
      /* FIXME To be reviewed alt {
        [] a_securedMessageWithDigest(v_recv) {
        [] a_securedMessageWithDigest(v_recv) {
          var SignerInfo v_si;
          var SignerIdentifier v_si;
          if(f_getMsgSignerInfo(v_recv, v_si)) { 
          if(f_getMsgSignerInfo(v_recv, v_si)) { 
          p_digest :=  v_si.signerInfo.digest;
          p_digest :=  v_si.signerInfo.digest;
          v_ret := true;
          v_ret := true;
          }
          }
        }
        }
      } // End of 'alt' statement
      }*/ // End of 'alt' statement
            
            
      return v_ret;
      return v_ret;
    } // End of function f_waitForDigest
    } // End of function f_waitForDigest
@@ -2759,12 +2764,12 @@ module LibItsGeoNetworking_Functions {
                                                                in template(value) octetstring p_CamPayload
                                                                in template(value) octetstring p_CamPayload
                                                                ) runs on ItsGeoNetworking return boolean {
                                                                ) runs on ItsGeoNetworking return boolean {
      // Local variables
      // Local variables
      var SecuredMessage v_recv;
      var EtsiTs103097Data v_recv;
            
            
      f_sendCertificate(p_certificate, p_CamPayload);
      f_sendCertificate(p_certificate, p_CamPayload);
      alt {
      /* FIXME To be reviewed alt {
        [] a_securedMessage (
        [] a_securedMessage (
                             mdw_securedMessage(
                             mw_securedMessage(
                                                superset(
                                                superset(
                                                         mw_header_field_unrecognised_certificate
                                                         mw_header_field_unrecognised_certificate
                                                         )),
                                                         )),
@@ -2773,7 +2778,7 @@ module LibItsGeoNetworking_Functions {
          // Nothing to do
          // Nothing to do
          log("*** " & testcasename() & ": DEBUG: Receive certificate ***")
          log("*** " & testcasename() & ": DEBUG: Receive certificate ***")
          }
          }
      } // End of 'alt' statement
      }*/ // End of 'alt' statement
            
            
      return true;
      return true;
    } // End of function f_sendCertificateAndWaitForCertificateChainRequest
    } // End of function f_sendCertificateAndWaitForCertificateChainRequest
@@ -2788,17 +2793,17 @@ module LibItsGeoNetworking_Functions {
                                      ) runs on ItsGeoNetworking {
                                      ) runs on ItsGeoNetworking {
      var GeoNetworkingReq v_gnReq;
      var GeoNetworkingReq v_gnReq;
      var GnNonSecuredPacket v_gnNonSecuredPacket;
      var GnNonSecuredPacket v_gnNonSecuredPacket;
      var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage;
      var template (value) ToBeSignedData v_toBeSignedData;
      var template (value) SecuredMessage v_securedMessage;
      var template (value) EtsiTs103097Data v_securedMessage;
                
                
      // Build signed SecuredMessage
      // Build signed EtsiTs103097Data
    v_gnNonSecuredPacket := valueof(m_geoNwShbPacket(
    v_gnNonSecuredPacket := valueof(m_geoNwShbPacket(
                                                     f_getPosition(c_compNodeC) // FIXME To be verified YANN
                                                     f_getPosition(c_compNodeC) // FIXME To be verified YANN
                                                     ));
                                                     ));
      // Add CAM payload
      // Add CAM payload
    v_gnNonSecuredPacket.payload := valueof(p_payload);
    v_gnNonSecuredPacket.payload := valueof(p_payload);
            
            
      f_buildGnSecuredCam(
      /* FIXME To be reviewed f_buildGnSecuredCam(
                          v_securedMessage,
                          v_securedMessage,
                          m_payload_signed(bit2oct(encvalue(v_gnNonSecuredPacket))),
                          m_payload_signed(bit2oct(encvalue(v_gnNonSecuredPacket))),
                          e_certificate,
                          e_certificate,
@@ -2820,7 +2825,7 @@ module LibItsGeoNetworking_Functions {
                                                     )); // End of template m_geoNwReq_linkLayerBroadcast
                                                     )); // End of template m_geoNwReq_linkLayerBroadcast
            
            
      // Send Message
      // Send Message
      f_sendGeoNetMessage(v_gnReq);
      f_sendGeoNetMessage(v_gnReq);*/
            
            
    } // End of function f_sendCertificateRequest
    } // End of function f_sendCertificateRequest
        
        
@@ -2838,11 +2843,11 @@ module LibItsGeoNetworking_Functions {
                               ) runs on ItsGeoNetworking {
                               ) runs on ItsGeoNetworking {
      var GeoNetworkingReq v_gnReq;
      var GeoNetworkingReq v_gnReq;
      var GnNonSecuredPacket v_gnNonSecuredPacket;
      var GnNonSecuredPacket v_gnNonSecuredPacket;
      var template (value) ToBeSignedSecuredMessage v_toBeSignedSecuredMessage;
      var template (value) ToBeSignedData v_toBeSignedData;
      var template (value) SecuredMessage v_securedMessage;
      var template (value) EtsiTs103097Data v_securedMessage;
                
                
      // Build signed SecuredMessage
      // Build signed EtsiTs103097Data
    v_gnNonSecuredPacket := valueof(m_geoNwShbPacket(
    /* FIXME To be reviewed v_gnNonSecuredPacket := valueof(m_geoNwShbPacket(
                                                     f_getPosition(c_compNodeC) // FIXME To be verified YANN
                                                     f_getPosition(c_compNodeC) // FIXME To be verified YANN
                                                     ));
                                                     ));
      // Add CAM payload
      // Add CAM payload
@@ -2865,7 +2870,7 @@ module LibItsGeoNetworking_Functions {
                                                     )); // End of template m_geoNwReq_linkLayerBroadcast
                                                     )); // End of template m_geoNwReq_linkLayerBroadcast
            
            
      // Send Message
      // Send Message
      f_sendGeoNetMessage(v_gnReq);
      f_sendGeoNetMessage(v_gnReq);*/
            
            
    } // End of function f_sendCertificate
    } // End of function f_sendCertificate
        
        
@@ -2874,12 +2879,12 @@ module LibItsGeoNetworking_Functions {
  group messageGetters {
  group messageGetters {
        
        
    /**
    /**
     * @desc    return SecuredMessage field of GeoNetworking packet 
     * @desc    return EtsiTs103097Data field of GeoNetworking packet 
     * @param   p_msg GeoNetworking packet
     * @param   p_msg GeoNetworking packet
     * @return  the SecuredMessage if any
     * @return  the EtsiTs103097Data if any
     */
     */
    function f_getSecuredMessage(in GeoNetworkingPdu p_msg)
    function f_getSecuredMessage(in GeoNetworkingPdu p_msg)
    return SecuredMessage {
    return EtsiTs103097Data {
      return p_msg.gnPacket.securedMsg;
      return p_msg.gnPacket.securedMsg;
    }
    }
        
        
+5 −2
Original line number Original line Diff line number Diff line
@@ -15,6 +15,9 @@ module LibItsGeoNetworking_Templates {
    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_DataStrings all;
    import from LibCommon_DataStrings all;
    
    
    // LibIts
    import from EtsiTs103097Module language "ASN.1:1997" all;
    
    // LibItsCommon
    // LibItsCommon
    import from LibItsCommon_TypesAndValues all;
    import from LibItsCommon_TypesAndValues all;
    import from LibItsExternal_TypesAndValues all;
    import from LibItsExternal_TypesAndValues all;
@@ -500,7 +503,7 @@ module LibItsGeoNetworking_Templates {
         * @param   p_packet    Clear-text version of the packet
         * @param   p_packet    Clear-text version of the packet
         */
         */
        template (present) GeoNetworkingPdu mw_geoNwSecPdu(
        template (present) GeoNetworkingPdu mw_geoNwSecPdu(
            in template (present) SecuredMessage p_secMsg,
            in template (present) EtsiTs103097Data p_secMsg,
            in template (present) GnNonSecuredPacket p_packet := ?
            in template (present) GnNonSecuredPacket p_packet := ?
        ) := {
        ) := {
            basicHeader := mw_securedBasicHeader(),
            basicHeader := mw_securedBasicHeader(),
@@ -517,7 +520,7 @@ module LibItsGeoNetworking_Templates {
         */
         */
        template (value) GeoNetworkingPdu m_geoNwSecPdu(
        template (value) GeoNetworkingPdu m_geoNwSecPdu(
            in template (value) GnNonSecuredPacket p_packet,
            in template (value) GnNonSecuredPacket p_packet,
            in template (value) SecuredMessage p_secMsg
            in template (value) EtsiTs103097Data p_secMsg
        ) := {
        ) := {
            basicHeader := m_securedBasicHeader(),
            basicHeader := m_securedBasicHeader(),
            gnPacket := {
            gnPacket := {
+2 −7
Original line number Original line Diff line number Diff line
@@ -16,12 +16,7 @@ module LibItsGeoNetworking_TypesAndValues {
  import from LibCommon_DataStrings all;
  import from LibCommon_DataStrings all;
    
    
  // LibIts
  // LibIts
  //    import from LibItsCommon_TypesAndValues all;
  import from EtsiTs103097Module language "ASN.1:1997" all;
  //import from LibItsBtp_TypesAndValues {type BtpPacket;}
  //import from LibItsIpv6OverGeoNetworking_TypesAndValues {type Ipv6Packet;}
    
  // LibItsSecurity
  import from LibItsSecurity_TypesAndValues all;
    
    
  group geoConfigurationValues {
  group geoConfigurationValues {
        
        
@@ -190,7 +185,7 @@ module LibItsGeoNetworking_TypesAndValues {
        
        
    type record GeoNetworkingPacket {
    type record GeoNetworkingPacket {
      GnNonSecuredPacket  packet,
      GnNonSecuredPacket  packet,
      SecuredMessage      securedMsg optional
      EtsiTs103097Data    securedMsg optional
      } with {
      } with {
      encode (securedMsg) "LibItsSecurity"
      encode (securedMsg) "LibItsSecurity"
      }
      }
+12 −2
Original line number Original line Diff line number Diff line
@@ -15,6 +15,8 @@ module LibItsSecurity_EncdecDeclarations {
    external function fx_enc_CertificateBase(in IEEE1609dot2.CertificateBase p) return bitstring
    external function fx_enc_CertificateBase(in IEEE1609dot2.CertificateBase p) return bitstring
      with {extension "prototype(convert) encode(PER)"}
      with {extension "prototype(convert) encode(PER)"}
    
    
    external function fx_dec_CertificateBase(inout bitstring b, out IEEE1609dot2.CertificateBase p) return integer
        with {extension "prototype(sliding) decode(PER)"}
    /**
    /**
     * @desc Encoding function for IEEE1609dot2.ToBeSignedCertificate
     * @desc Encoding function for IEEE1609dot2.ToBeSignedCertificate
     * @param p The ToBeSign part of the certificate
     * @param p The ToBeSign part of the certificate
@@ -23,6 +25,14 @@ module LibItsSecurity_EncdecDeclarations {
    external function fx_enc_ToBeSignedCertificate(in IEEE1609dot2.ToBeSignedCertificate p) return bitstring
    external function fx_enc_ToBeSignedCertificate(in IEEE1609dot2.ToBeSignedCertificate p) return bitstring
        with {extension "prototype(convert) encode(PER)"}
        with {extension "prototype(convert) encode(PER)"}
    
    
    /**
     * @desc Encoding function for IEEE1609dot2.Ieee1609Dot2Data
     * @param p The Ieee1609Dot2Data part of the certificate
     * @return The encode message in OER format
     */
    external function fx_enc_Ieee1609Dot2Data(in IEEE1609dot2.Ieee1609Dot2Data p) return bitstring
    with {extension "prototype(convert) encode(PER)"}

    
    
    
    
    
    
@@ -40,7 +50,7 @@ module LibItsSecurity_EncdecDeclarations {
    
    
    
    
    //encoding functions
    //encoding functions
    external function fx_enc_SecuredMessage (LibItsSecurity_TypesAndValues.SecuredMessage p) return bitstring
/*    external function fx_enc_SecuredMessage (LibItsSecurity_TypesAndValues.SecuredMessage p) return bitstring
        with {extension "prototype(convert) encode(LibItsSecurity)"}
        with {extension "prototype(convert) encode(LibItsSecurity)"}
    
    
    external function fx_enc_ToBeSignedSecuredMessage (LibItsSecurity_TypesAndValues.ToBeSignedSecuredMessage p) return bitstring
    external function fx_enc_ToBeSignedSecuredMessage (LibItsSecurity_TypesAndValues.ToBeSignedSecuredMessage p) return bitstring
@@ -63,6 +73,6 @@ module LibItsSecurity_EncdecDeclarations {
        with {extension "prototype(sliding) decode(LibItsSecurity)"}
        with {extension "prototype(sliding) decode(LibItsSecurity)"}
    
    
    external function fx_dec_ToBeSignedCertificate (inout bitstring b, out LibItsSecurity_TypesAndValues.ToBeSignedCertificate p) return integer
    external function fx_dec_ToBeSignedCertificate (inout bitstring b, out LibItsSecurity_TypesAndValues.ToBeSignedCertificate p) return integer
        with {extension "prototype(sliding) decode(LibItsSecurity)"}
        with {extension "prototype(sliding) decode(LibItsSecurity)"}*/
    
    
} // End of module LibItsSecurity_EncdecDeclarations 
} // End of module LibItsSecurity_EncdecDeclarations 
+380 −367

File changed.

Preview size limit exceeded, changes collapsed.

Loading