Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Crypto- - Plate-forme

Ce module inclut l'abstraction de la plate-forme pour Crypto.

Synthèse

Énumérations

anonymous enum{
  OT_CRYPTO_KEY_USAGE_NONE = 0,
  OT_CRYPTO_KEY_USAGE_EXPORT = 1 << 0,
  OT_CRYPTO_KEY_USAGE_ENCRYPT = 1 << 1,
  OT_CRYPTO_KEY_USAGE_DECRYPT = 1 << 2,
  OT_CRYPTO_KEY_USAGE_SIGN_HASH = 1 << 3
}
enum
Cette énumération définit les indicateurs d'utilisation de la clé.
otCryptoKeyAlgorithm{
  OT_CRYPTO_KEY_ALG_VENDOR,
  OT_CRYPTO_KEY_ALG_AES_ECB,
  OT_CRYPTO_KEY_ALG_HMAC_SHA_256
}
enum
Cette énumération définit les algorithmes clés.
otCryptoKeyStorage{
  OT_CRYPTO_KEY_STORAGE_VOLATILE,
  OT_CRYPTO_KEY_STORAGE_PERSISTENT
}
enum
Cette énumération définit les types de stockage de clés.
otCryptoKeyType{
  OT_CRYPTO_KEY_TYPE_RAW,
  OT_CRYPTO_KEY_TYPE_AES,
  OT_CRYPTO_KEY_TYPE_HMAC
}
enum
Cette énumération définit les types de clés.

Typedefs

otCryptoContext typedef
otCryptoKey typedef
struct otCryptoKey
otCryptoKeyRef typedef
uint32_t
Ce type de données représente la référence de la clé.
otPlatCryptoEcdsaKeyPair typedef
otPlatCryptoEcdsaPublicKey typedef
otPlatCryptoEcdsaSignature typedef
otPlatCryptoSha256Hash typedef
Cette structure représente un hachage SHA-256.

Variables

OT_TOOL_PACKED_END

Fonctions

