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
certBlob
identifier
es NULL.EINVAL: el
identifier
parámetro no termina en NULL ocertBlob
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.