Compartir a través de


función CertStore_InstallRootCACertificate

Encabezado: #include <applibs/certstore.h>

Instala un certificado de CA raíz que consta de un certificado público en formato PEM y asigna un id. al certificado. El id. se puede utilizar para hacer referencia al certificado en otras funciones. Si ya hay algún tipo de certificado instalado con el mismo id., se reemplazará por el nuevo certificado.

int CertStore_InstallRootCACertificate(const char *identifier, const char *certBlob,
                                       size_t certBlobLength);

Parámetros

  • identifier El id. del certificado.

  • certBlob Puntero a un blob que contiene el certificado público en formato PEM.

  • certBlobLength La longitud del blob del certificado, sin incluir el carácter de terminador nulo.

Errores

Devuelve -1 si se encuentra un error y se establece errno en el valor de error.

  • EACCES: la operación no está permitida porque la funcionalidad CertStore no está establecida en el manifiesto de la aplicación.

  • EAGAIN: el componente de almacén de certificados de OS aún no está listo.

  • EFAULT: o certBlobidentifier es NULL.

  • EINVAL: el identifier parámetro no termina en NULL o certBlob incluye caracteres no válidos.

  • ENOSPC: no hay suficiente espacio en el almacenamiento de certificados para este certificado.

  • ERANGE: es certBlobLength cero o mayor que CERTSTORE_MAX_CERT_SIZE.

También se puede especificar cualquier otro errno error; estos errores no son deterministas y no hay ninguna garantía de que el mismo comportamiento se conservará a través de las actualizaciones del sistema.

Valor devuelto

Devuelve 0 para éxito o -1 para error, en cuyo caso errno se establece en el valor de error.

Observaciones

Un identificador válido debe ser una cadena única de uno a CERTSTORE_MAX_IDENTIFIER_LENGTH caracteres de longitud. Los siguientes caracteres son válidos en un identifer:

  • "A" a "Z"
  • De 'a' a 'z'
  • De '0' a '9'
  • '.' o '-' o '_'

Precaución

Dado que los identificadores de certificado son de todo el sistema, un az sphere comando o una llamada de función que agrega un certificado nuevo puede sobrescribir un certificado agregado por una llamada de función o comando anterior, lo que puede provocar errores en la conexión de red. Le recomendamos encarecidamente que desarrolle procedimientos claros de actualización de certificados y elija cuidadosamente los identificadores de certificado.

Consulte Identificadores de certificado para obtener más información sobre cómo Azure Sphere usa identificadores de certificado.

Requisitos del manifiesto de la aplicación

El manifiesto de la aplicación debe incluir la funcionalidad CertStore.