otPlatCryptoAesEncrypt(otCryptoContext *aContext, const uint8_t *aInput, uint8_t *aOutput)
Chiffrez les données données.
otPlatCryptoAesFree(otCryptoContext *aContext)
Libérez le contexte AES.
otPlatCryptoAesInit(otCryptoContext *aContext)
Initialisez l'opération AES.
otPlatCryptoAesSetKey(otCryptoContext *aContext, const otCryptoKey *aKey)
Définissez la clé pour l'opération AES.
otPlatCryptoDestroyKey(otCryptoKeyRef aKeyRef)
Détruisez une clé stockée dans PSA ITS.
otPlatCryptoEcdsaGenerateKey(otPlatCryptoEcdsaKeyPair *aKeyPair)
Générez et remplissez le tampon de sortie avec une nouvelle paire de clés ECDSA.
otPlatCryptoEcdsaGetPublicKey(const otPlatCryptoEcdsaKeyPair *aKeyPair, otPlatCryptoEcdsaPublicKey *aPublicKey)
Obtenez la clé publique associée à partir du contexte d'entrée.
otPlatCryptoEcdsaSign(const otPlatCryptoEcdsaKeyPair *aKeyPair, const otPlatCryptoSha256Hash *aHash, otPlatCryptoEcdsaSignature *aSignature)
Calculez la signature ECDSA d'un message haché à l'aide de la clé privée issue du contexte d'entrée.
otPlatCryptoEcdsaVerify(const otPlatCryptoEcdsaPublicKey *aPublicKey, const otPlatCryptoSha256Hash *aHash, const otPlatCryptoEcdsaSignature *aSignature)
Utilisez la clé du contexte d'entrée pour vérifier la signature ECDSA d'un message haché.
otPlatCryptoExportKey(otCryptoKeyRef aKeyRef, uint8_t *aBuffer, size_t aBufferLen, size_t *aKeyLen)
Exporter une clé stockée dans PSA ITS.
otPlatCryptoHasKey(otCryptoKeyRef aKeyRef)
bool
Vérifiez si la référence de clé transmise est associée à une clé dans PSA ITS.
otPlatCryptoHkdfDeinit(otCryptoContext *aContext)
Annulez l'initialisation du contexte HKDF.
otPlatCryptoHkdfExpand(otCryptoContext *aContext, const uint8_t *aInfo, uint16_t aInfoLength, uint8_t *aOutputKey, uint16_t aOutputKeyLength)
Effectuez l'étape d'expansion HKDF.
otPlatCryptoHkdfExtract(otCryptoContext *aContext, const uint8_t *aSalt, uint16_t aSaltLength, const otCryptoKey *aInputKey)
Effectue une étape d'extraction HKDF.
otPlatCryptoHkdfInit(otCryptoContext *aContext)
Initialisez le contexte HKDF.
otPlatCryptoHmacSha256Deinit(otCryptoContext *aContext)
Annuler l'initialisation de l'opération HMAC
otPlatCryptoHmacSha256Finish(otCryptoContext *aContext, uint8_t *aBuf, size_t aBufLength)
Terminez l'opération HMAC.
otPlatCryptoHmacSha256Init(otCryptoContext *aContext)
Initialisez l'opération HMAC.
otPlatCryptoHmacSha256Start(otCryptoContext *aContext, const otCryptoKey *aKey)
Démarrez l'opération HMAC.
otPlatCryptoHmacSha256Update(otCryptoContext *aContext, const void *aBuf, uint16_t aBufLength)
Mettez à jour l'opération HMAC avec une nouvelle entrée.
otPlatCryptoImportKey(otCryptoKeyRef *aKeyRef, otCryptoKeyType aKeyType, otCryptoKeyAlgorithm aKeyAlgorithm, int aKeyUsage, otCryptoKeyStorage aKeyPersistence, const uint8_t *aKey, size_t aKeyLen)
Importez une clé dans PSA ITS.
otPlatCryptoInit(void)
void
Initialisez le module de chiffrement.
otPlatCryptoRandomDeinit(void)
void
Désinitialisez le générateur de nombres pseudo-aléatoires (CSPRNG) cryptographiquement sécurisé.
otPlatCryptoRandomGet(uint8_t *aBuffer, uint16_t aSize)
remplit un tampon donné avec des octets aléatoires sécurisés de manière cryptographique ;
otPlatCryptoRandomInit(void)
void
Initialisez le générateur de nombres pseudo-aléatoires (CSPRNG) cryptographiquement sécurisé.
otPlatCryptoSha256Deinit(otCryptoContext *aContext)
Annuler l'initialisation de l'opération SHA-256
otPlatCryptoSha256Finish(otCryptoContext *aContext, uint8_t *aHash, uint16_t aHashSize)
Terminer l'opération SHA-256.
otPlatCryptoSha256Init(otCryptoContext *aContext)
Initialisez l'opération SHA-256.
otPlatCryptoSha256Start(otCryptoContext *aContext)
Démarrez l'opération SHA-256.
otPlatCryptoSha256Update(otCryptoContext *aContext, const void *aBuf, uint16_t aBufLength)
Mettez à jour l'opération SHA-256 avec une nouvelle entrée.

Structs

otCryptoContext.

Cette structure stocke l'objet de contexte pour les API de plate-forme.

otCryptoKey

Cette structure représente le matériel de clé requis pour les opérations de chiffrement.

otPlatCryptoEcdsaKeyPair

Cette structure représente une paire de clés ECDSA (clés publiques et clés privées).

otPlatCryptoEcdsaPublicKey

Cette structure représente une clé publique ECDSA.

otPlatCryptoEcdsaSignature

Cette structure représente une signature ECDSA.

otPlatCryptoSha256Hash

Cette structure représente un hachage SHA-256.

Énumérations

énumération anonyme

 anonymous enum

