<?xml version="1.0" encoding="UTF-8"?>
<package schemaVersion="1.6.3" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="PACK.xsd">
  <vendor>ARM</vendor>
  <name>mbedTLS</name>
  <description>ARM mbed Cryptographic and SSL/TLS library</description>
  <!-- web download link -->
  <url>https://www.keil.com/pack/</url>
  <releases>
    <release version="3.1.0" date="2022-08-30">
      Updated to mbedTLS V3.1.0
    </release>
    <release version="1.8.0" date="2022-02-11">
      Updated to mbedTLS V2.28.0
    </release>
    <release version="1.7.0" date="2021-02-15">
      Updated to mbedTLS V2.24.0
      Added PSA Crypto mbedTLS component
    </release>
    <release version="1.6.1" date="2020-04-22">
      Updated support for IoT Socket: added function mbedtls_net_poll
      Updated MDK examples (using latest components)
    </release>
    <release version="1.6.0" date="2019-04-02">
      Updated to mbedTLS V2.17.0
    </release>
    <release version="1.5.1" date="2022-02-01">
      Updated to mbedTLS V2.16.8
      Removed mbedTLS.h header (not part of mbedTLS)
      Updated platform dependency
    </release>
    <release version="1.5.0" date="2018-06-07">
      Updated to mbedTLS V2.9.0
      Updated support for MDK-Network
    </release>
    <release version="1.4.0" date="2018-04-20">
      Updated to mbedTLS V2.8.0
      Added support for IoT Socket
    </release>
    <release version="1.3.1" date="2018-01-25">
      Updated to mbedTLS V2.6.1
      Added support for CMSIS-RTOS2
      Added support for Cortex-M23/33 and ARMv8M
    </release>
    <release version="1.3.0" date="2017-10-11">
      Updated to mbedTLS V2.6.0
    </release>
    <release version="1.2.0" date="2017-04-27">
      Updated to mbedTLS V2.4.2; documentation states V2.4.1 (same as original mbedTLS documentation)
    </release>
    <release version="1.1.1" date="2016-11-28">
      Removed the requirement for the 'RTE' folder being an implicit project include path (build failure MDK-ARM 5.22 or greater)
    </release>
    <release version="1.1.0" date="2016-05-09">
      Updated to mbedTLS V2.2.1
    </release>
    <release version="1.0.0">
      Initial release based on mbedTLS V2.1.2
    </release>
  </releases>
  <requirements>
    <packages>
      <package vendor="ARM" name="PSA" version="1.0.0"/>
    </packages>
  </requirements>
  <conditions>
    <condition id="CMSIS RTOS">
      <description>CMSIS RTOS (API1 or API2)</description>
      <require Cclass="CMSIS" Cgroup="CORE" Cversion="5.0.1"/>
      <accept  Cclass="CMSIS" Cgroup="RTOS"/>
      <accept  Cclass="CMSIS" Cgroup="RTOS2"/>
    </condition>
    <condition id="MDK-Pro Network">
      <description>MDK-Pro Network CORE component</description>
      <require Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" Cversion="7.9.0"/>
    </condition>
    <condition id="IoT Socket">
      <description>IoT Socket component</description>
      <require Cclass="IoT Utility" Cgroup="Socket"/>
      <deny Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE"/>
    </condition>
    <condition id="Generic Network">
      <description>Generic Network CORE component</description>
      <deny Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE"/>
      <deny Cclass="IoT Utility" Cgroup="Socket"/>
    </condition>
    <condition id="mbed TLS">
      <description>mbed TLS component</description>
      <require Cclass="Security" Cgroup="mbed TLS" Cversion="3.1.0"/>
    </condition>
  </conditions>
  <components>
    <component Cclass="Security" Cgroup="mbed TLS" Cversion="3.1.0">
      <description>ARM mbed Cryptographic and SSL/TLS library</description>
      <RTE_Components_h>
        #define RTE_Security_mbedTLS            /* Security mbed TLS */
      </RTE_Components_h>
      <files>
        <file category="doc"     name="apidoc/index.html"/>
        <file category="include" name="include/"/>
        <file category="include" name="RTE/include/"/>
        <file category="header"  name="RTE/configs/mbedTLS_config.h"        attr="config" version="3.1.0"/>
        <file category="header"  name="RTE/configs/mbedTLS_crypto_config.h" attr="config" version="3.1.0"/>
        <file category="source"  name="library/aes.c"/>
   <!-- <file category="source"  name="library/aesni.c"/> -->
        <file category="source"  name="library/aria.c"/>
        <file category="source"  name="library/asn1parse.c"/>
        <file category="source"  name="library/asn1write.c"/>
        <file category="source"  name="library/base64.c"/>
        <file category="source"  name="library/bignum.c"/>
        <file category="source"  name="library/camellia.c"/>
        <file category="source"  name="library/ccm.c"/>
        <file category="source"  name="library/chacha20.c"/>
        <file category="source"  name="library/chachapoly.c"/>
        <file category="source"  name="library/cipher.c"/>
        <file category="source"  name="library/cipher_wrap.c"/>
        <file category="source"  name="library/cmac.c"/>
        <file category="source"  name="library/constant_time.c"/>
        <file category="source"  name="library/ctr_drbg.c"/>
        <file category="source"  name="library/debug.c"/>
        <file category="source"  name="library/des.c"/>
        <file category="source"  name="library/dhm.c"/>
        <file category="source"  name="library/ecdh.c"/>
        <file category="source"  name="library/ecdsa.c"/>
        <file category="source"  name="library/ecjpake.c"/>
        <file category="source"  name="library/ecp.c"/>
        <file category="source"  name="library/ecp_curves.c"/>
        <file category="source"  name="library/entropy.c"/>
        <file category="source"  name="library/entropy_poll.c"/>
        <file category="source"  name="MDK/library/entropy_poll_hw.c" condition="CMSIS RTOS"/>
        <file category="source"  name="library/error.c"/>
        <file category="source"  name="library/gcm.c"/>
        <file category="source"  name="library/hkdf.c"/>
        <file category="source"  name="library/hmac_drbg.c"/>
        <file category="source"  name="library/md.c"/>
        <file category="source"  name="library/md5.c"/>
        <file category="source"  name="library/memory_buffer_alloc.c"/>
        <file category="source"  name="library/mps_reader.c"/>
        <file category="source"  name="library/mps_trace.c"/>
        <file category="source"  name="library/net_sockets.c"                condition="Generic Network"/>
        <file category="source"  name="MDK/library/mw_network/net_sockets.c" condition="MDK-Pro Network"/>
        <file category="source"  name="MDK/library/iot_socket/net_sockets.c" condition="IoT Socket"/>
        <file category="source"  name="library/nist_kw.c"/>
        <file category="source"  name="library/oid.c"/>
   <!-- <file category="source"  name="library/padlock.c"/> -->
        <file category="source"  name="library/pem.c"/>
        <file category="source"  name="library/pk.c"/>
        <file category="source"  name="library/pk_wrap.c"/>
        <file category="source"  name="library/pkcs5.c"/>
        <file category="source"  name="library/pkcs12.c"/>
        <file category="source"  name="library/pkparse.c"/>
        <file category="source"  name="library/pkwrite.c"/>
        <file category="source"  name="library/platform.c"/>
        <file category="source"  name="library/platform_util.c"/>
        <file category="source"  name="library/poly1305.c"/>
        <file category="source"  name="library/psa_crypto.c"/>
        <file category="source"  name="library/psa_crypto_aead.c"/>
        <file category="source"  name="library/psa_crypto_cipher.c"/>
        <file category="source"  name="library/psa_crypto_client.c"/>
        <file category="source"  name="library/psa_crypto_driver_wrappers.c"/>
        <file category="source"  name="library/psa_crypto_ecp.c"/>
        <file category="source"  name="library/psa_crypto_hash.c"/>
        <file category="source"  name="library/psa_crypto_mac.c"/>
        <file category="source"  name="library/psa_crypto_rsa.c"/>
        <file category="source"  name="library/psa_crypto_se.c"/>
        <file category="source"  name="library/psa_crypto_slot_management.c"/>
        <file category="source"  name="library/psa_crypto_storage.c"/>
        <file category="source"  name="library/psa_its_file.c"/>
        <file category="source"  name="library/ripemd160.c"/>
        <file category="source"  name="library/rsa.c"/>
        <file category="source"  name="library/rsa_alt_helpers.c"/>
        <file category="source"  name="library/sha1.c"/>
        <file category="source"  name="library/sha256.c"/>
        <file category="source"  name="library/sha512.c"/>
        <file category="source"  name="library/ssl_cache.c"/>
        <file category="source"  name="library/ssl_ciphersuites.c"/>
        <file category="source"  name="library/ssl_cli.c"/>
        <file category="source"  name="library/ssl_cookie.c"/>
        <file category="source"  name="library/ssl_debug_helpers_generated.c"/>
        <file category="source"  name="library/ssl_msg.c"/>
        <file category="source"  name="library/ssl_srv.c"/>
        <file category="source"  name="library/ssl_ticket.c"/>
        <file category="source"  name="library/ssl_tls.c"/>
        <file category="source"  name="library/ssl_tls13_client.c"/>
        <file category="source"  name="library/ssl_tls13_generic.c"/>
        <file category="source"  name="library/ssl_tls13_keys.c"/>
        <file category="source"  name="library/ssl_tls13_server.c"/>
        <file category="source"  name="library/threading.c"/>
        <file category="source"  name="library/timing.c"/>
        <file category="source"  name="library/version.c"/>
        <file category="source"  name="library/version_features.c"/>
        <file category="source"  name="library/x509.c"/>
        <file category="source"  name="library/x509_create.c"/>
        <file category="source"  name="library/x509_crl.c"/>
        <file category="source"  name="library/x509_crt.c"/>
        <file category="source"  name="library/x509_csr.c"/>
        <file category="source"  name="library/x509write_crt.c"/>
        <file category="source"  name="library/x509write_csr.c"/>
      </files>
    </component>
    <component Cclass="PSA" Cgroup="Crypto" Csub="mbed TLS" Capiversion="1.0.0" Cversion="3.1.0" condition="mbed TLS">
      <description>mbed TLS PSA Crypto</description>
      <RTE_Components_h>
        #define RTE_PSA_API_CRYPTO
      </RTE_Components_h>
      <files>
        <file category="include" name="include/mbedcrypto/"/>
      </files>
    </component>
  </components>
  <examples>
    <example name="ssl_client1" doc="Abstract.txt" folder="MDK/examples/MCB1800/ssl_client1">
      <description>Simple SSL/TLS client</description>
      <board name="MCB1800" vendor="Keil"/>
      <project>
        <environment name="uv" load="ssl_client1.uvprojx"/>
      </project>
      <attributes>
        <component Cclass="Security" Cgroup="mbed TLS"/>
        <category>mbed TLS</category>
        <keyword>SSL</keyword>
      </attributes>
    </example>
    <example name="ssl_client1" doc="Abstract.txt" folder="MDK/examples/MCB4300/ssl_client1">
      <description>Simple SSL/TLS client</description>
      <board name="MCB4300" vendor="Keil"/>
      <project>
        <environment name="uv" load="ssl_client1.uvprojx"/>
      </project>
      <attributes>
        <component Cclass="Security" Cgroup="mbed TLS"/>
        <category>mbed TLS</category>
        <keyword>SSL</keyword>
      </attributes>
    </example>
    <example name="ssl_server" doc="Abstract.txt" folder="MDK/examples/MCB1800/ssl_server">
      <description>SSL/TLS server</description>
      <board name="MCB1800" vendor="Keil"/>
      <project>
        <environment name="uv" load="ssl_server.uvprojx"/>
      </project>
      <attributes>
        <component Cclass="Security" Cgroup="mbed TLS"/>
        <category>mbed TLS</category>
        <keyword>SSL</keyword>
      </attributes>
    </example>
    <example name="ssl_server" doc="Abstract.txt" folder="MDK/examples/MCB4300/ssl_server">
      <description>SSL/TLS server</description>
      <board name="MCB4300" vendor="Keil"/>
      <project>
        <environment name="uv" load="ssl_server.uvprojx"/>
      </project>
      <attributes>
        <component Cclass="Security" Cgroup="mbed TLS"/>
        <category>mbed TLS</category>
        <keyword>SSL</keyword>
      </attributes>
    </example>
  </examples>
</package>
