Branch data Line data Source code
1 : : /* 2 : : Copyright (c) 2021 Fraunhofer AISEC. See the COPYRIGHT 3 : : file at the top-level directory of this distribution. 4 : : 5 : : Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or 6 : : http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 7 : : <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your 8 : : option. This file may not be copied, modified, or distributed 9 : : except according to those terms. 10 : : */ 11 : : 12 : : #include <stdint.h> 13 : : 14 : : #include "edhoc.h" 15 : : 16 : : #include "edhoc/hkdf_info.h" 17 : : #include "edhoc/okm.h" 18 : : #include "edhoc/suites.h" 19 : : 20 : : #include "common/crypto_wrapper.h" 21 : : #include "common/oscore_edhoc_error.h" 22 : : 23 : 5 : enum err prk_out2exporter(enum hash_alg app_hash_alg, 24 : : struct byte_array *prk_out, 25 : : struct byte_array *prk_exporter) 26 : : { 27 : 5 : return edhoc_kdf(app_hash_alg, prk_out, PRK_exporter, &NULL_ARRAY, 28 : : prk_exporter); 29 : : } 30 : : 31 : 1 : enum err prk_out_update(enum hash_alg app_hash_alg, struct byte_array *prk_out, 32 : : struct byte_array *context, 33 : : struct byte_array *prk_out_new) 34 : : { 35 : 1 : return edhoc_kdf(app_hash_alg, prk_out, PRK_out_update, context, 36 : : prk_out_new); 37 : : } 38 : : 39 : 10 : enum err edhoc_exporter(enum hash_alg app_hash_alg, enum export_label label, 40 : : struct byte_array *prk_exporter, struct byte_array *out) 41 : : { 42 : 10 : return edhoc_kdf(app_hash_alg, prk_exporter, label, &NULL_ARRAY, out); 43 : : }