@@ -513,6 +513,36 @@ signed_video_set_hash_algo(signed_video_t *self, const char *name_or_oid);
513513SignedVideoReturnCode
514514signed_viedo_set_max_signing_frames (signed_video_t * self , unsigned max_signing_frames );
515515
516+ /**
517+ * @brief Sets an attestation report to the Signed Video session
518+ *
519+ * The attestation report is defined as the Public key |attestation| and a
520+ * |certificate_chain|. This attestation report is stored and added to the generated SEI
521+ * as optional metadata, that is, metadata that is not always present.
522+ *
523+ * This API must be called before the session starts to have an impact.
524+ *
525+ * Excluding |attestation| implies that the signing key is factory provisioned and an
526+ * attestation is not needed. Leave out |attestation| with a NULL pointer.
527+ * It is assumed that the |attestation| is at most 255 bytes large, hence
528+ * |attestation_size| fits in a single byte.
529+ *
530+ * @param sv Pointer to the Signed Video session.
531+ * @param attestation Pointer to the key attestation. A NULL means that the signing key is
532+ * factory provisioned.
533+ * @param attestation_size The size of the key attestation. Set to 0 if no attestation
534+ * should be set.
535+ * @param certificate_chain Pointer to the certificate chain. SV_NOT_SUPPORTED is returned
536+ * if an attempt to replace an existing certificate_chain is made.
537+ *
538+ * @return SV_OK upon success, otherwise an appropriate error.
539+ */
540+ SignedVideoReturnCode
541+ sv_vendor_axis_communications_set_attestation_report (signed_video_t * sv ,
542+ const void * attestation ,
543+ uint8_t attestation_size ,
544+ const char * certificate_chain );
545+
516546#ifdef __cplusplus
517547}
518548#endif
0 commit comments