Cette énumération définit les indicateurs d'utilisation de la clé.

Propriétés
OT_CRYPTO_KEY_USAGE_DECRYPT

Utilisation de la clé: AES ECB.

OT_CRYPTO_KEY_USAGE_ENCRYPT

Utilisation de la clé: chiffrement (défini par le fournisseur).

OT_CRYPTO_KEY_USAGE_EXPORT

Utilisation de la clé: la clé peut être exportée.

OT_CRYPTO_KEY_USAGE_NONE

Utilisation des clés: l'utilisation des clés est vide.

OT_CRYPTO_KEY_USAGE_SIGN_HASH

Utilisation de la clé: HMAC SHA-256.

otCryptoKeyAlgorithm

 otCryptoKeyAlgorithm

Cette énumération définit les algorithmes clés.

Propriétés
OT_CRYPTO_KEY_ALG_AES_ECB

Algorithme clé: AES ECB.

OT_CRYPTO_KEY_ALG_HMAC_SHA_256

Algorithme de clé: HMAC SHA-256.

OT_CRYPTO_KEY_ALG_VENDOR

Algorithme clé: défini par le fournisseur.

otCryptoKeyStorage

 otCryptoKeyStorage

Cette énumération définit les types de stockage de clés.

Propriétés
OT_CRYPTO_KEY_STORAGE_PERSISTENT

Persistance de la clé: elle est persistante.

OT_CRYPTO_KEY_STORAGE_VOLATILE

Persistance de la clé: elle est volatile.

otCryptoKeyType

 otCryptoKeyType

Cette énumération définit les types de clés.

Propriétés
OT_CRYPTO_KEY_TYPE_AES

Type de clé: AES.

OT_CRYPTO_KEY_TYPE_HMAC

Type de clé: HMAC.

OT_CRYPTO_KEY_TYPE_RAW

Type de clé: données brutes.

Typedefs

OTCryptoContext

struct otCryptoContext otCryptoContext

OTCryptoKey

struct otCryptoKey otCryptoKey

OTCryptoKeyRef

uint32_t otCryptoKeyRef

Ce type de données représente la référence de la clé.

otPlatCryptoEcdsaKeyPair

struct otPlatCryptoEcdsaKeyPair otPlatCryptoEcdsaKeyPair

otPlatCryptoEcdsaPublicKey

struct otPlatCryptoEcdsaPublicKey otPlatCryptoEcdsaPublicKey

otPlatCryptoEcdsaSignature

struct otPlatCryptoEcdsaSignature otPlatCryptoEcdsaSignature

otPlatCryptoSha256Hash

struct otPlatCryptoSha256Hash otPlatCryptoSha256Hash

Cette structure représente un hachage SHA-256.

Variables

OT_OUTIL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otPlatCryptoSha256Hash OT_TOOL_PACKED_END

Fonctions

otPlatCryptoAesEncrypt

otError otPlatCryptoAesEncrypt(
  otCryptoContext *aContext,
  const uint8_t *aInput,
  uint8_t *aOutput
)

Chiffrez les données données.

Détails
Paramètres
[in] aContext
Contexte de l'opération AES.
[in] aInput
Pointez sur le tampon d'entrée.
[in] aOutput
Pointez sur le tampon de sortie.
Valeurs de retour
OT_ERROR_NONE
aInput a bien été chiffré.
OT_ERROR_FAILED
Échec du chiffrement de aInput.
OT_ERROR_INVALID_ARGS
aContext, aKey ou aOutput étaient NULL

OTPlatCryptoAesFree

otError otPlatCryptoAesFree(
  otCryptoContext *aContext
)

Libérez le contexte AES.

Détails
Paramètres
[in] aContext
Contexte de l'opération AES.
Valeurs de retour
OT_ERROR_NONE
Le contexte AES a bien été libéré.
OT_ERROR_FAILED
Échec de la libération du contexte AES.
OT_ERROR_INVALID_ARGS
aContext était NULL.

