hsmtool/util/key/
mod.rs

1// Copyright lowRISC contributors (OpenTitan project).
2// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3// SPDX-License-Identifier: Apache-2.0
4
5use clap;
6use serde::{Deserialize, Serialize};
7
8pub mod ecdsa;
9pub mod mldsa;
10pub mod rsa;
11pub mod slhdsa;
12
13#[derive(clap::ValueEnum, Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
14pub enum KeyEncoding {
15    /// When saving, Pem means Pkcs8Pem.
16    #[serde(alias = "pem")]
17    Pem,
18    /// When saving, Der means Pkcs8Der.
19    #[serde(alias = "der")]
20    Der,
21    /// When saving, Pkcs1 means Pkcs1Pem.
22    #[serde(alias = "pkcs1")]
23    Pkcs1,
24    /// When saving, Pkcs8 means Pkcs8Pem.
25    #[serde(alias = "pkcs8")]
26    Pkcs8,
27    /// Pcks1 encoding in a PEM container.
28    #[serde(alias = "pkcs1-pem")]
29    Pkcs1Pem,
30    /// Pcks8 encoding in a PEM container.
31    #[serde(alias = "pkcs8-pem")]
32    Pkcs8Pem,
33    /// Pcks1 encoding in a DER container.
34    #[serde(alias = "pkcs1-der")]
35    Pkcs1Der,
36    /// Pcks8 encoding in a DER container.
37    #[serde(alias = "pkcs8-der")]
38    Pkcs8Der,
39}