use super::Signature;
use crate::{
command::{self, Command},
object,
response::Response,
};
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug)]
pub(crate) struct SignEcdsaCommand {
pub key_id: object::Id,
pub digest: Vec<u8>,
}
impl Command for SignEcdsaCommand {
type ResponseType = SignEcdsaResponse;
}
#[derive(Serialize, Deserialize, Debug)]
pub struct SignEcdsaResponse(pub(crate) Signature);
impl Response for SignEcdsaResponse {
const COMMAND_CODE: command::Code = command::Code::SignEcdsa;
}
impl From<SignEcdsaResponse> for Signature {
fn from(response: SignEcdsaResponse) -> Signature {
response.0
}
}