otPlatCryptoAesInit

otError otPlatCryptoAesInit(
  otCryptoContext *aContext
)

Initialisez l'opération AES.

Détails
Paramètres
[in] aContext
Contexte de l'opération AES.
Valeurs de retour
OT_ERROR_NONE
L'opération AES a bien été initialisée.
OT_ERROR_FAILED
Échec de l'initialisation de l'opération AES.
OT_ERROR_INVALID_ARGS
aContext était NULL.
OT_ERROR_NO_BUFS
Impossible d'allouer le contexte.

otPlatCryptoAesSetKey

otError otPlatCryptoAesSetKey(
  otCryptoContext *aContext,
  const otCryptoKey *aKey
)

Définissez la clé pour l'opération AES.

Détails
Paramètres
[in] aContext
Contexte de l'opération AES.
[out] aKey
Clé à utiliser pour l'opération AES.
Valeurs de retour
OT_ERROR_NONE
La clé a bien été définie pour l'opération AES.
OT_ERROR_FAILED
Échec de la définition de la clé pour l'opération AES.
OT_ERROR_INVALID_ARGS
aContext ou aKey était NULL

otPlatCryptoDestroyKey

otError otPlatCryptoDestroyKey(
  otCryptoKeyRef aKeyRef
)

Détruisez une clé stockée dans PSA ITS.

Détails
Paramètres
[in] aKeyRef
Référence de la clé à détruire
Valeurs de retour
OT_ERROR_NONE
La clé a bien été détruite.
OT_ERROR_FAILED
Échec de la destruction de la clé.

otPlatCryptoEcdsaGenerateKey

otError otPlatCryptoEcdsaGenerateKey(
  otPlatCryptoEcdsaKeyPair *aKeyPair
)

Générez et remplissez le tampon de sortie avec une nouvelle paire de clés ECDSA.

Détails
Paramètres
[out] aKeyPair
Pointeur vers une structure de paire de clés ECDSA pour stocker la paire de clés générée.
Valeurs de retour
OT_ERROR_NONE
Une nouvelle paire de clés a bien été générée.
OT_ERROR_NO_BUFS
Échec de l'allocation du tampon pour la génération de clé.
OT_ERROR_NOT_CAPABLE
Fonctionnalité non disponible.
OT_ERROR_FAILED
Échec de la génération de la paire de clés.

otPlatCryptoEcdsaGetPublicKey

otError otPlatCryptoEcdsaGetPublicKey(
  const otPlatCryptoEcdsaKeyPair *aKeyPair,
  otPlatCryptoEcdsaPublicKey *aPublicKey
)

Obtenez la clé publique associée à partir du contexte d'entrée.

Détails
Paramètres
[in] aKeyPair
Un pointeur vers une structure de paire de clés ECDSA dans laquelle la paire de clés est stockée.
[out] aPublicKey
Pointeur vers une structure de clé publique ECDSA pour stocker la clé publique.
Valeurs de retour
OT_ERROR_NONE
La clé publique a bien été récupérée, et aBuffer a été mis à jour.
OT_ERROR_PARSE
Impossible d'analyser le format DER de paire de clés (format non valide).
OT_ERROR_INVALID_ARGS
aContext est NULL.

otPlatCryptoEcdsaSign

otError otPlatCryptoEcdsaSign(
  const otPlatCryptoEcdsaKeyPair *aKeyPair,
  const otPlatCryptoSha256Hash *aHash,
  otPlatCryptoEcdsaSignature *aSignature
)

Calculez la signature ECDSA d'un message haché à l'aide de la clé privée issue du contexte d'entrée.

Cette méthode utilise la procédure déterministe de génération de signatures numériques selon la norme RFC 6979.

