signstar_crypto/key/import/
nethsm.rs1use base64ct::{Base64, Encoding};
4use nethsm_sdk_rs::models::KeyPrivateData;
5
6use crate::key::import::{PrivateKeyData, PrivateKeyImport};
7
8impl From<PrivateKeyImport> for KeyPrivateData {
9 fn from(value: PrivateKeyImport) -> Self {
10 match value.key_data {
11 PrivateKeyData::Rsa {
12 prime_p,
13 prime_q,
14 public_exponent,
15 } => KeyPrivateData {
16 prime_p: Some(Base64::encode_string(&prime_p)),
17 prime_q: Some(Base64::encode_string(&prime_q)),
18 public_exponent: Some(Base64::encode_string(&public_exponent)),
19 data: None,
20 },
21 PrivateKeyData::EcP256(data)
22 | PrivateKeyData::EcP384(data)
23 | PrivateKeyData::EcP521(data)
24 | PrivateKeyData::Curve25519(data) => KeyPrivateData {
25 prime_p: None,
26 prime_q: None,
27 public_exponent: None,
28 data: Some(Base64::encode_string(&data)),
29 },
30 }
31 }
32}