use super::{Signer, SignerError};
pub struct PhalaTeeSigner {
key_id: String,
}
impl PhalaTeeSigner {
pub fn from_env(_role: &str) -> Result<Self, SignerError> {
let key_id = std::env::var("SBO3L_PHALA_TEE_KEY_ID")
.map_err(|_| SignerError::MissingEnv("SBO3L_PHALA_TEE_KEY_ID"))?;
if key_id.is_empty() {
return Err(SignerError::MissingEnv("SBO3L_PHALA_TEE_KEY_ID"));
}
Ok(Self { key_id })
}
}
impl Signer for PhalaTeeSigner {
fn sign_hex(&self, _message: &[u8]) -> Result<String, SignerError> {
Err(SignerError::Kms(format!(
"phala_tee backend ({}) is a Phase 3 placeholder; real TEE wiring not in this build",
self.key_id
)))
}
fn verifying_key_hex(&self) -> Result<String, SignerError> {
Err(SignerError::Kms(format!(
"phala_tee backend ({}) is a Phase 3 placeholder; real TEE wiring not in this build",
self.key_id
)))
}
fn key_id(&self) -> &str {
&self.key_id
}
}