Détails
Paramètres
[in] aKeyPair
Un pointeur vers une structure de paire de clés ECDSA dans laquelle la paire de clés est stockée.
[in] aHash
Un pointeur vers une structure de hachage SHA-256 où est stockée la valeur de hachage pour le calcul de la signature.
[out] aSignature
Un pointeur vers une structure de signature ECDSA pour générer la signature calculée.
Valeurs de retour
OT_ERROR_NONE
La signature a bien été calculée, aSignature a été mise à jour.
OT_ERROR_PARSE
Impossible d'analyser le format DER de paire de clés (format non valide).
OT_ERROR_NO_BUFS
Échec de l'allocation du tampon pour le calcul de la signature.
OT_ERROR_INVALID_ARGS
aContext est NULL.

otPlatCryptoEcdsaVerify

otError otPlatCryptoEcdsaVerify(
  const otPlatCryptoEcdsaPublicKey *aPublicKey,
  const otPlatCryptoSha256Hash *aHash,
  const otPlatCryptoEcdsaSignature *aSignature
)

Utilisez la clé du contexte d'entrée pour vérifier la signature ECDSA d'un message haché.

Détails
Paramètres
[in] aPublicKey
Un pointeur vers une structure de clé publique ECDSA où est stockée la clé publique pour la validation de signature.
[in] aHash
Un pointeur vers une structure de hachage SHA-256 où est stockée la valeur de hachage pour la validation de signature.
[in] aSignature
Un pointeur vers une structure de signature ECDSA où la valeur de signature à vérifier est stockée.
Valeurs de retour
OT_ERROR_NONE
La signature a bien été validée.
OT_ERROR_SECURITY
La signature n'est pas valide.
OT_ERROR_INVALID_ARGS
La clé ou le hachage ne sont pas valides.
OT_ERROR_NO_BUFS
Échec de l'allocation du tampon pour la validation de la signature.

otPlatCryptoExportKey

otError otPlatCryptoExportKey(
  otCryptoKeyRef aKeyRef,
  uint8_t *aBuffer,
  size_t aBufferLen,
  size_t *aKeyLen
)

Exporter une clé stockée dans PSA ITS.

Détails
Paramètres
[in] aKeyRef
Référence de la clé à utiliser pour les opérations de chiffrement.
[out] aBuffer
Placez le curseur sur la mémoire tampon à exporter.
[in] aBufferLen
Longueur du tampon transmis pour stocker la clé exportée.
[out] aKeyLen
Pointeur pour renvoyer la longueur de la clé exportée.
Valeurs de retour
OT_ERROR_NONE
aKeyRef a bien été exporté.
OT_ERROR_FAILED
Échec de l'exportation de aKeyRef.
OT_ERROR_INVALID_ARGS
aBuffer était NULL.

otPlatCryptoHasKey

bool otPlatCryptoHasKey(
  otCryptoKeyRef aKeyRef
)

Vérifiez si la référence de clé transmise est associée à une clé dans PSA ITS.

Détails
Paramètres
[in] aKeyRef
Key Ref à vérifier.
Valeurs de retour
TRUE
Une clé est associée à aKeyRef.
FALSE
Aucune clé n'est associée à aKeyRef.

otPlatCryptoHkdfDeinit

otError otPlatCryptoHkdfDeinit(
  otCryptoContext *aContext
)

Annulez l'initialisation du contexte HKDF.

Détails
Paramètres
[in] aContext
Contexte de l'opération HKDF
Valeurs de retour
OT_ERROR_NONE
L'opération HKDF a été annulée.
OT_ERROR_FAILED
Échec de l'initialisation de HKDF.
OT_ERROR_INVALID_ARGS
aContext était NULL.

otPlatCryptoHkdfExpand

otError otPlatCryptoHkdfExpand(
  otCryptoContext *aContext,
  const uint8_t *aInfo,
  uint16_t aInfoLength,
  uint8_t *aOutputKey,
  uint16_t aOutputKeyLength
)

Effectuez l'étape d'expansion HKDF.

