blob: ad51b61ccc52dba66ab5236cd2cda48a8be59f6e [file] [log] [blame]
Alice Wangc8f88f52023-09-25 14:02:17 +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//! Safe wrappers around the BoringSSL API.
16
17#![cfg_attr(not(feature = "std"), no_std)]
18
Alice Wangb3fcf632023-09-26 08:32:55 +000019extern crate alloc;
20
Alice Wang69b088f2023-09-27 12:54:05 +000021mod aead;
Alice Wangc8f88f52023-09-25 14:02:17 +000022mod cbb;
Alice Wang000595b2023-10-02 13:46:45 +000023mod cbs;
Alice Wang3397b362023-12-01 13:57:10 +000024mod curve25519;
Alice Wang709cce92023-09-26 10:30:21 +000025mod digest;
Alice Wangb3fcf632023-09-26 08:32:55 +000026mod ec_key;
Alice Wang47287e72023-09-29 13:14:33 +000027mod err;
Alice Wang600ea5b2023-11-17 15:12:16 +000028mod evp;
Alice Wangf1a83b02023-09-26 12:39:17 +000029mod hkdf;
Alice Wang709cce92023-09-26 10:30:21 +000030mod hmac;
Alice Wang8b8e6e62023-10-02 09:10:13 +000031mod rand;
Alice Wang0271ee02023-11-15 15:03:42 +000032mod sha;
Alice Wang815d3682023-09-28 08:30:40 +000033mod util;
Alice Wangc8f88f52023-09-25 14:02:17 +000034
Alice Wang0271ee02023-11-15 15:03:42 +000035pub use bssl_avf_error::{ApiName, CipherError, EcError, EcdsaError, Error, ReasonCode, Result};
Alice Wang47287e72023-09-29 13:14:33 +000036
Alice Wang78b35f82023-10-06 11:57:35 +000037pub use aead::{Aead, AeadContext, AES_GCM_NONCE_LENGTH};
Alice Wangc8f88f52023-09-25 14:02:17 +000038pub use cbb::CbbFixed;
Alice Wang000595b2023-10-02 13:46:45 +000039pub use cbs::Cbs;
Alice Wang3397b362023-12-01 13:57:10 +000040pub use curve25519::ed25519_verify;
Alice Wangf1a83b02023-09-26 12:39:17 +000041pub use digest::Digester;
Alice Wangb3fcf632023-09-26 08:32:55 +000042pub use ec_key::{EcKey, ZVec};
Alice Wang7468ae42023-11-30 10:20:36 +000043pub use evp::{PKey, PKeyType};
Alice Wangf1a83b02023-09-26 12:39:17 +000044pub use hkdf::hkdf;
Alice Wang709cce92023-09-26 10:30:21 +000045pub use hmac::hmac_sha256;
Alice Wang8b8e6e62023-10-02 09:10:13 +000046pub use rand::rand_bytes;
Alice Wang0271ee02023-11-15 15:03:42 +000047pub use sha::sha256;