blob: 6d082b89f700ababd4c137223c1a330724a9f7e9 [file] [log] [blame]
Alice Wang0b9e1102023-02-02 09:57:06 +00001// Copyright 2023, The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15//! Implements safe wrappers around the public API of libopen-dice for
16//! both std and nostd usages.
17
18#![cfg_attr(not(feature = "std"), no_std)]
19
Alice Wang856d6562023-02-03 13:51:08 +000020#[cfg(not(feature = "std"))]
21extern crate core as std;
22
Alice Wang9c40eca2023-02-03 13:10:24 +000023mod bcc;
Alice Wang0b9e1102023-02-02 09:57:06 +000024mod dice;
Alice Wang856d6562023-02-03 13:51:08 +000025mod error;
Alice Wang24954b42023-02-06 10:03:45 +000026mod ops;
Alice Wang9c40eca2023-02-03 13:10:24 +000027#[cfg(feature = "std")]
28mod retry;
Alice Wang0b9e1102023-02-02 09:57:06 +000029
Alice Wang1a933a82023-02-14 11:02:51 +000030pub use bcc::{
31 bcc_format_config_descriptor, bcc_handover_main_flow, bcc_handover_parse, bcc_main_flow,
Alan Stokes82b12392023-08-22 14:39:29 +010032 BccHandover, DiceConfigValues,
Alice Wang1a933a82023-02-14 11:02:51 +000033};
Alice Wang3213d492023-02-03 15:52:18 +000034pub use dice::{
Alice Wang44f48b22023-02-09 09:51:22 +000035 derive_cdi_certificate_id, derive_cdi_private_key_seed, dice_main_flow, Cdi, CdiValues, Config,
Alice Wangf59662d2023-02-10 16:07:56 +000036 DiceArtifacts, DiceMode, Hash, Hidden, InlineConfig, InputValues, PrivateKey, PrivateKeySeed,
37 PublicKey, Signature, CDI_SIZE, HASH_SIZE, HIDDEN_SIZE, ID_SIZE, PRIVATE_KEY_SEED_SIZE,
Alice Wang3213d492023-02-03 15:52:18 +000038};
Alice Wangef999242023-05-22 11:14:59 +000039pub use error::{DiceError, Result};
Alice Wangf59662d2023-02-10 16:07:56 +000040pub use ops::{generate_certificate, hash, kdf, keypair_from_seed, sign, verify};
Alice Wang9c40eca2023-02-03 13:10:24 +000041#[cfg(feature = "std")]
Alice Wang44f48b22023-02-09 09:51:22 +000042pub use retry::{
43 retry_bcc_format_config_descriptor, retry_bcc_main_flow, retry_dice_main_flow,
Alice Wang4d611772023-02-13 09:45:21 +000044 retry_generate_certificate, OwnedDiceArtifacts,
Alice Wang44f48b22023-02-09 09:51:22 +000045};