Détails
Paramètres
[in] aContext
Contexte de l'opération HKDF
[in] aInfo
Placez le curseur sur la séquence d'informations.
[in] aInfoLength
Longueur de la séquence d'informations.
[out] aOutputKey
Pointez sur la clé de sortie.
[in] aOutputKeyLength
Taille du tampon de la clé de sortie.
Valeurs de retour
OT_ERROR_NONE
L'expansion HKDF a bien été effectuée.
OT_ERROR_FAILED
Échec de l'expansion HKDF.
OT_ERROR_INVALID_ARGS
aContext était NULL.

otPlatCryptoHkdfExtract

otError otPlatCryptoHkdfExtract(
  otCryptoContext *aContext,
  const uint8_t *aSalt,
  uint16_t aSaltLength,
  const otCryptoKey *aInputKey
)

Effectue une étape d'extraction HKDF.

Détails
Paramètres
[in] aContext
Contexte de l'opération HKDF
[in] aSalt
Pointez vers le sel de HKDF.
[in] aSaltLength
Longueur de sel.
[in] aInputKey
Placez le curseur sur la touche d'entrée.
Valeurs de retour
OT_ERROR_NONE
L'extraction HKDF a bien été effectuée.
OT_ERROR_FAILED
Échec de l'extraction HKDF.

otPlatCryptoHkdfInit

otError otPlatCryptoHkdfInit(
  otCryptoContext *aContext
)

Initialisez le contexte HKDF.

Détails
Paramètres
[in] aContext
Contexte de l'opération HKDF
Valeurs de retour
OT_ERROR_NONE
L'opération AES a bien été initialisée.
OT_ERROR_FAILED
Échec de l'initialisation de l'opération AES.
OT_ERROR_INVALID_ARGS
aContext était NULL.

otPlatCryptoHmacSha256Deinit

otError otPlatCryptoHmacSha256Deinit(
  otCryptoContext *aContext
)

Annuler l'initialisation de l'opération HMAC

Détails
Paramètres
[in] aContext
Contexte de l'opération HMAC.
Valeurs de retour
OT_ERROR_NONE
L'opération HMAC a bien été initialisée.
OT_ERROR_FAILED
Échec de l'initialisation de l'opération HMAC.
OT_ERROR_INVALID_ARGS
aContext était NULL.

otPlatCryptoHmacSha256Finish

otError otPlatCryptoHmacSha256Finish(
  otCryptoContext *aContext,
  uint8_t *aBuf,
  size_t aBufLength
)

Terminez l'opération HMAC.

Détails
Paramètres
[in] aContext
Contexte de l'opération HMAC.
[out] aBuf
Pointeur vers le tampon de sortie.
[in] aBufLength
Longueur de aBuf en octets.
Valeurs de retour
OT_ERROR_NONE
L'opération HMAC a bien été effectuée.
OT_ERROR_FAILED
Échec de l'opération HMAC.
OT_ERROR_INVALID_ARGS
aContext ou aBuf était NULL

otPlatCryptoHmacSha256Init

otError otPlatCryptoHmacSha256Init(
  otCryptoContext *aContext
)

Initialisez l'opération HMAC.

Détails
Paramètres
[in] aContext
Contexte de l'opération HMAC.
Valeurs de retour
OT_ERROR_NONE
L'opération HMAC a bien été initialisée.
OT_ERROR_FAILED
Échec de l'initialisation de l'opération HMAC.
OT_ERROR_INVALID_ARGS
aContext était NULL.

otPlatCryptoHmacSha256Démarrer

otError otPlatCryptoHmacSha256Start(
  otCryptoContext *aContext,
  const otCryptoKey *aKey
)

Démarrez l'opération HMAC.

Détails
Paramètres
[in] aContext
Contexte de l'opération HMAC.
[in] aKey
Matériau de la clé à utiliser pour le fonctionnement HMAC.
Valeurs de retour
OT_ERROR_NONE
L'opération HMAC a bien été lancée.
OT_ERROR_FAILED
Échec du démarrage de l'opération HMAC.
OT_ERROR_INVALID_ARGS
aContext ou aKey était NULL

