> For the complete documentation index, see [llms.txt](https://docs.medcrypt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.medcrypt.com/fr/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-secureoperation.md).

# medcrypt::guardian::SecureOperation

Opération autonome nommée.

`#include <SecureOperation.h>`

## Fonctions publiques

|                                                                                                         | Nom                                                                                                                                                                                                                                                                               |
| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|                                                                                                         | <p><a href="#function-~secureoperation"><strong>\~SecureOperation</strong></a>()<br>Le destructeur.</p>                                                                                                                                                                           |
| [État](/fr/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian.md#typedef-status) | <p><a href="#function-sign"><strong>Signer</strong></a>(const char <em>in\_data, const size\_t & in\_data\_size, char</em> out\_signature, size\_t \* io\_signature\_size)<br>Créer une signature.</p>                                                                            |
| [État](/fr/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian.md#typedef-status) | <p><a href="#function-verify"><strong>Vérifier</strong></a>(const char <em>in\_data, const size\_t & in\_data\_size, const char</em> in\_signature, const size\_t & in\_signature\_size, bool \* out\_is\_verified)<br>Vérifier une signature existante.</p>                      |
| [État](/fr/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian.md#typedef-status) | <p><a href="#function-signaturemultipartinit"><strong>SignatureMultipartInit</strong></a>(const bool & in\_force =true)<br>Préparer la signature/vérification multipartite.</p>                                                                                                   |
| [État](/fr/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian.md#typedef-status) | <p><a href="#function-signaturemultipartupdate"><strong>SignatureMultipartUpdate</strong></a>(const char \* in\_data, const size\_t & in\_data\_size)<br>Ajouter des données à l’opération de signature/vérification multipartite.</p>                                            |
| [État](/fr/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian.md#typedef-status) | <p><a href="#function-signaturemultipartsignfinal"><strong>SignatureMultipartSignFinal</strong></a>(char <em>out\_signature, size\_t</em> io\_signature\_size)<br>Créer une signature à partir des données précédemment fournies.</p>                                             |
| [État](/fr/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian.md#typedef-status) | <p><a href="#function-signaturemultipartverifyfinal"><strong>SignatureMultipartVerifyFinal</strong></a>(const char <em>in\_signature, const size\_t & in\_signature\_size, bool</em> out\_is\_verified)<br>Vérifier une signature à partir des données précédemment fournies.</p> |

## Documentation des fonctions publiques

### fonction \~SecureOperation

```cpp
~SecureOperation()
```

Le destructeur.

**Paramètres**:

* **aucun**

**Valeur de retour**: none

Le destructeur renvoie l’objet contenu au Guardian principal. [Guardian](/fr/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-guardian.md) Exécute le thread.

### fonction Sign

```cpp
Status Sign(
    const char * in_data,
    const size_t & in_data_size,
    char * out_signature,
    size_t * io_signature_size
)
```

Créer une signature.

**Paramètres**:

* **in\_data** tampon de données binaires
* **in\_data\_size** nombre d’octets dans in\_data
* **out\_signature** tampon de données binaires
* **io\_signature\_size** fournir la taille du tampon out\_signature ; au retour, contient la taille des données dans out\_signature ou la taille requise de out\_signature

**Renvoie**:

* **OK** out\_signature contient la signature
* **FAIL** échec général, consultez le journal
* **BADPARAM** un paramètre fourni est nullptr ou une taille est égale à 0
* **MISCONFIGURED** cette opération sécurisée n’est pas configurée pour les signatures
* **OUTOFMEMORY** out\_signature est trop petit ; consultez io\_signature\_size pour connaître la taille requise

**Retour**: [medcrypt::guardian::Status](/fr/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian.md#typedef-status)

Signature créée à partir du profil chargé.

### fonction Verify

```cpp
Status Verify(
    const char * in_data,
    const size_t & in_data_size,
    const char * in_signature,
    const size_t & in_signature_size,
    bool * out_is_verified
)
```

Vérifier une signature existante.

**Paramètres**:

* **in\_data** tampon de données binaires
* **in\_data\_size** nombre d’octets dans in\_data
* **in\_signature** tampon de données binaires
* **in\_signature\_size** octets dans in\_signature
* **out\_is\_verified** true si in\_data correspond à in\_signature

**Renvoie**:

* **OK** signature vérifiée par rapport aux données ; consultez out\_is\_verified pour savoir si la signature correspond aux données
* **FAIL** échec général
* **BADPARAM** un paramètre fourni est nullptr ou une taille est égale à 0
* **MISCONFIGURED** cette opération sécurisée n’est pas configurée pour les signatures

**Retour**: [medcrypt::guardian::Status](/fr/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian.md#typedef-status)

Vérification basée sur le profil chargé.

Remarque : la valeur de retour est OK si l’opération de vérification a réussi, même si la signature ne correspond pas aux données. Consultez out\_is\_verified pour savoir si les données et la signature correspondent.

### function SignatureMultipartInit

```cpp
Status SignatureMultipartInit(
    const bool & in_force =true
)
```

Préparer une opération de signature/vérification multipartite.

**Paramètres**:

* **in\_force** paramètre facultatif ; true démarre une nouvelle opération même si une autre est déjà en cours

**Renvoie**:

* **OK** l’opération sécurisée est prête à recevoir les données à signer/vérifier
* **FAIL** échec général
* **MISCONFIGURED** cette opération sécurisée n’est pas configurée pour les signatures
* **DENIED** une autre opération sécurisée est déjà en cours

**Retour**: [medcrypt::guardian::Status](/fr/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian.md#typedef-status)

Initialise une opération sécurisée pour la signature multipartite ou la vérification d’une signature multipartite.

### function SignatureMultipartUpdate

```cpp
Status SignatureMultipartUpdate(
    const char * in_data,
    const size_t & in_data_size
)
```

Ajouter des données à une opération de signature/vérification multipartite.

**Paramètres**:

* **in\_data\_size** nombre d’octets dans in\_data
* **in\_data** tampon de données binaires

**Renvoie**:

* **OK** données ajoutées avec succès
* **FAIL** échec général
* **BADPARAM** in\_data est nullptr ou in\_data\_size est égal à 0
* **DENIED** cette opération sécurisée n’a pas été initialisée pour une opération de signature/vérification multipartite

**Retour**: [medcrypt::guardian::Status](/fr/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian.md#typedef-status)

Ajoutez les données en une seule fois ou par blocs à l’opération sécurisée, puis terminez le processus à l’aide de l’une des fonctions Complete.

### function SignatureMultipartSignFinal

```cpp
Status SignatureMultipartSignFinal(
    char * out_signature,
    size_t * io_signature_size
)
```

Créer une signature à partir des données fournies précédemment.

**Paramètres**:

* **io\_signature\_size** fournir la taille du tampon out\_signature ; au retour, contient la taille des données dans out\_signature ou la taille requise de out\_signature
* **out\_signature** tampon de données binaires

**Renvoie**:

* **OK** out\_signature contient la signature
* **FAIL** échec général
* **BADPARAM** out\_signature est nullptr, ou io\_signature\_size est nullptr ou égal à 0
* **DENIED** la signature multipartite n’a pas été initialisée
* **OUTOFMEMORY** out\_signature est trop petit ; consultez io\_signature\_size pour connaître la taille requise

**Retour**: [medcrypt::guardian::Status](/fr/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian.md#typedef-status)

### function SignatureMultipartVerifyFinal

```cpp
Status SignatureMultipartVerifyFinal(
    const char * in_signature,
    const size_t & in_signature_size,
    bool * out_is_verified
)
```

Vérifier la signature à partir des données fournies précédemment.

**Paramètres**:

* **in\_signature\_size** octets dans in\_signature
* **in\_signature** tampon de données binaires
* **out\_is\_verified** true si in\_data correspond à in\_signature

**Renvoie**:

* **OK** out\_verified indique si la signature correspond aux données
* **FAIL** échec général
* **BADPARAM** in\_signature ou out\_is\_verified est nullptr, ou in\_signature\_size est égal à 0
* **REFUSÉ** aucune donnée n’a été ajoutée à cette opération sécurisée

**Retour**: [medcrypt::guardian::Status](/fr/guardian/api-overview/api-reference/namespaces/namespacemedcrypt-guardian.md#typedef-status)

## Débogage et journalisation

Guardian ne crée pas de fichiers journaux. La journalisation est plutôt contrôlée par l’application :

* Guardian écrit les journaux dans `stdout` et `stderr`, qui s’affichent dans le terminal/la CLI de l’application en cours d’exécution. Recherchez dans la sortie les codes d’erreur spécifiques ou les échecs de connexion.
* **Journalisation personnalisée :** Utilisez `SetLoggingCallback` pour rediriger les messages de journalisation vers une fonction de rappel, interrompre leur affichage dans le terminal et permettre un traitement personnalisé des journaux
* **Contrôle de la journalisation :** Les applications peuvent contrôler le niveau et le degré de détail de la journalisation.
* **Interface utilisateur de Guardian Cloud**: Consultez l’interface Guardian Cloud pour obtenir des détails supplémentaires sur les erreurs et connaître l’état du provisionnement.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.medcrypt.com/fr/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-secureoperation.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
