apksig/
lib.rs

1//! # APK Signing Block
2//! This library is used to extract the APK Signing Block from an APK file.
3//!
4//! CLI usage:
5//! ```shell
6//! cargo install apksig
7//! apksig <filename>
8//! ```
9//!
10
11#![deny(
12    missing_docs,
13    clippy::all,
14    clippy::missing_docs_in_private_items,
15    clippy::missing_errors_doc,
16    clippy::missing_panics_doc,
17    clippy::cargo,
18    clippy::unwrap_used,
19    clippy::expect_used,
20    clippy::panic,
21    clippy::indexing_slicing,
22    // clippy::arithmetic_side_effects,
23    // clippy::pedantic,
24    clippy::nursery
25)]
26#![warn(clippy::multiple_crate_versions)]
27
28pub mod apk;
29pub mod common;
30pub mod signing_block;
31pub mod utils;
32pub mod zip;
33
34// re-export
35#[cfg(feature = "hash")]
36pub use signing_block::digest::digest_apk;
37
38pub use apk::Apk;
39pub use signing_block::algorithms::Algorithms;
40pub use signing_block::scheme_v2::{SIGNATURE_SCHEME_V2_BLOCK_ID, SignatureSchemeV2};
41pub use signing_block::scheme_v3::{SIGNATURE_SCHEME_V3_BLOCK_ID, SignatureSchemeV3};
42pub use signing_block::{
43    MAGIC, MAGIC_LEN, RawData, SigningBlock, ValueSigningBlock, scheme_v2, scheme_v3,
44};
45pub use utils::MyReader;
46
47// shortcuts
48use utils::add_space;