otPlatCryptoHmacSha256Mettre à jour

otError otPlatCryptoHmacSha256Update(
  otCryptoContext *aContext,
  const void *aBuf,
  uint16_t aBufLength
)

Mettez à jour l'opération HMAC avec une nouvelle entrée.

Détails
Paramètres
[in] aContext
Contexte de l'opération HMAC.
[in] aBuf
Un pointeur vers le tampon d'entrée.
[in] aBufLength
Longueur de aBuf en octets.
Valeurs de retour
OT_ERROR_NONE
Le HMAC a bien été mis à jour avec la nouvelle opération d'entrée.
OT_ERROR_FAILED
Échec de la mise à jour de l'opération HMAC.
OT_ERROR_INVALID_ARGS
aContext ou aBuf était NULL

otPlatCryptoImportKey

otError otPlatCryptoImportKey(
  otCryptoKeyRef *aKeyRef,
  otCryptoKeyType aKeyType,
  otCryptoKeyAlgorithm aKeyAlgorithm,
  int aKeyUsage,
  otCryptoKeyStorage aKeyPersistence,
  const uint8_t *aKey,
  size_t aKeyLen
)

Importez une clé dans PSA ITS.

Remarque : Si OT_CRYPTO_KEY_STORAGE_PERSISTENT est transmis pour aKeyPersistence, alors l'entrée aKeyRef est saisie et la plate-forme doit utiliser l'objet aKeyRef fourni et NE DOIT PAS la modifier. Si OT_CRYPTO_KEY_STORAGE_VOLATILE est transmis pour aKeyPersistence, puis aKeyRef est en sortie, la valeur initiale n'a pas d'importance et l'API de la plate-forme DOIT la mettre à jour pour renvoyer la nouvelle référence de clé.

Détails
Paramètres
[in,out] aKeyRef
Pointez sur la référence de clé à utiliser pour les opérations de chiffrement.
[in] aKeyType
Encodage du type de clé.
[in] aKeyAlgorithm
Encodage de l'algorithme pour la clé.
[in] aKeyUsage
Encodage d'utilisation de la clé (combinaisons de OT_CRYPTO_KEY_USAGE_*).
[in] aKeyPersistence
Persistance de cette clé
[in] aKey
Clé réelle à importer.
[in] aKeyLen
Longueur de la clé à importer.
Valeurs de retour
OT_ERROR_NONE
La clé a bien été importée.
OT_ERROR_FAILED
Échec de l'importation de la clé.
OT_ERROR_INVALID_ARGS
aKey a été défini sur NULL.

Cette API n'est utilisée par OT-Core que lorsque OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE est activé.

otPlatCryptoInit

void otPlatCryptoInit(
  void
)

Initialisez le module de chiffrement.

otPlatCryptoRandomDeinit

void otPlatCryptoRandomDeinit(
  void
)

Désinitialisez le générateur de nombres pseudo-aléatoires (CSPRNG) cryptographiquement sécurisé.

otPlatCryptoRandomGet

otError otPlatCryptoRandomGet(
  uint8_t *aBuffer,
  uint16_t aSize
)

remplit un tampon donné avec des octets aléatoires sécurisés de manière cryptographique ;

