Skip to content

Commit e415ae1

Browse files
authored
Merges Axis public header file into signed_video_sign.h (#502)
Also, renames sv_axis_communications_internal.h to sv_axis_communications.h. Co-authored-by: bjornvolcker <[email protected]>
1 parent d5aef9f commit e415ae1

13 files changed

+41
-88
lines changed

lib/src/includes/signed_video_sign.h

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -513,6 +513,36 @@ signed_video_set_hash_algo(signed_video_t *self, const char *name_or_oid);
513513
SignedVideoReturnCode
514514
signed_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

lib/src/includes/sv_vendor_axis_communications.h

Lines changed: 0 additions & 75 deletions
This file was deleted.

lib/src/legacy/legacy_auth.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#include "legacy/legacy_tlv.h" // legacy_tlv_decode()
2828
#include "legacy_validation.h" // Has public declarations
2929
#include "sv_authenticity.h" // update_accumulated_validation()
30-
#include "sv_axis_communications_internal.h"
30+
#include "sv_axis_communications.h"
3131
#include "sv_openssl_internal.h" // sv_openssl_verify_hash()
3232
#include "sv_tlv.h" // sv_tlv_find_tag()
3333

lib/src/legacy/legacy_tlv.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
#include "includes/signed_video_common.h" // Return codes
2929
#include "includes/signed_video_openssl.h" // sign_or_verify_data_t
3030
#include "sv_authenticity.h" // allocate_memory_and_copy_string, transfer_product_info()
31-
#include "sv_axis_communications_internal.h"
31+
#include "sv_axis_communications.h"
3232
#include "sv_openssl_internal.h" // openssl_public_key_malloc()
3333
#include "sv_tlv.h" // sv_read_8bits, sv_read_16bits, sv_read_32bits, sv_read_64bits_signed
3434

lib/src/meson.build

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ signedvideoframework_public_headers = files(
55
'includes/signed_video_openssl.h',
66
'includes/signed_video_sign.h',
77
'includes/signed_video_signing_plugin.h',
8-
'includes/sv_vendor_axis_communications.h'
98
)
109

1110
signedvideoframework_sources = files(
@@ -14,7 +13,7 @@ signedvideoframework_sources = files(
1413
'sv_authenticity.c',
1514
'sv_authenticity.h',
1615
'sv_axis_communications.c',
17-
'sv_axis_communications_internal.h',
16+
'sv_axis_communications.h',
1817
'sv_bu_list.c',
1918
'sv_bu_list.h',
2019
'sv_codec_av1.c',

lib/src/sv_auth.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
#include "includes/signed_video_openssl.h" // pem_pkey_t, sign_or_verify_data_t
2626
#include "legacy_validation.h"
2727
#include "sv_authenticity.h" // sv_create_local_authenticity_report_if_needed()
28-
#include "sv_axis_communications_internal.h"
28+
#include "sv_axis_communications.h"
2929
#include "sv_bu_list.h" // bu_list_append()
3030
#include "sv_defines.h" // svrc_t
3131
#include "sv_internal.h" // gop_info_t, validation_flags_t

lib/src/sv_axis_communications.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1919
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2020
*/
21+
#include "sv_axis_communications.h"
22+
2123
#include <assert.h>
2224
#include <openssl/bio.h> // BIO_*
2325
#include <openssl/evp.h> // EVP_*
@@ -27,8 +29,7 @@
2729
#include <stdbool.h>
2830
#include <stdlib.h> // malloc, memcpy, calloc, free
2931

30-
#include "includes/sv_vendor_axis_communications.h"
31-
#include "sv_axis_communications_internal.h"
32+
#include "includes/signed_video_sign.h"
3233
#include "sv_internal.h" // signed_video_t
3334
#include "sv_tlv.h"
3435

@@ -829,7 +830,7 @@ get_axis_communications_certificate_chain(void *handle)
829830
return (const char *)self->certificate_chain;
830831
}
831832

832-
// Definitions of public APIs declared in sv_vendor_axis_communications.h.
833+
// Definitions of public APIs declared in signed_video_sign.h.
833834

834835
SignedVideoReturnCode
835836
sv_vendor_axis_communications_set_attestation_report(signed_video_t *sv,

lib/src/sv_common.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
#include "includes/signed_video_openssl.h" // pem_pkey_t, sign_or_verify_data_t
3434
#include "includes/signed_video_signing_plugin.h"
3535
#include "sv_authenticity.h" // sv_latest_validation_init()
36-
#include "sv_axis_communications_internal.h"
36+
#include "sv_axis_communications.h"
3737
#include "sv_bu_list.h" // bu_list_create(), bu_list_free()
3838
#include "sv_codec_internal.h" // parse_h264_nalu_header(), parse_av1_obu_header()
3939
#include "sv_defines.h" // svrc_t

lib/src/sv_sign.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#include "includes/signed_video_sign.h"
2828
#include "includes/signed_video_signing_plugin.h"
2929
#include "sv_authenticity.h" // allocate_memory_and_copy_string
30-
#include "sv_axis_communications_internal.h"
30+
#include "sv_axis_communications.h"
3131
#include "sv_codec_internal.h" // METADATA_TYPE_USER_PRIVATE
3232
#include "sv_defines.h" // svrc_t, sv_tlv_tag_t
3333
#include "sv_internal.h" // gop_info_t

0 commit comments

Comments
 (0)