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 rsa;
10
11#[derive(clap::ValueEnum, Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
12pub enum KeyEncoding {
13    /// When saving, Pem means Pkcs8Pem.
14    #[serde(alias = "pem")]
15    Pem,
16    /// When saving, Der means Pkcs8Der.
17    #[serde(alias = "der")]
18    Der,
19    /// When saving, Pkcs1 means Pkcs1Pem.
20    #[serde(alias = "pkcs1")]
21    Pkcs1,
22    /// When saving, Pkcs8 means Pkcs8Pem.
23    #[serde(alias = "pkcs8")]
24    Pkcs8,
25    /// Pcks1 encoding in a PEM container.
26    #[serde(alias = "pkcs1-pem")]
27    Pkcs1Pem,
28    /// Pcks8 encoding in a PEM container.
29    #[serde(alias = "pkcs8-pem")]
30    Pkcs8Pem,
31    /// Pcks1 encoding in a DER container.
32    #[serde(alias = "pkcs1-der")]
33    Pkcs1Der,
34    /// Pcks8 encoding in a DER container.
35    #[serde(alias = "pkcs8-der")]
36    Pkcs8Der,
37}