функция CertStore_MoveCertificate

Заголовок: #include <applibs/certstore.h>

Переименовывает сертификат. Оба сертификата уже должны быть установлены в хранилище сертификатов.

int CertStore_MoveCertificate(const char *sourceIdentifier, const char *destIdentifier);

Параметры

  • sourceIdentifier Текущий идентификатор сертификата.

  • destIdentifier Новый идентификатор сертификата.

Ошибки

Возвращает значение -1 при обнаружении ошибки и задает errno значение ошибки.

  • EACCES: операция запрещена, так как возможность CertStore не задана в манифесте приложения.

  • EAGAIN: компонент хранилища сертификатов ОС еще не готов.

  • EFAULT: sourceIdentifier параметр или destIdentifier имеет значение NULL.

  • EINVAL: sourceIdentifier параметр или destIdentifier не является допустимым именем идентификатора.

  • ENOENT: сертификат с идентификатором sourceIdentifier не существует.

Можно также указать любой другой errno вариант. Такие ошибки не являются детерминированными, и нет никакой гарантии, что такое же поведение будет сохранено при обновлении системы.

Возвращаемое значение

Возвращает значение 0 для успешного выполнения или -1 для сбоя. В этом случае errno задается значение ошибки.

Требования к манифесту приложения

Манифест приложения должен включать возможность CertStore.

Замечания

Если какой-либо тип сертификата с идентификатором destIdentifier уже существует, он будет заменен содержимым сертификата по адресу sourceIdentifier, и sourceidentifier больше не будет существовать.

Осторожностью

Так как идентификаторы сертификатов являются общесистемными, az sphere команда или вызов функции, добавляющий новый сертификат, может перезаписать сертификат, добавленный ранее командой или вызовом функции, что может привести к сбоям сетевого подключения. Настоятельно рекомендуется разработать четкие процедуры обновления сертификатов и тщательно выбирать идентификаторы сертификатов.

Дополнительные сведения о том, как Azure Sphere использует идентификаторы сертификатов, см. в разделе Идентификаторы сертификатов.

Эта функция переименовывает сертификаты, но не обновляет конфигурации, в которых они используются. Чтобы использовать переименованные сертификаты, приложение должно перезагрузить конфигурацию Wi-Fi, вызвав WifiConfig_ReloadConfig. Wi-Fi конфигурации, использующие только sourceIdentifier , должны быть обновлены для использования допустимого идентификатора.