# Name of the plugin.
name=Key Establishment
category=Smart Energy

# Any string is allowable here.  Generally it is either: Production Ready, Test Tool, or Extension Needed
qualityString=Production Ready (Certifiable)
# This must be one of the following:  productionReady, testTool, extensionNeeded
quality=production

introducedIn=se-1.1-07-5356-16

# Description of the plugin.
description=Ember implementation of the Smart Energy Key Establishment cluster. The key establishment cluster is used by the Smart Energy profile to perform certificate based key establishment (CBKE), which performs mutual authentication and establishes a symmetric APS link key. Direct CBKE between any two non-TC devices is supported once the two devices have completed partner link key exchange via Trust Centre.

# List of .c files that need to be compiled and linked in.
sourceFiles=key-establishment.c, key-establishment-cli.c,key-establishment-curve-support.c
sourceFilesSoc=key-establishment-storage-buffers.c
sourceFilesHost=key-establishment-storage-static.c

# List of callbacks implemented by this plugin
implementedCallbacks=emberAfInitiateKeyEstablishmentCallback,emberAfInitiateInterPanKeyEstablishmentCallback,emberAfPerformingKeyEstablishmentCallback,emberAfKeyEstablishmentClusterServerInitCallback,emberAfKeyEstablishmentClusterServerTickCallback,emberAfKeyEstablishmentClusterServerCommandReceivedCallback,emberAfKeyEstablishmentClusterInitiateKeyEstablishmentRequestCallback,emberAfKeyEstablishmentClusterEphemeralDataRequestCallback,emberAfKeyEstablishmentClusterConfirmKeyDataRequestCallback,emberAfKeyEstablishmentClusterTerminateKeyEstablishmentCallback,emberAfKeyEstablishmentClusterServerMessageSentCallback,emberAfKeyEstablishmentClusterClientCommandReceivedCallback,emberAfKeyEstablishmentClusterInitiateKeyEstablishmentResponseCallback,emberAfKeyEstablishmentClusterEphemeralDataResponseCallback,emberAfKeyEstablishmentClusterConfirmKeyDataResponseCallback,emberAfKeyEstablishmentClusterClientMessageSentCallback, emberAfKeyEstablishmentClusterClientDefaultResponseCallback, emberAfKeyEstablishmentClusterServerDefaultResponseCallback, emberAfKeyEstablishmentClusterServerPreAttributeChangedCallback, emberAfKeyEstablishmentClusterClientPreAttributeChangedCallback,	emberAfKeyEstablishmentClusterServerAttributeChangedCallback,	emberAfKeyEstablishmentClusterClientAttributeChangedCallback, emberCalculateSmacsHandler, emberGenerateCbkeKeysHandler, emberCalculateSmacsHandler283k1, emberGenerateCbkeKeysHandler283k1, ezspCalculateSmacsHandler, ezspGenerateCbkeKeysHandler, ezspCalculateSmacsHandler283k1, ezspGenerateCbkeKeysHandler283k1

# Turn this on by default
includedByDefault=true

# Which clusters does it depend on
dependsOnClusterClient=key establishment
dependsOnClusterServer=key establishment

requiredApis=cbke163k1,cbke283k1,fragmentation
api.cbke283k1.condition=seVersion.equals("1_2_AND_LATER")
api.fragmentation.condition=seVersion.equals("1_2_AND_LATER")

# Plugin options
options=seVersion

seVersion.name=SE Version
seVersion.description=The version of Smart Energy to be used for the application. This dictates which CBKE / ECC libraries are required (only 163k1 for SE1.0 and SE1.1, both 163k1 and 283k1 for SE1.2 and later.) NOTE: if SE1.2 is selected, fragmentation support is required.
seVersion.type=LIST:1.0 and 1.1, 1.2 and later
seVersion.default=1.0 and 1.1

events=apsDuplicateDetection