Détails
Paramètres
[out] aBuffer
Un pointeur vers un tampon à remplir avec les octets aléatoires.
[in] aSize
Taille de la mémoire tampon (nombre d'octets à remplir).
Valeurs de retour
OT_ERROR_NONE
Le tampon a bien été rempli avec des valeurs aléatoires.
OT_ERROR_FAILED
Échec de l'opération.

otPlatCryptoAléatoire

void otPlatCryptoRandomInit(
  void
)

Initialisez le générateur de nombres pseudo-aléatoires (CSPRNG) cryptographiquement sécurisé.

otPlatCryptoSha256Deinit

otError otPlatCryptoSha256Deinit(
  otCryptoContext *aContext
)

Annuler l'initialisation de l'opération SHA-256

Détails
Paramètres
[in] aContext
Contexte de l'opération SHA-256.
Valeurs de retour
OT_ERROR_NONE
L'opération SHA-256 a été annulée.
OT_ERROR_FAILED
Échec de l'initialisation de l'opération SHA-256.
OT_ERROR_INVALID_ARGS
aContext était NULL.

otPlatCryptoSha256Finish

otError otPlatCryptoSha256Finish(
  otCryptoContext *aContext,
  uint8_t *aHash,
  uint16_t aHashSize
)

Terminer l'opération SHA-256.

Détails
Paramètres
[in] aContext
Contexte de l'opération SHA-256.
[in] aHash
Pointeur vers le tampon de sortie, où le hachage doit être stocké.
[in] aHashSize
Longueur de aHash en octets.
Valeurs de retour
OT_ERROR_NONE
L'opération SHA-256 a bien été effectuée.
OT_ERROR_FAILED
Échec de l'opération SHA-256.
OT_ERROR_INVALID_ARGS
aContext ou aHash était NULL

otPlatCryptoSha256Init

otError otPlatCryptoSha256Init(
  otCryptoContext *aContext
)

Initialisez l'opération SHA-256.

Détails
Paramètres
[in] aContext
Contexte de l'opération SHA-256.
Valeurs de retour
OT_ERROR_NONE
L'opération SHA-256 a bien été initialisée.
OT_ERROR_FAILED
Échec de l'initialisation de l'opération SHA-256.
OT_ERROR_INVALID_ARGS
aContext était NULL.

otPlatCryptoSha256Start

otError otPlatCryptoSha256Start(
  otCryptoContext *aContext
)

Démarrez l'opération SHA-256.

Détails
Paramètres
[in] aContext
Contexte de l'opération SHA-256.
Valeurs de retour
OT_ERROR_NONE
L'opération SHA-256 a bien été lancée.
OT_ERROR_FAILED
Échec du démarrage de l'opération SHA-256.
OT_ERROR_INVALID_ARGS
aContext était NULL.

otPlatCryptoSha256Update

otError otPlatCryptoSha256Update(
  otCryptoContext *aContext,
  const void *aBuf,
  uint16_t aBufLength
)

Mettez à jour l'opération SHA-256 avec une nouvelle entrée.

Détails
Paramètres
[in] aContext
Contexte de l'opération SHA-256.
[in] aBuf
Un pointeur vers le tampon d'entrée.
[in] aBufLength
Longueur de aBuf en octets.
Valeurs de retour
OT_ERROR_NONE
La mise à jour de SHA-256 avec la nouvelle opération d'entrée a bien été effectuée.
OT_ERROR_FAILED
Échec de la mise à jour de l'opération SHA-256.
OT_ERROR_INVALID_ARGS
aContext ou aBuf était NULL

Macros

OT_CRYPTO_ECDSA_MAX_DER_SIZE

 OT_CRYPTO_ECDSA_MAX_DER_SIZE 125

Taille maximale du tampon (en octets) pour représenter la paire de clés EDCSA au format DER.

OT_CRYPTO_ECDSA_PUBLIC_KEY_SIZE

 OT_CRYPTO_ECDSA_PUBLIC_KEY_SIZE 64

Taille de la mémoire tampon (en octets) pour la représentation de la clé publique EDCSA.

OT_CRYPTO_ECDSA_SIGNATURE_SIZE

 OT_CRYPTO_ECDSA_SIGNATURE_SIZE 64

Taille de la mémoire tampon (en octets) pour représenter la signature EDCSA.

OT_CRYPTO_SHA256_HASH_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

Longueur du hachage SHA256 (en octets).

Ressources

Les sujets de référence de l'API OpenThread proviennent du code source, disponible sur GitHub. Pour plus d'informations ou pour contribuer à notre documentation, reportez-vous à la page Ressources.